Packages

  • package root
    Definition Classes
    root
  • class LamSemantics[Abs, Addr, Time] extends Semantics[LamExp, Abs, Addr, Time]

    This defines the semantics of call-by-value lambda expressions

    This defines the semantics of call-by-value lambda expressions

    Definition Classes
    root
c

LamSemantics

class LamSemantics[Abs, Addr, Time] extends Semantics[LamExp, Abs, Addr, Time]

This defines the semantics of call-by-value lambda expressions

Linear Supertypes
Semantics[LamExp, Abs, Addr, Time], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LamSemantics
  2. Semantics
  3. AnyRef
  4. 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 LamSemantics()(implicit arg0: LamLattice[Abs], arg1: Address[Addr], arg2: Timestamp[Time])

Type Members

  1. type Env = Environment[Addr]

    Shortcut for the environment

  2. case class FrameArg(e: LamExp, env: Env) extends LamFrame with Product with Serializable

    One frame to remember the operand when we evaluate the operator

  3. case class FrameFun(v: Abs) extends LamFrame with Product with Serializable

    And one frame to remember the operator value when we evaluate the operand

  4. trait LamFrame extends Frame

    We need some frames

  5. type Sto = Store[Addr, Abs]

    Shorcuct for the store

Value Members

  1. implicit def actionToSet(action: Action[LamExp, Abs, Addr]): Set[Action[LamExp, Abs, Addr]]
    Definition Classes
    Semantics
  2. def initialBindings: Iterable[(String, Addr, Abs)]

    Defines the elements in the initial environment/store

    Defines the elements in the initial environment/store

    Definition Classes
    Semantics
  3. def initialEnv: Iterable[(String, Addr)]
    Definition Classes
    Semantics
  4. def initialStore: Iterable[(Addr, Abs)]
    Definition Classes
    Semantics
  5. implicit def mfActionToActions(mf: MayFail[Action[LamExp, Abs, Addr]]): Set[Action[LamExp, Abs, Addr]]
    Definition Classes
    Semantics
  6. implicit def mfToActions(mf: MayFail[Set[Action[LamExp, Abs, Addr]]]): Set[Action[LamExp, Abs, Addr]]
    Definition Classes
    Semantics
  7. def parse(program: String): LamExp

    The parse function just parses an expression from a string.

    The parse function just parses an expression from a string. We rely on an already-defined s-expression parser, and compile an s-expression in a lambda expression. There is some verbosity due to the fact that every s-expression is associated to a position information.

    Definition Classes
    LamSemanticsSemantics
  8. def stepEval(e: LamExp, env: Env, store: Sto, t: Time): Set[Action[LamExp, Abs, Addr]]

    The stepEval function defines how to perform an evaluation step on an expression

    The stepEval function defines how to perform an evaluation step on an expression

    Definition Classes
    LamSemanticsSemantics
  9. def stepKont(v: Abs, frame: Frame, store: Sto, t: Time): Set[Action[LamExp, Abs, Addr]]

    The stepKont function defines how to behave when we reached a value v and we have frame as the top continuation on the stack

    The stepKont function defines how to behave when we reached a value v and we have frame as the top continuation on the stack

    Definition Classes
    LamSemanticsSemantics
  10. def stepReceive(self: Any, mname: String, margsv: List[Abs], d: LamExp, env: Environment[Addr], store: Store[Addr, Abs], t: Time): Set[Action[LamExp, Abs, Addr]]

    WIP

    WIP

    Definition Classes
    Semantics
  11. object Action extends ActionHelpers[Exp, Abs, Addr]
    Definition Classes
    Semantics