[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!)