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

PlutusIR.Generators.AST

Description

This module defines generators for PIR syntax trees for testing purposes. It should only contain those generators that can't be reused from PLC (PIR-exclusive constructs, Term, and Program)

Synopsis

Documentation

type AstGen = GenT (Reader [Name]) Source #

The monad that generators run in. The environment is a list of names to choose from for generation of variables and binders.

simpleRecursive ∷ MonadGen m ⇒ [m a] → [m a] → m a Source #

runAstGen ∷ MonadGen m ⇒ AstGen a → m a Source #

genBuiltin ∷ (MonadGen m, Bounded fun, Enum fun) ⇒ m fun Source #

regenConstantsUntil ∷ MonadGen m ⇒ (Some (ValueOf DefaultUni) → Bool) → Program tyname name DefaultUni fun ann → m (Program tyname name DefaultUni fun ann) Source #