Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
re-export custom data types that are generally useful for me.
the newtype
s 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 #