[E-Lang] Thanksgiving present for E programmers

Marc Stiegler marcs@skyhunter.com
Tue, 21 Nov 2000 20:37:38 -0700


So, I reckon everyone on the E list here is looking forward to a nice quiet
Thanksgiving, kicked back in their easy chairs, relaxing in front of your
crackling fireplaces.

Well. Strap yourselves into those easy chairs, and curl up with a good book.
The book I am recommending is the partial, rough draft of

E in a Walnut

which I have been working on in my spare time for a couple of months. Find
it at

http://www.skyhunter.com/marcs/ewalnut.html

Learn things about E programming that you had not heretofore dreamed of!
Thrill to the power of the prose! Send me all your criticisms!

As I said, this is both a partial and a rough draft. The actual book will be
between 2 and 3 times as large as this. But I believe (correct me if you
disagree, markm) this is already the single most comprehensive document on
how to actually write E programs yet written. Even in its current crude
form, I am hopeful that it is good enough so that people could actually
learn to code in E just by reading it.

Tyler, I plan to make the section on Hydro a bit bigger in the final
version. It will still be a brief section, but it will include an example
(though there is already an example in the Patterns of Promises section,
where I use it as part of the sendValve utility).

Norm, I believe you might find the section, "Satan comes to the Racetrack",
interesting. Though incomplete, it starts with an analysis of a distributed
programming problem in order to create a capability-secure design. I
personally have not seen a more complete such high-level analysis anywhere;
if you know of a better one, I'd be interested. And of course, I'd also love
to hear any questions-and-answers I should have addressed in this analysis
that I missed in the first cut.

The book documents E version 1.0, which does not yet exist, of course. There
is one upward compatibility break I know of documented in the book (so those
of you with E installed will not be able to run this): v1.0 uses the
uriGetter <unsafe:spec> rather than <import:spec> for some accesses to the
Java API. There are other features documented here that don't exist
yet...but there are even more features documented here that do exist in the
language already that I hadn't known about before I wrote the book :-)

Anyway, have a good read!

--marcs