Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module provides combinators for constructing Haskell types.
Synopsis
- type HsType' = HsType GhcPs
- tyPromotedVar :: RdrNameStr -> HsType'
- stringTy :: String -> HsType'
- numTy :: Integer -> HsType'
- listTy :: HsType' -> HsType'
- listPromotedTy :: [HsType'] -> HsType'
- tuplePromotedTy :: [HsType'] -> HsType'
- (-->) :: HsType' -> HsType' -> HsType'
- forall' :: [HsTyVarBndrS'] -> HsType' -> HsType'
- type HsTyVarBndr' = HsTyVarBndr GhcPs
- (==>) :: [HsType'] -> HsType' -> HsType'
- kindedVar :: OccNameStr -> HsType' -> HsTyVarBndr'
Documentation
tyPromotedVar :: RdrNameStr -> HsType' Source #
A promoted name, for example from the DataKinds
extension.
listPromotedTy :: [HsType'] -> HsType' Source #
tuplePromotedTy :: [HsType'] -> HsType' Source #
(-->) :: HsType' -> HsType' -> HsType' infixr 0 Source #
A function type.
a -> b ===== var "a" --> var "b"
forall' :: [HsTyVarBndrS'] -> HsType' -> HsType' Source #
A type variable binding.
forall a . T a ===== forall' [bvar "a"] $ var "T" @@ var "a"
type HsTyVarBndr' = HsTyVarBndr GhcPs Source #
(==>) :: [HsType'] -> HsType' -> HsType' infixr 0 Source #
Qualify a type with constraints.
(F x, G x) => x ===== [var "F" @@ var "x", var "G" @@ var "x"] ==> var "x"
kindedVar :: OccNameStr -> HsType' -> HsTyVarBndr' Source #
A type variable with a kind signature.
x :: A ===== kindedVar "x" (var "A")