class ParLazyShareEvaluator extends ParLazyShare
- Source
- ParLazyShare.scala
- Alphabetic
- By Inheritance
- ParLazyShareEvaluator
- ParLazyShare
- ParLazy
- Par
- ReduceSubst
- Reduce
- RewritingEvaluator
- Evaluator
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ParLazyShareEvaluator()
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
lazy val
arithop: Strategy
- Definition Classes
- Reduce
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
lazy val
beta: Strategy
Beta reduction via term-level substitution.
Beta reduction via term-level substitution.
- Definition Classes
- Par → ReduceSubst → Reduce
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
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
- RewritingEvaluator → Evaluator
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
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
-
val
freshVarCounter: Counter
Counter used to generate fresh names.
Counter used to generate fresh names.
- Definition Classes
- Evaluator
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
lazy val
lambda: PlusStrategy
Reusable strategy for reduction with explicit term-level substitution.
Reusable strategy for reduction with explicit term-level substitution.
- Definition Classes
- Par → ReduceSubst
-
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
-
lazy val
letDrop: Strategy
Drop the bindings.
Drop the bindings.
- Definition Classes
- ParLazy
-
lazy val
letLet: Strategy
Merging two arbitrary parallel binders.
Merging two arbitrary parallel binders.
- Definition Classes
- Par
-
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
-
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
-
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
-
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
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
reducesinlambdas: Boolean
Whether this mechanism evaluates inside lambdas.
Whether this mechanism evaluates inside lambdas. Used for testing. Default: false.
- Definition Classes
- Evaluator
-
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
-
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
- ParLazyShare → ReduceSubst → Reduce → RewritingEvaluator
-
lazy val
subsApp: Strategy
Substitution in applications.
Substitution in applications.
- Definition Classes
- Par → ReduceSubst
-
lazy val
subsLam: Strategy
Substitution in lambda abstractions.
Substitution in lambda abstractions.
- Definition Classes
- Par → ReduceSubst
-
lazy val
subsNum: Strategy
Substitution in numeric terms.
Substitution in numeric terms.
- Definition Classes
- Par → ReduceSubst
-
lazy val
subsOpn: Strategy
Substitution in primitive operations
Substitution in primitive operations
- Definition Classes
- Par → ReduceSubst
-
lazy val
subsVar: Strategy
Substitute a variable and maintain the bindings.
Substitute a variable and maintain the bindings.
- Definition Classes
- ParLazy → Par → ReduceSubst
-
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
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )