Packages

c

be.opimedia.scala_par_am

SchemeSemantics

class SchemeSemantics[V, Addr, Time] extends BaseSchemeSemantics[V, Addr, Time]

Extend base Scheme semantics with:

  • atomic evaluation: parts of some constructs can be evaluated atomically without needing to introduce more states in the state graph. For example, (+ 1 1) can directly be evaluated to 2 without modifying the store. Also, to evaluate (+ 1 (f)), we can directly push the continuation and jump to the evaluation of (f), instead of evaluating +, and 1 in separate states.
Linear Supertypes
BaseSchemeSemantics[V, Addr, Time], Semantics[SchemeExp, V, Addr, Time], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SchemeSemantics
  2. BaseSchemeSemantics
  3. Semantics
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SchemeSemantics(primitives: Primitives[Addr, V])(implicit arg0: IsSchemeLattice[V], arg1: Address[Addr], arg2: Timestamp[Time])

Type Members

  1. case class FrameAnd(rest: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  2. case class FrameBegin(rest: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  3. case class FrameCase(clauses: List[(List[SchemeValue], List[SchemeExp])], default: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  4. case class FrameCond(cons: List[SchemeExp], clauses: List[(SchemeExp, List[SchemeExp])], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  5. case class FrameDefine(variable: Identifier, env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  6. case class FrameDoBody(toeval: List[SchemeExp], vars: List[(Identifier, V, Option[SchemeExp])], test: SchemeExp, finals: List[SchemeExp], commands: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  7. case class FrameDoInit(vars: List[(Identifier, V, Option[SchemeExp])], variable: Identifier, step: Option[SchemeExp], toeval: List[(Identifier, SchemeExp, Option[SchemeExp])], test: SchemeExp, finals: List[SchemeExp], commands: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  8. case class FrameDoStep(vars: List[(Identifier, V, Option[SchemeExp])], variable: Identifier, step: Option[SchemeExp], toeval: List[(Identifier, V, Option[SchemeExp])], test: SchemeExp, finals: List[SchemeExp], commands: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  9. case class FrameDoTest(vars: List[(Identifier, V, Option[SchemeExp])], test: SchemeExp, finals: List[SchemeExp], commands: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  10. case class FrameFuncallOperands(f: V, fexp: SchemeExp, cur: SchemeExp, args: List[(SchemeExp, V)], toeval: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  11. case class FrameFuncallOperator(fexp: SchemeExp, args: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  12. case class FrameIf(cons: SchemeExp, alt: SchemeExp, env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  13. case class FrameLet(variable: Identifier, bindings: List[(Identifier, V)], toeval: List[(Identifier, SchemeExp)], body: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  14. case class FrameLetStar(variable: Identifier, bindings: List[(Identifier, SchemeExp)], body: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  15. case class FrameLetrec(addr: Addr, bindings: List[(Addr, SchemeExp)], body: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  16. case class FrameOr(rest: List[SchemeExp], env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  17. case class FrameSet(variable: Identifier, env: Env) extends SchemeFrame with Product with Serializable
    Definition Classes
    BaseSchemeSemantics
  18. trait SchemeFrame extends Frame
    Definition Classes
    BaseSchemeSemantics
  19. type Actions = Set[Action[SchemeExp, V, Addr]]
    Definition Classes
    BaseSchemeSemantics
  20. type Env = Environment[Addr]
    Definition Classes
    BaseSchemeSemantics
  21. type Sto = Store[Addr, V]
    Definition Classes
    BaseSchemeSemantics

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from SchemeSemantics[V, Addr, Time] to any2stringadd[SchemeSemantics[V, Addr, Time]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (SchemeSemantics[V, Addr, Time], B)
    Implicit
    This member is added by an implicit conversion from SchemeSemantics[V, Addr, Time] to ArrowAssoc[SchemeSemantics[V, Addr, Time]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. implicit def actionToSet(action: Action[SchemeExp, V, Addr]): Set[Action[SchemeExp, V, Addr]]
    Definition Classes
    Semantics
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def atomicEval(e: SchemeExp, env: Env, store: Sto): Option[(V, Set[Effect[Addr]])]

    Tries to perform atomic evaluation of an expression.

    Tries to perform atomic evaluation of an expression. Returns the result of the evaluation if it succeeded, otherwise returns None

    Attributes
    protected
  9. def bindArgs(l: List[(Identifier, V)], env: Environment[Addr], store: Store[Addr, V], t: Time): (Environment[Addr], Store[Addr, V])

    Binds arguments in the environment and store.

    Binds arguments in the environment and store. Arguments are given as a list of triple, where each triple is made of:

    • the name of the argument
    • the position of the argument
    • the value of the argument
    Attributes
    protected
    Definition Classes
    Semantics
  10. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate() @throws( ... )
  11. def conditional(v: V, t: ⇒ Actions, f: ⇒ Actions): Actions
    Definition Classes
    BaseSchemeSemantics
  12. def ensuring(cond: (SchemeSemantics[V, Addr, Time]) ⇒ Boolean, msg: ⇒ Any): SchemeSemantics[V, Addr, Time]
    Implicit
    This member is added by an implicit conversion from SchemeSemantics[V, Addr, Time] to Ensuring[SchemeSemantics[V, Addr, Time]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. def ensuring(cond: (SchemeSemantics[V, Addr, Time]) ⇒ Boolean): SchemeSemantics[V, Addr, Time]
    Implicit
    This member is added by an implicit conversion from SchemeSemantics[V, Addr, Time] to Ensuring[SchemeSemantics[V, Addr, Time]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: Boolean, msg: ⇒ Any): SchemeSemantics[V, Addr, Time]
    Implicit
    This member is added by an implicit conversion from SchemeSemantics[V, Addr, Time] to Ensuring[SchemeSemantics[V, Addr, Time]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. def ensuring(cond: Boolean): SchemeSemantics[V, Addr, Time]
    Implicit
    This member is added by an implicit conversion from SchemeSemantics[V, Addr, Time] to Ensuring[SchemeSemantics[V, Addr, Time]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  18. def evalBody(body: List[SchemeExp], env: Env, store: Sto): Actions
    Attributes
    protected
    Definition Classes
    BaseSchemeSemantics
  19. def evalCall(function: V, fexp: SchemeExp, argsv: List[(SchemeExp, V)], store: Sto, t: Time): Actions
    Definition Classes
    BaseSchemeSemantics
  20. def evalDoBody(toeval: List[SchemeExp], vars: List[(Identifier, V, Option[SchemeExp])], test: SchemeExp, finals: List[SchemeExp], commands: List[SchemeExp], t: Time, env: Env, store: Sto): Actions
    Definition Classes
    BaseSchemeSemantics
  21. def evalDoStep(vars: List[(Identifier, V, Option[SchemeExp])], toeval: List[(Identifier, V, Option[SchemeExp])], test: SchemeExp, finals: List[SchemeExp], commands: List[SchemeExp], t: Time, env: Env, store: Sto): Actions
    Definition Classes
    BaseSchemeSemantics
  22. def evalQuoted(exp: SExp, store: Sto, t: Time): (V, Sto)
    Attributes
    protected
    Definition Classes
    BaseSchemeSemantics
  23. def evalValue(v: Value): Option[V]
    Attributes
    protected
    Definition Classes
    BaseSchemeSemantics
  24. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from SchemeSemantics[V, Addr, Time] to StringFormat[SchemeSemantics[V, Addr, Time]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  25. def funcallArgs(f: V, fexp: SchemeExp, args: List[(SchemeExp, V)], toeval: List[SchemeExp], env: Env, store: Sto, t: Time): Actions
    Attributes
    protected
    Definition Classes
    SchemeSemanticsBaseSchemeSemantics
  26. def funcallArgs(f: V, fexp: SchemeExp, args: List[SchemeExp], env: Env, store: Sto, t: Time): Actions
    Attributes
    protected
    Definition Classes
    BaseSchemeSemantics
  27. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  28. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  29. def initialBindings: List[(String, Addr, V)]

    Defines the elements in the initial environment/store

    Defines the elements in the initial environment/store

    Definition Classes
    BaseSchemeSemanticsSemantics
  30. def initialEnv: Iterable[(String, Addr)]
    Definition Classes
    Semantics
  31. def initialStore: Iterable[(Addr, V)]
    Definition Classes
    Semantics
  32. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  33. implicit def mfActionToActions(mf: MayFail[Action[SchemeExp, V, Addr]]): Set[Action[SchemeExp, V, Addr]]
    Definition Classes
    Semantics
  34. implicit def mfToActions(mf: MayFail[Set[Action[SchemeExp, V, Addr]]]): Set[Action[SchemeExp, V, Addr]]
    Definition Classes
    Semantics
  35. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  37. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  38. def optimizeAtomic(actions: Actions, t: Time): Actions

    Optimize the following pattern: when we see an ActionPush(frame, exp, env, store) where exp is an atomic expression, we can atomically evaluate exp to get v, and call stepKont(v, store, frame).

    Optimize the following pattern: when we see an ActionPush(frame, exp, env, store) where exp is an atomic expression, we can atomically evaluate exp to get v, and call stepKont(v, store, frame).

    Attributes
    protected
  39. def parse(program: String): SchemeExp

    Defines how to parse a program

    Defines how to parse a program

    Definition Classes
    BaseSchemeSemanticsSemantics
  40. def stepEval(e: SchemeExp, env: Env, store: Sto, t: Time): Actions

    Defines what actions should be taken when an expression e needs to be evaluated, in environment env with store store

    Defines what actions should be taken when an expression e needs to be evaluated, in environment env with store store

    Definition Classes
    SchemeSemanticsBaseSchemeSemanticsSemantics
  41. def stepKont(v: V, frame: Frame, store: Sto, t: Time): Actions

    Defines what actions should be taken when a value v has been reached, and the topmost frame is frame

    Defines what actions should be taken when a value v has been reached, and the topmost frame is frame

    Definition Classes
    SchemeSemanticsBaseSchemeSemanticsSemantics
  42. def stepReceive(self: Any, mname: String, margsv: List[V], d: SchemeExp, env: Environment[Addr], store: Store[Addr, V], t: Time): Set[Action[SchemeExp, V, Addr]]

    WIP

    WIP

    Definition Classes
    Semantics
  43. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  44. def toString(): String
    Definition Classes
    AnyRef → Any
  45. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  47. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  48. def [B](y: B): (SchemeSemantics[V, Addr, Time], B)
    Implicit
    This member is added by an implicit conversion from SchemeSemantics[V, Addr, Time] to ArrowAssoc[SchemeSemantics[V, Addr, Time]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
  49. object Action extends ActionHelpers[Exp, Abs, Addr]
    Definition Classes
    Semantics

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from BaseSchemeSemantics[V, Addr, Time]

Inherited from Semantics[SchemeExp, V, Addr, Time]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from SchemeSemantics[V, Addr, Time] to any2stringadd[SchemeSemantics[V, Addr, Time]]

Inherited by implicit conversion StringFormat from SchemeSemantics[V, Addr, Time] to StringFormat[SchemeSemantics[V, Addr, Time]]

Inherited by implicit conversion Ensuring from SchemeSemantics[V, Addr, Time] to Ensuring[SchemeSemantics[V, Addr, Time]]

Inherited by implicit conversion ArrowAssoc from SchemeSemantics[V, Addr, Time] to ArrowAssoc[SchemeSemantics[V, Addr, Time]]

Ungrouped