plutus-core-1.36.0.0: Language library for Plutus Core
Safe HaskellSafe-Inferred
LanguageHaskell2010

PlutusIR.Compiler.Recursion

Description

Functions for compiling PIR recursive let-bound functions into PLC.

Synopsis

Documentation

compileRecTermsCompiling m e uni fun a ⇒ PIRTerm uni fun a → NonEmpty (TermDef TyName Name uni fun (Provenance a)) → DefT SharedName uni fun (Provenance a) m (PIRTerm uni fun a) Source #

Compile a mutually recursive list of var decls bound in a body.

mkFixpoint ∷ ∀ m e uni fun a. Compiling m e uni fun a ⇒ NonEmpty (TermDef TyName Name uni fun (Provenance a)) → DefT SharedName uni fun (Provenance a) m (Tuple (Term TyName Name uni fun) uni (Provenance a)) Source #

Given a list of var decls, create a tuples of values that computes their mutually recursive fixpoint.