plutus-core
Safe HaskellNone
LanguageHaskell2010

PlutusCore.Compiler

Synopsis

Documentation

compileTerm :: forall m (uni :: Type -> Type) fun name a tyname. (Compiling m uni fun name a, MonadReader (CompilationOpts name fun a) m) => Term tyname name uni fun a -> m (Term name uni fun a) Source #

Compile a PLC term to UPLC, and optimize it.

compileProgram :: forall m (uni :: Type -> Type) fun name a tyname. (Compiling m uni fun name a, MonadReader (CompilationOpts name fun a) m) => Program tyname name uni fun a -> m (Program name uni fun a) Source #

Compile a PLC program to UPLC, and optimize it.

compileProgramWithTrace :: forall m (uni :: Type -> Type) fun name a tyname. (Compiling m uni fun name a, MonadReader (CompilationOpts name fun a) m) => Program tyname name uni fun a -> m (Program name uni fun a, SimplifierTrace name uni fun a) Source #

Compile a PLC program to UPLC, and optimize it. This includes the compilation trace in the result.