While rc was an experiment in adding modern syntax to Bourne shell semantics, es is an exploration of new semantics combined with rc-influenced syntax: es has lexically scoped variables, first-class functions, and an exception mechanism, which are concepts borrowed from modern programming languages such as Scheme and ML.
I never heard of anyone using this shell, but it sounds cool. The paper is quite readable and describes many interesting details (including garbage collection and a discussion of the implementation).
The es version described in the paper is not properly tail recursive (I am not sure about the current version).
Now, a shell that would provide call/cc would be reallly interesting...
Posted to functional by Ehud Lamm on 12/27/02; 2:40:19 PM