SIR

scalus.sir.SIR
See theSIR companion trait
object SIR

Attributes

Companion
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
SIR.type

Members list

Type members

Classlikes

case class And(a: SIR, b: SIR, anns: AnnotationsDecl) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class Apply(f: SIR, arg: SIR, tp: SIRType, anns: AnnotationsDecl) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class Builtin(bn: DefaultFun, tp: SIRType, anns: AnnotationsDecl) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class Case(pattern: Pattern, body: SIR)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Const(uplcConst: Constant, tp: SIRType, anns: AnnotationsDecl) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class Constr(name: String, data: DataDecl, args: List[SIR], tp: SIRType, anns: AnnotationsDecl) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class Decl(data: DataDecl, term: SIR) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class Error(msg: String, anns: AnnotationsDecl, cause: Throwable | Null) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class ExternalVar(moduleName: String, name: String, tp: SIRType, anns: AnnotationsDecl) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class IfThenElse(cond: SIR, t: SIR, f: SIR, tp: SIRType, anns: AnnotationsDecl) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class LamAbs(param: Var, term: SIR, anns: AnnotationsDecl) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class Let(recursivity: Recursivity, bindings: List[Binding], body: SIR, anns: AnnotationsDecl) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class Match(scrutinee: SIR, cases: List[Case], tp: SIRType, anns: AnnotationsDecl) extends SIR

Match expression.

Match expression.

Value parameters

tp

- resulting type of Match expression, can be calculated as max(tp of all cases)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class Not(a: SIR, anns: AnnotationsDecl) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class Or(a: SIR, b: SIR, anns: AnnotationsDecl) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
enum Pattern

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Select(scrutinee: SIR, field: String, tp: SIRType, anns: AnnotationsDecl) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class Var(name: String, tp: SIRType, anns: AnnotationsDecl) extends SIR

Attributes

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

Inherited and Abstract types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror