E comments Dean Tribble (tribble@netcom.com)
Wed, 23 Jun 1999 09:56:07 -0700

So I'm here with marcs, and downloaded and installed the latest version of E. Here are random comments. Where I say annoying, it was typically minor annoying, but enough that it would stop people from installing. Feel free to forward to the e list.

  1. The download pages should prominently figure the links to the downloads in reference form:

Reading the cleverly concealed links to the relevant files in a paragraph of text talking about all the distributions that I don't want is annoying (especially since my browser crashed a few times and I had to go figure out which one I had been downloading again).

2) The installer is really annoying. Anyone that isn't jus working on a laptop installs new things on something anything other than drive C. and they sure don't put new entries in the top-level directory. Just another plug for either more *or less* installation (so at least I know I have to fix things, and they don't keep trying to help me). A simple improvement would be to have all the batch files call a single batch file to set up directories, etc. Then you only need to change the root directory in one executable.

3) Elmer works! I wish I knew more of the language...

4) It would be really nice to be able to list the variables in scope! What objects are in scope? What are the system classes?

5) Def should define constants. Use Var to define things that can be assigned. I expect you won't change this :-)

6) rx`(?msx)$%^@^$$*@!()@#$@(*)). Get the point? :-) In particular, it seems every use has (?msx). Seems like a waste of four more opaque characters. Ping's regular expression suggestion seemed much better/more readable.

7) updocParser.maker--a lesson in how to take a fairly simple grammar and completely obscure it with Perl...inside a decent language no less. Amazing. I would strongly recommend getting Antlr or even a *bad* recursive decent parser generator (piece o' cake with quasi-stuff), and use it almost exclusively for anything but lexing. A much better abstraction layer.

8) Allow selectors to be any object, and use ==. This improves the ability to enhance the language later. It seems likely that your implementation already allows or almost allows this, but therre might be just that one place that prevents it (other than the parser, which one can get around).

9) Make a servlet interface into an E programm, then run E inside JRun to have an Apache that can efficiently dispatch HTTP requests to "CGI" like things written in E. And oh by the way, one can then use quasi-stuff for servlets, support the things that Tyler and Ping want to do, etc.