[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

compiling es



> Date: Fri, 2 Oct 1992 19:07:49 -0400
> From: Scott Schwartz <schwartz@groucho.cs.psu.edu>
> 
> 
> | Thanks and kudos to Paul && Byron for a downright excellent piece
> | of software artistry.  
> 
> Agreed; it looks pretty nice. 

Just read the paper over dinner.  Looks nice.  I had been doing some
thinking about a shell too, and es seems to have gotten much correct.

> As in rc, null terminated strings are used.  This means that things like
> 	x = `` '' {printf 'a\000b\000c\n' }
> don't work properly, which is kind of a shame.

In my thinking, I had thought of using \002 as a quote character for
\001 (and \002).  You could extend this to \000, but exec(2) treats
environment strings as null terminated, so you'd have to, e.g.
translate \000 to \002\003.  I haven't looked, you may have removed
the \001 separators in your canonical representation code.

> Surprisingly, es binary is quite a bit bigger than that of rc, even
> though the source isn't much bigger.   Maybe gcc just generated really
> bad code, or something?

What's worse, es is as big as itcsh on this machine, and almost as big
as csh.  Any idea why?  I was aiming for a shell noticeably smaller
than /bin/sh.

	../Dave