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
case Var
case Let
case LamAbs
case Apply
case Const
case And
case Or
case Not
case IfThenElse
case Builtin
case Error
case Decl
case Constr
case 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