Safe Haskell | None |
---|---|
Language | Haskell98 |
Source Tetra conversion to Disciple Core Tetra language.
- type ConvertM a x = Either (ErrorConvert a) x
- data ErrorConvert l
- coreOfSourceModule :: SP -> Module Source -> Either (ErrorConvert Source) (Module SP Name)
- runConvertM :: ConvertM a x -> Either (ErrorConvert a) x
Documentation
type ConvertM a x = Either (ErrorConvert a) x Source #
data ErrorConvert l Source #
Things that can go wrong when converting source to core.
ErrorConvertSugaredExp (GExp l) | Cannot convert sugared expression to core. This should have been desugared in a prior pass. |
ErrorConvertSugaredLets (GLets l) | Cannot convert sugared let bindings to core. This should have been desugared in a prior pass. |
ErrorConvertSugaredClause (GClause l) | Cannot convert sugared clause to core. This should have been desugared in a prior pass. |
ErrorMultipleSignatures SourcePos (GXBindVar l) | Found multiple type signatures for the same binder. This should have been desugared in a prior pass. |
ErrorTypeSignatureLacksBinding SourcePos (GXBindVar l) | Type signature lacks associated value-level binding. |
PrettyLanguage l => Pretty (ErrorConvert l) Source # | |
coreOfSourceModule :: SP -> Module Source -> Either (ErrorConvert Source) (Module SP Name) Source #
Convert a Source Tetra module to Core Tetra.
runConvertM :: ConvertM a x -> Either (ErrorConvert a) x Source #
Run a conversion computation.