Lowering

scalus.compiler.sir.lowering.Lowering
object Lowering

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Lowering.type

Members list

Value members

Concrete methods

def genError(msg: String)(using lctx: LoweringContext): Term

Generate uplevel vars access for non-effortless variables only (lambda barrier).

Generate uplevel vars access for non-effortless variables only (lambda barrier).

This is used in lambda bodies to prevent non-effortless computations from being captured inside the lambda, which would cause them to be re-evaluated on each lambda call. Effortless variables (constants, vars, lambdas) can be safely captured.

Attributes

def lowerSIR(sir: SIR, optTargetType: Option[SIRType] = ...)(using lctx: LoweringContext): LoweredValue

Extensions

Extensions

extension (fun: DefaultFun)
def tpf: Term