scalus.sir

package scalus.sir

Members list

Type members

Classlikes

case class Binding(name: String, value: SIR)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Case(constr: ConstrDecl, bindings: List[String], body: SIR)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ConstrDecl(name: String, params: List[String])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class DataDecl(name: String, constructors: List[ConstrDecl])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object EtaReduce

Performs eta-reduction on a term.

Performs eta-reduction on a term.

Attributes

See also
Supertypes
class Object
trait Matchable
class Any
Self type
EtaReduce.type

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Module(version: (Int, Int), defs: List[Binding])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
class OptimizingSirToUplcLowering(sir: SIR, generateErrorTraces: Boolean, forceBuiltins: ForceBuiltins)

Lowering from Scalus Intermediate Representation SIR to UPLC Term.

Lowering from Scalus Intermediate Representation SIR to UPLC Term.

Value parameters

forceBuiltins

generate variables for forced builtins

generateErrorTraces

whether to generate error traces

sir

the Scalus Intermediate Representation to lower

Attributes

Supertypes
class Object
trait Matchable
class Any
object PrettyPrinter

Pretty printers.

Pretty printers.

  • Use pretty to pretty print to a org.typelevel.paiges.Doc.
  • Use prettyXTerm to pretty print to a org.typelevel.paiges.Doc with syntax highlighting for XTerm.

For example:

PrettyPrinter.prettyXTerm(sir).render(80)
// renders a single line if possible
PrettyPrinter.pretty(sir).flatten.render(120)

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case class Program(version: (Int, Int, Int), term: SIR)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
enum SIR

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class Var
class ExternalVar
class Let
class LamAbs
class Apply
class Const
class And
class Or
class Not
class IfThenElse
class Builtin
class Error
class Decl
class Constr
class Match
Show all
class SimpleSirToUplcLowering(sir: SIR, generateErrorTraces: Boolean)

Lowering from Scalus Intermediate Representation SIR to UPLC Term.

Lowering from Scalus Intermediate Representation SIR to UPLC Term.

Value parameters

generateErrorTraces

whether to generate error traces

sir

the Scalus Intermediate Representation to lower

Attributes

Supertypes
class Object
trait Matchable
class Any
object SirDSL

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
SirDSL.type