org.kiama.example.lambda2

ParLazyUpdate

trait ParLazyUpdate extends ParLazy

Lazy evaluation of lambda calculus with parallel term-level substitution and arithmetic operations, plus sharing and update of substituted terms.

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

Value Members

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

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Definition Classes
    AnyRef → Any
  4. lazy val arithop: Strategy

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

    Definition Classes
    Any
  6. lazy val beta: Strategy

    Beta reduction via term-level substitution.

    Beta reduction via term-level substitution.

    Definition Classes
    ParReduceSubstReduce
  7. def clone(): AnyRef

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

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

    Definition Classes
    AnyRef → Any
  10. 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
  11. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. 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
  13. val freshVarCounter: Counter

    Counter used to generate fresh names.

    Counter used to generate fresh names.

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

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

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

    Definition Classes
    Any
  17. lazy val lambda: PlusStrategy

    Reusable strategy for reduction with explicit term-level substitution.

    Reusable strategy for reduction with explicit term-level substitution.

    Definition Classes
    ParReduceSubst
  18. def letAppL(eval: ⇒ Strategy): Strategy

    Apply substitutions lazily in an application, maintaining the environment.

    Apply substitutions lazily in an application, maintaining the environment.

    Definition Classes
    ParLazy
  19. lazy val letDrop: Strategy

    Drop the bindings.

    Drop the bindings.

    Definition Classes
    ParLazy
  20. lazy val letLet: Strategy

    Merging two arbitrary parallel binders.

    Merging two arbitrary parallel binders.

    Definition Classes
    Par
  21. lazy val letLetRen: Strategy

    Rename variables bound in an inner let (corresponds to heap allocation for these values).

    Rename variables bound in an inner let (corresponds to heap allocation for these values).

    Definition Classes
    ParLazy
  22. lazy val letLift: Strategy

    Lift an expression to be evaluated to a substitution.

    Lift an expression to be evaluated to a substitution.

    Definition Classes
    ParLazy
  23. def letOpn(eval: ⇒ Strategy): Strategy

    Apply substitutions strictly in an operator evaluation, maintaining the environment.

    Apply substitutions strictly in an operator evaluation, maintaining the environment.

    Definition Classes
    ParLazy
  24. def lookupb(x: Idn, ds: Seq[Bind]): Option[Exp]

    Lookup a binding for a name in a list of bindings.

    Lookup a binding for a name in a list of bindings.

    Definition Classes
    Par
  25. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  28. def reducesinlambdas: Boolean

    Whether this mechanism evaluates inside lambdas.

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

    Definition Classes
    Evaluator
  29. def rename: Strategy

    Rename all variables in a parallel binding expression to fresh vars.

    Rename all variables in a parallel binding expression to fresh vars. Assumes that the names are unique to start with.

    Definition Classes
    ParLazy
  30. lazy val s: Strategy

    Lazily evaluate within the expression then try to reduce the expression itself, repeating until no change.

    Lazily evaluate within the expression then try to reduce the expression itself, repeating until no change.

    Definition Classes
    ParLazyUpdateReduceSubstReduceRewritingEvaluator
  31. lazy val subsApp: Strategy

    Substitution in applications.

    Substitution in applications.

    Definition Classes
    ParReduceSubst
  32. lazy val subsLam: Strategy

    Substitution in lambda abstractions.

    Substitution in lambda abstractions.

    Definition Classes
    ParReduceSubst
  33. lazy val subsNum: Strategy

    Substitution in numeric terms.

    Substitution in numeric terms.

    Definition Classes
    ParReduceSubst
  34. lazy val subsOpn: Strategy

    Substitution in primitive operations

    Substitution in primitive operations

    Definition Classes
    ParReduceSubst
  35. lazy val subsVar: Strategy

    Substitute a variable and maintain the bindings.

    Substitute a variable and maintain the bindings.

    Definition Classes
    ParLazyParReduceSubst
  36. 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
  37. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  38. def toString(): String

    Definition Classes
    AnyRef → Any
  39. def update(eval: Strategy): Strategy

    Update variable bindings using a given evaluation strategy.

  40. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ParLazy

Inherited from Par

Inherited from ReduceSubst

Inherited from Reduce

Inherited from RewritingEvaluator

Inherited from Evaluator

Inherited from AnyRef

Inherited from Any

Ungrouped