License | BSD-3-Clause |
---|---|
Maintainer | Jamie Willis |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Definitions for various encapsulating datatypes for machines, and defining free registers.
Since: 1.0.0.0
Documentation
data LetBinding o a x Source #
Packages a binding along with its free registers that are required
for it, which are left existential. This is possible since the Regs
datatype serves as a singleton-style witness of the original registers
and their types.
Since: 1.4.0.0
LetBinding (Binding o a x) (Some Regs) |
data Regs (rs :: [Type]) where Source #
Represents a collection of free registers, preserving their type information as a heterogeneous list.
Since: 1.0.0.0
makeLetBinding :: Binding o a x -> Set SomeΣVar -> LetBinding o a x Source #
Given a Binding
and a set of existential ΣVar
s, produces a
LetBinding
instance.
Since: 1.4.0.0