[E-Lang] List of core E features?

Vijay Saraswat vijay@saraswat.org
Mon, 01 Oct 2001 08:28:27 -0400


I am trying to get my head around the core set of E-featues (at say the
level of Kernel E) so that one can start thinking about an abstract
syntax, and a structural operational semantics. I have repeatedly found
that doing such a semantics helps elucidate many notions, and helps
separate out ideas that perhaps belong in the implementation (and hence
are primarily useful to language implementers)  from ideas that belong
in the specification (and hence are primarily useful to programmers
writing in the language, and people who want to reason about programs in
the language).

(There is no dearth of strong claims on the E-rights website that would
be great to get some formal backing for!!)

So here is my current list of "features"... please let me know if I am
missing something. The next step would be to get an abstract syntax
together that doesnt miss out on anything critical, but is simple enough
that one can give a formal presentation of its semantics.

  Vats (cc)
  Lexical, nested scope (cc)
  Multiple "methods" per object
  Pattern-matching selection (cc)
  References and promises (cc)
    near, far and broken
    partial order on bindings

  Control structures
   Mutable object-local state (assignment)
   Synchronous calls on near references
   Send
   Sequencing
   Throw/catch/finally
   Conditionals

  Primitives
   Timers
   Seal/unseal (rights amplification)

  (Persistence? Not much description yet!)