Why is tcl broken?

Cameron Laird claird at Starbase.NeoSoft.COM
Fri Jul 2 10:05:03 EDT 1999


In article <377B454C.6F59 at mailserver.hursley.ibm.com>,
Paul Duffin  <pduffin at mailserver.hursley.ibm.com> wrote:
>Marco Antoniotti wrote:
			.
		[lots of interesting stuff]
			.
			.
>Tcl does not need a macro system because it has a simple consistent
>syntax / semantics and all commands are treated equally and it is
>possible to change the behaviour of existing commands.
>
>> >
>> > If I needed a macro language in Tcl I can just write one.
>> 
>> I just recieved an email from Cameron Laird, citing a 'procm' form in
>> Tcl, which is supposed to do 'scan time' macros - probably something
>> in line with the real thing. However, the manual pages for 8.1 at Scriptics
>> does not mention it.  Yet, I suppose that it is still an experimental
>> feature that maybe will appear in Tcl in a later edition - a few
>> lustres after Lisp had them :)
>> 
>
>I would say that that is probably something Cameron has created. Despite
>what you think Tcl is not crying out for a Lisp like macro system. What
>it is crying out is for more data types and it will soon be getting them.
>Including a 'proper' [lambda] implementation.
>
>I would say that Tcl (without macro system) can do anything that Lisp
>(with macro system) can do.
			.
			.
			.
I've tweaked follow-ups to move this out of
the way of Pythoneers.

Paul's right.  I apologize for not writing
more clearly before.  I'll summarize:  Marco
wrote, "Here's the kind of thing that Tcl's
[proc] doesn't do as well as LISP's macros
...", I replied, "No problem--we'll just de-
fine [procm] ..." and left the details as an
exercise to the reader.  No, there is NOT a
standard [procm], and I hadn't written one
explicitly at the time I followed up.

That in itself is interesting.  The point I
was trying to make is that Tclers find it
very natural to reason, "Hmm, I don't have
the control structure I want, so I'll quickly
create it."  This is different from, for ex-
ample, Python.  I'll characterize Python's
attitude as more like, "Hmm, Guido doesn't
provide the control structure I want; I must
be using the wrong object pattern for my
algorithm, so it's time to redesign."

I'll summarize:  the real content of my mes-
sage was that Tclers are generally rather
indifferent to reservations about syntax,
because any disagreement quickly is absorbed
into the, "well, if that's what you want,
let's just write a proc that interprets it
that way" state.  LISPish macro processing
isn't present in Tcl, but anyone who wants
it can have it easily enough, so the Tcl
mentality simply doesn't worry much about it.
-- 

Cameron Laird           http://starbase.neosoft.com/~claird/home.html
claird at NeoSoft.com      +1 281 996 8546 FAX




More information about the Python-list mailing list