| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Unison.Runtime.ANF.Convert
Description
Compiling Unison terms to ANF: closure conversion, lambda lifting and the translation itself. The ANF it produces, and everything the runtime does with it, is in Unison.Runtime.ANF.
Documentation
prettyFloatName :: Var v => PrettyPrintEnv -> FloatName v -> Pretty ColorText Source #
float :: (Var v, Monoid a) => Map v Reference -> Term v a -> (Term v a, Map Reference Reference, Map Reference (FloatName v), [(Reference, Term v a)], [(Reference, Term v a)]) Source #
floatGroup :: (Var v, Monoid a) => Map v Reference -> [(v, Term v a)] -> ([(v, Id)], [(Reference, FloatName v)], [(Reference, Term v a)], [(Reference, Term v a)]) Source #
lamLift :: (Var v, Monoid a) => Map v Reference -> Term v a -> (Term v a, Map Reference Reference, Map Reference (FloatName v), [(Reference, Term v a)], [(Reference, Term v a)]) Source #
lamLiftGroup :: (Var v, Monoid a) => Map v Reference -> [(v, Term v a)] -> ([(v, Id)], [(Reference, FloatName v)], [(Reference, Term v a)], [(Reference, Term v a)]) Source #
superNormalize :: Var v => Term v a -> SuperGroup Reference v Source #