Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data CompiledLambda where
- CompiledLambda :: (Typeable arg, Typeable res, Typeable extra) => {..} -> CompiledLambda
- data Lambda1Def where
- LambdaPure1Def :: (Typeable res, CreateLambdaPure1C arg res) => {..} -> Lambda1Def
- Lambda1Def :: (Typeable res, CreateLambda1C st arg res) => {..} -> Lambda1Def
- LambdaEff1Def :: (Typeable res, CreateLambdaEff1C st arg res) => {..} -> Lambda1Def
- collectLambdas :: forall a. IndigoM a -> Set Lambda1Def
Documentation
data CompiledLambda where Source #
CompiledLambda | |
|
data Lambda1Def where Source #
LambdaPure1Def | |
| |
Lambda1Def | |
| |
LambdaEff1Def | |
|
Instances
Eq Lambda1Def Source # | |
Defined in Indigo.Compilation.Lambda (==) :: Lambda1Def -> Lambda1Def -> Bool # (/=) :: Lambda1Def -> Lambda1Def -> Bool # | |
Ord Lambda1Def Source # | |
Defined in Indigo.Compilation.Lambda compare :: Lambda1Def -> Lambda1Def -> Ordering # (<) :: Lambda1Def -> Lambda1Def -> Bool # (<=) :: Lambda1Def -> Lambda1Def -> Bool # (>) :: Lambda1Def -> Lambda1Def -> Bool # (>=) :: Lambda1Def -> Lambda1Def -> Bool # max :: Lambda1Def -> Lambda1Def -> Lambda1Def # min :: Lambda1Def -> Lambda1Def -> Lambda1Def # |
collectLambdas :: forall a. IndigoM a -> Set Lambda1Def Source #
Collect all used lambdas in a computation (which might be either a contract body or another function body), which are called at least twice. Only outer functions will be gathered, for instance, if we call lambda func1 from func0, only func0 will be taken.