djinn-lib-0.0.1.3: Generate Haskell code from a type. Library extracted from djinn package.

Safe Haskell | Safe
Language | Haskell98

Djinn.HTypes

# Documentation

data HKind Source #

Constructors

KStar |
KArrow HKind HKind |
KVar Int |

Instances

Eq HKind Source # |
Instance details Defined in Djinn.HTypes Methods (==) :: HKind -> HKind -> Bool Source # (/=) :: HKind -> HKind -> Bool Source #
Show HKind Source # |
Instance details Defined in Djinn.HTypes Methods showsPrec :: Int -> HKind -> ShowS Source # show :: HKind -> String Source # showList :: [HKind] -> ShowS Source #

data HType Source #

Constructors

HTApp HType HType |
HTVar HSymbol |
HTCon HSymbol |
HTTuple [HType] |
HTArrow HType HType |
HTUnion [(HSymbol, [HType])] |
HTAbstract HSymbol HKind |

Instances

Eq HType Source # |
Instance details Defined in Djinn.HTypes Methods (==) :: HType -> HType -> Bool Source # (/=) :: HType -> HType -> Bool Source #
Read HType Source # |
Instance details Defined in Djinn.HTypes Methods readsPrec :: Int -> ReadS HType Source # readList :: ReadS [HType] Source # readPrec :: ReadPrec HType Source # readListPrec :: ReadPrec [HType] Source #
Show HType Source # |
Instance details Defined in Djinn.HTypes Methods showsPrec :: Int -> HType -> ShowS Source # show :: HType -> String Source # showList :: [HType] -> ShowS Source #

type HSymbol = String Source #

hTypeToFormula :: [(HSymbol, ([HSymbol], HType, a))] -> HType -> Formula Source #

pHSymbol :: Bool -> ReadP HSymbol Source #

pHType :: ReadP HType Source #

pHDataType :: ReadP HType Source #

pHTAtom :: ReadP HType Source #

pHKind :: ReadP HKind Source #

prHSymbolOp :: HSymbol -> String Source #

htNot :: HSymbol -> HType Source #

isHTUnion :: HType -> Bool Source #

getHTVars :: HType -> [HSymbol] Source #

substHT :: [(HSymbol, HType)] -> HType -> HType Source #

data HClause Source #

Constructors

HClause HSymbol [HPat] HExpr |

Instances

Eq HClause Source # |
Instance details Defined in Djinn.HTypes Methods (==) :: HClause -> HClause -> Bool Source # (/=) :: HClause -> HClause -> Bool Source #
Show HClause Source # |
Instance details Defined in Djinn.HTypes Methods showsPrec :: Int -> HClause -> ShowS Source # show :: HClause -> String Source # showList :: [HClause] -> ShowS Source #

data HPat Source #

Constructors

HPVar HSymbol |
HPCon HSymbol |
HPTuple [HPat] |
HPAt HSymbol HPat |
HPApply HPat HPat |

Instances

Eq HPat Source # |
Instance details Defined in Djinn.HTypes Methods (==) :: HPat -> HPat -> Bool Source # (/=) :: HPat -> HPat -> Bool Source #
Show HPat Source # |
Instance details Defined in Djinn.HTypes Methods showsPrec :: Int -> HPat -> ShowS Source # show :: HPat -> String Source # showList :: [HPat] -> ShowS Source #

data HExpr Source #

Constructors

HELam [HPat] HExpr |
HEApply HExpr HExpr |
HECon HSymbol |
HEVar HSymbol |
HETuple [HExpr] |
HECase HExpr [(HPat, HExpr)] |

Instances

Eq HExpr Source # |
Instance details Defined in Djinn.HTypes Methods (==) :: HExpr -> HExpr -> Bool Source # (/=) :: HExpr -> HExpr -> Bool Source #
Show HExpr Source # |
Instance details Defined in Djinn.HTypes Methods showsPrec :: Int -> HExpr -> ShowS Source # show :: HExpr -> String Source # showList :: [HExpr] -> ShowS Source #

hPrClause :: HClause -> String Source #

hPrExpr :: HExpr -> String Source #

termToHExpr :: Term -> HExpr Source #

termToHClause :: HSymbol -> Term -> HClause Source #

getBinderVars :: HClause -> [HSymbol] Source #