SIR

scalus.sir.SIR
enum SIR

Attributes

Graph
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
case Var
case Let
case LamAbs
case Apply
case Const
case And
case Or
case Not
case Builtin
case Error
case Decl
case Constr
case Match

Members list

Concise view

Type members

Enum entries

final case class And(a: SIR, b: SIR) extends SIR
final case class Apply(f: SIR, arg: SIR) extends SIR
final case class Builtin(bn: DefaultFun) extends SIR
final case class Const(const: Constant) extends SIR
final case class Constr(name: String, data: DataDecl, args: List[SIR]) extends SIR
final case class Decl(data: DataDecl, term: SIR) extends SIR
final case class Error(msg: String) extends SIR
final case class ExternalVar(moduleName: String, name: String) extends SIR
final case class IfThenElse(cond: SIR, t: SIR, f: SIR) extends SIR
final case class LamAbs(name: String, term: SIR) extends SIR
final case class Let(recursivity: Recursivity, bindings: List[Binding], body: SIR) extends SIR
final case class Match(scrutinee: SIR, cases: List[Case]) extends SIR
final case class Not(a: SIR) extends SIR
final case class Or(a: SIR, b: SIR) extends SIR
final case class Var(name: String) extends SIR