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

Re: a brief introduction the lambda calculus for es users



> Look at how tcl, a unix
> shell, handles "if".  Parameters are some kind of quoted literal which
> the function "if" selectively evals.

the braces used in tcl for quoting are very similar to the braces
used in es for program fragments.  there are two minor differences

	(1) es tokenizes and then unparses for exporting, where
	    tcl just stores the strings.  (a consequence of this
	    is that es detects syntax errors early, where tcl
	    detects them late.)

	(2) es binds lexically scoped variables to program fragments,
	    where tcl uses a (clever) variation on dynamic scoping.

none of these has to do with evaluation order.  both es and tcl
evaluate their arguments immediately, except for those that are
explicitly marked (with {} in both languages) as deferred.

tcl provided a lot of the inspiration for es.  we looked at what
Ousterhout did before we went our own merry way of using scheme
semantics.  while the internals are much different, one can find
lots of similarity between tcl and es.

paul