org.kiama.example.lambda2

ReduceSubst

trait ReduceSubst extends Reduce

Evaluation of lambda calculus using global beta reduction with term-level substitution and arithmetic operations.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ReduceSubst
  2. Reduce
  3. RewritingEvaluator
  4. Evaluator
  5. AnyRef
  6. 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. object FreshVar

    Generate a fresh variable name.

  7. lazy val arithop: rewriting.Rewriter.Strategy

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

    Definition Classes
    Any
  9. lazy val beta: rewriting.Rewriter.Strategy

    Beta reduction via term-level substitution.

    Beta reduction via term-level substitution.

    Definition Classes
    ReduceSubstReduce
  10. def clone(): AnyRef

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

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

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

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

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

    Definition Classes
    RewritingEvaluatorEvaluator
  14. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  15. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  18. lazy val lambda: rewriting.Rewriter.PlusStrategy

    Reusable strategy for reduction with explicit term-level substitution.

  19. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  22. def reducesinlambdas: Boolean

    Whether this mechanism evaluates inside lambdas.

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

    Definition Classes
    Evaluator
  23. lazy val s: rewriting.Rewriter.Strategy

    Evaluate by repeatedly trying to apply beta reduction and arithmetic operators anywhere.

    Evaluate by repeatedly trying to apply beta reduction and arithmetic operators anywhere.

    Definition Classes
    ReduceSubstReduceRewritingEvaluator
  24. lazy val subsApp: rewriting.Rewriter.Strategy

    Substitution in applications.

  25. lazy val subsLam: rewriting.Rewriter.Strategy

    Substitution in lambda abstractions.

  26. lazy val subsNum: rewriting.Rewriter.Strategy

    Substitution in numeric terms.

  27. lazy val subsOpn: rewriting.Rewriter.Strategy

    Substitution in primitive operations

  28. lazy val subsVar: rewriting.Rewriter.Strategy

    Substitution in variable terms.

  29. 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
  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  31. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from Reduce

Inherited from RewritingEvaluator

Inherited from Evaluator

Inherited from AnyRef

Inherited from Any

Ungrouped