Safe Haskell | None |
---|---|
Language | Haskell2010 |
Type checker for defined syntax constructors define f xs = e
.
Synopsis
- runTypeChecker :: Err a -> Either String a
- checkDefinitions :: CF -> Err ()
- data Base
- checkDefinition' :: ListConstructors -> Context -> RFun -> [String] -> Exp -> Err (Telescope, (Exp, Base))
- buildSignature :: [Rule] -> Err Signature
- buildContext :: CF -> Context
- ctxTokens :: Context -> [String]
- isToken :: String -> Context -> Bool
- data ListConstructors = LC (Base -> String) (Base -> String)
Type checker entry point
runTypeChecker :: Err a -> Either String a Source #
checkDefinitions :: CF -> Err () Source #
Entry point.
Backdoor for rechecking defined syntax constructors for list types
buildSignature :: [Rule] -> Err Signature Source #
Create context containing the types of all labels, computed from the rules.
Fail if a label is used at different types.
buildContext :: CF -> Context Source #