Why is tcl broken?

Paul Duffin pduffin at mailserver.hursley.ibm.com
Wed Jun 30 06:10:23 EDT 1999

Marco Antoniotti wrote:
> Nope. *best* is the Common Lisp Macro system, with Scheme/Dylan syntax
> stuff a second best.  The notion of 'upvar' in Tcl makes my head

I am surprised at this because Tcl's [upvar] is simply an explicit form
of dynamic binding which I seem to remember is what Lisp uses. (That
is how the 'let' function can be (is) implemented as a lambda function).

> spin. :) Finally, AFAIU, a Tcl "macro" must run as an interpreter of
> the spec. A Common Lisp (Scheme) macro is compiled into regular code
> by read-time expansion.

I find that Lisp macros (while a very powerful and necessary mechanism)
are sooo confusing. They are in essence another language inside Lisp,
and as such introduce inconsistencies. Tcl on the other hand doesn't
need a macro language and as such is much more consistent than Lisp.

If I needed a macro language in Tcl I can just write one.

Lisp and Tcl have a lot more in common than Lispers seem to want to 

Paul Duffin
DT/6000 Development	Email: pduffin at hursley.ibm.com
IBM UK Laboratories Ltd., Hursley Park nr. Winchester
Internal: 7-246880	International: +44 1962-816880

More information about the Python-list mailing list