Safe Haskell | None |
---|
Desugars a reasonable amount of syntax to reduce duplication in code generation.
- desugar :: (Data l, Typeable l) => l -> Module l -> IO (Either CompileError (Module l))
- desugar' :: (Data l, Typeable l) => String -> l -> Module l -> IO (Either CompileError (Module l))
- desugarExpParen :: (Data l, Typeable l) => Module l -> Module l
- desugarPatParen :: (Data l, Typeable l) => Module l -> Module l
Documentation
desugar :: (Data l, Typeable l) => l -> Module l -> IO (Either CompileError (Module l))Source
Top level, desugar a whole module possibly returning errors
desugar' :: (Data l, Typeable l) => String -> l -> Module l -> IO (Either CompileError (Module l))Source
Desugar with the option to specify a prefix for generated names. Useful if you want to provide valid haskell name that HSE can print.
desugarExpParen :: (Data l, Typeable l) => Module l -> Module lSource
(a) => a for patterns
desugarPatParen :: (Data l, Typeable l) => Module l -> Module lSource