License | BSD-3-Clause |
---|---|
Maintainer | Jamie Willis |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Exposes the letRec
function, used to provide a recursive group of bindings
for the top level of a parser.
Since: 1.0.0.0
Documentation
:: GCompare key | |
=> DMap key (LetBinding o a) | The bindings that should form part of the recursive group |
-> (forall x. key x -> String) | A function which can give a name to a key in the map |
-> (forall x rs. key x -> Binding o a x -> Regs rs -> DMap key (QSubroutine s o a) -> Metadata -> Code (Func rs s o a x)) | How a binding - and their free registers - should be converted into code |
-> (DMap key (QSubroutine s o a) -> Code b) | How to produce the top-level binding given the compiled bindings, i.e. the |
-> Code b |
Given a collection of bindings, generates a recursive binding group where each is allowed to refer to every other. These are then in scope for the top-level parser.
Since: 1.5.0.0