TermModule

trait TermModule

Methods of the module object val Term

Methods of the module object val Term

class Object
trait Matchable
class Any

Value members

Abstract methods

def betaReduce(term: Term): Option[Term]

Returns a term that is functionally equivalent to t, however if t is of the form ((y1, ..., yn) => e2)(e1, ..., en) then it optimizes this the top most call by returning the Some with the result of beta-reducing the application.

Returns a term that is functionally equivalent to t, however if t is of the form ((y1, ..., yn) => e2)(e1, ..., en) then it optimizes this the top most call by returning the Some with the result of beta-reducing the application. Otherwise returns None.

To retain semantics the argument ei is bound as val yi = ei and by-name arguments to def yi = ei. Some bindings may be elided as an early optimization.