org.kiama.example.lambda2

InnermostSubst

trait InnermostSubst extends ReduceSubst

Evaluation of lambda calculus using a memoising innermost evaluation with term-level substitution and arithmetic operations.

Source
InnermostSubst.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. InnermostSubst
  2. ReduceSubst
  3. Reduce
  4. RewritingEvaluator
  5. Evaluator
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. lazy val arithop: Strategy

    Definition Classes
    Reduce
  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. lazy val beta: Strategy

    Beta reduction via term-level substitution.

    Beta reduction via term-level substitution.

    Definition Classes
    ReduceSubstReduce
  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  12. def eval(exp: Exp): Exp

    Evaluate the given expression by rewriting it with the s strategy.

    Evaluate the given expression by rewriting it with the s strategy.

    Definition Classes
    RewritingEvaluatorEvaluator
  13. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def freshVar(): Idn

    Generate a fresh variable name.

    Generate a fresh variable name. Prefix the name with an underscore to avoid the potential for clashes with user-level variables (which must start with a letter).

    Definition Classes
    Evaluator
  15. val freshVarCounter: Counter

    Counter used to generate fresh names.

    Counter used to generate fresh names.

    Definition Classes
    Evaluator
  16. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  18. def innermost(s: ⇒ Strategy): Strategy

    Version of innermost library strategy that memoises.

  19. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  20. lazy val lambda: PlusStrategy

    Reusable strategy for reduction with explicit term-level substitution.

    Reusable strategy for reduction with explicit term-level substitution.

    Definition Classes
    ReduceSubst
  21. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  24. def reducesinlambdas: Boolean

    Whether this mechanism evaluates inside lambdas.

    Whether this mechanism evaluates inside lambdas. Used for testing. Default: false.

    Definition Classes
    Evaluator
  25. lazy val s: Strategy

    Evaluate expressions starting with the innermost sub-expressions.

    Evaluate expressions starting with the innermost sub-expressions.

    Definition Classes
    InnermostSubstReduceSubstReduceRewritingEvaluator
  26. lazy val subsApp: Strategy

    Substitution in applications.

    Substitution in applications.

    Definition Classes
    ReduceSubst
  27. lazy val subsLam: Strategy

    Substitution in lambda abstractions.

    Substitution in lambda abstractions.

    Definition Classes
    ReduceSubst
  28. lazy val subsNum: Strategy

    Substitution in numeric terms.

    Substitution in numeric terms.

    Definition Classes
    ReduceSubst
  29. lazy val subsOpn: Strategy

    Substitution in primitive operations

    Substitution in primitive operations

    Definition Classes
    ReduceSubst
  30. lazy val subsVar: Strategy

    Substitution in variable terms.

    Substitution in variable terms.

    Definition Classes
    ReduceSubst
  31. def substitute(x: Idn, e2: Exp, e1: Exp): Exp

    Capture-free substitution of free occurrences of x in e1 with e2.

    Capture-free substitution of free occurrences of x in e1 with e2.

    Definition Classes
    Evaluator
  32. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  33. def toString(): String

    Definition Classes
    AnyRef → Any
  34. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ReduceSubst

Inherited from Reduce

Inherited from RewritingEvaluator

Inherited from Evaluator

Inherited from AnyRef

Inherited from Any

Ungrouped