plutus-core-1.30.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 #

genVersion ∷ MonadGen m ⇒ m Version Source #

genBuiltin ∷ (Bounded fun, Enum fun) ⇒ AstGen fun Source #

genRecursivity ∷ MonadGen m ⇒ m Recursivity Source #