| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Prelude.Spiros.Types
Description
re-export custom data types that are generally useful for me.
the newtypes distinguish them with more meaningful names (of constructors, accessors, transformers, etc), but still support the convenience of automatically deriving as many instances as correct.
Synopsis
- type (:~>) f g = forall x. f x -> g x
- type (:.) f g x = f (g x)
- type (:.:) = Compose
- type (:*:) = Product
- type (:+:) = Sum
- type P = Proxy
- type C = Const
- type I = Identity
- type HaskellName = Name
- type CanInterpolate t = (IsString t, Monoid t)
- type BoundedEnum a = (Enum a, Bounded a)
- type List a = [a]
- pattern (:*:) :: f a -> g a -> Product f g a
- pattern P :: forall (a :: k). Proxy a
- pattern C :: forall a b. a -> Const a b
- pattern I :: a -> Identity a
- type LazyBytes = ByteString
- type StrictBytes = ByteString
- type LazyText = Text
- type StrictText = Text
Documentation
type HaskellName = Name Source #
a haskell identifier, via TemplateHaskellQuotes.
> :set -XTemplateHaskellQuotes
> 'fmap :: HaskellName
type CanInterpolate t = (IsString t, Monoid t) Source #
for `interpolatedstring-perl6`
i.e. the type supports string literals (via IsString) and can be appended (via Monoid).
uses ConstraintKinds.
e.g.
-- -XQuasiQuotes import Text.InterpolatedString.Perl6 (qq) hello :: (CanInterpolate t) => t -> t hello t = [qc| "hello" ++ $t |] helloworld = hello "world" :: String
type BoundedEnum a = (Enum a, Bounded a) Source #
a finite type, whose values may be enumerated into a finite list.
type LazyBytes = ByteString Source #
type StrictBytes = ByteString Source #
type StrictText = Text Source #