Inliner

scalus.uplc.transform.Inliner
object Inliner

Attributes

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

Members list

Value members

Concrete methods

def apply(term: Term): Term
def inlineConstVarBuiltin(name: String, body: Term, inlining: Term, occurances: Int): Boolean

Checks if a term is safe to inline multiple times

Checks if a term is safe to inline multiple times

Attributes

def inlinePass(shouldInline: (String, Term, Term, Int) => Boolean)(term: Term): (Term, Seq[String])

Main inlining function

Main inlining function

Uses TermAnalysis.isPure to determine if unused arguments can be safely eliminated during dead code elimination.

Attributes

def substitute(term: Term, name: String, replacement: Term): Term

Implements capture-avoiding substitution [x -> s]t

Implements capture-avoiding substitution [x -> s]t

Attributes