Mailing List Archive

OO (was: Why is tcl broken?)
Fernando Mato Mira wrote:

> [For example, I can think the Eiffel syntax is `philosophically' broken, but
> as `infix' syntaxes go, it is not. And it's a good language (I programmed

Actually, it's a _great_ language to learn OO (although of course in the restricted
single-dispatch way most people know about. I like to call that "Subject Oriented").

Occan taught me about concurrency.
Eiffel taught me OO.
CLOS taught me what OO really means.

--

"Object Oriented is to not think only about your `subject' and forget about your
`arguments' - the syntactic objects of your sentence".

Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
Fernando Mato Mira wrote:

> [For example, I can think the Eiffel syntax is `philosophically' broken, but
> as `infix' syntaxes go, it is not. And it's a good language (I programmed

Actually, it's a _great_ language to learn OO (although of course in the restricted
single-dispatch way most people know about. I like to call that "Subject Oriented").

Occam taught me about concurrency.
Eiffel taught me OO.
CLOS taught me what OO really means.

--

"Object Oriented is to not think only about your `subject' and forget about your
`arguments' - the syntactic objects of your sentence".

Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
Fernando Mato Mira wrote:

> [For example, I can think the Eiffel syntax is `philosophically' broken, but
> as `infix' syntaxes go, it is not. And it's a good language (I programmed

Actually, it's a _great_ language to learn SE (for OO pretty much too, but of
course only in the restricted
single-dispatch way most people know about. I like to call that "Subject Oriented").

Smalltalk taught me OO.
Occam taught me about concurrency.
Eiffel taught me SE.
CLOS taught me what OO really means.

--

"Object Oriented is to not think only about your `subject' and forget about your
`arguments' - the syntactic objects of your sentence"

Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
In article <3762988E.C94AA252@iname.com>, Fernando Mato Mira
<matomira@iname.com> wrote:

> Smalltalk taught me OO.
> Occam taught me about concurrency.
> Eiffel taught me SE.
> CLOS taught me what OO really means.

If you are a fan of CLOS, you might want to check out the Dylan
programming language.

It is basically a thoroughly modernized descendant of Lisp/CLOS with an
infix instead of prefix syntax. In Dylan, almost everything is an object
including the primitive data types (such as integers). Methods and
classes are also first class objects.

--------------------------------------------------------------------
p h i n e l y @hawaii.edu

Dylan... the high-performance dynamic language
* open-source Unix version: http://www.gwydiondylan.org/
* free Win32 version: http://www.harlequin.com/products/ads/dylan/
---------------------------------------------------------------------
OO (was: Why is tcl broken?) [ In reply to ]
Peter wrote:

> If you are a fan of CLOS, you might want to check out the Dylan
> programming language.
>
> It is basically a thoroughly modernized descendant of Lisp/CLOS with an
> infix instead of prefix syntax. In Dylan, almost everything is an object

Although Dylan never really made it into "Fernando's elegibility list"
because
it was not a serious contender against Scheme and CL yet, it definitely got
banished the day the Lisp syntax was dropped. I'm still waiting for the day
when the Dylan fans will reinstate the alternative.

But my dream is a `parenthesized Cecil'
http://www.cs.washington.edu/research/projects/cecil/

or "all you wanted in CLOS (and more) since you got `corrupted' by Eiffel"
;-)

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
[Fernando Mato Mira]
> Although Dylan never really made it into "Fernando's elegibility list"
> because it was not a serious contender against Scheme and CL yet, it
> definitely got banished the day the Lisp syntax was dropped. I'm still
> waiting for the day when the Dylan fans will reinstate the alternative.

OK! Now we know the answer Fernando is looking for: Tcl is fatally broken
because its syntax differs from Lisp's <0.9 wink>.

admit-it-up-front-and-maybe-this-will-go-away?-na-ly y'rs - tim
OO (was: Why is tcl broken?) [ In reply to ]
Fernando Mato Mira <matomira@iname.com> writes:

> Although Dylan never really made it into "Fernando's elegibility list"
> because
> it was not a serious contender against Scheme and CL yet, it definitely got
> banished the day the Lisp syntax was dropped. I'm still waiting for the day
> when the Dylan fans will reinstate the alternative.

This is an age-old flamewar. It just so happens that there are people
who like infix syntax and detest prefix, and then there are people who
love their parens and hate infix.

It's a matter of preferences, I happen to like infix, and I'm not
gonna change.

> But my dream is a `parenthesized Cecil'

You're obviously one of THEM :-).

Andreas

--
Reality is two's complement. See:
ftp://ftp.netcom.com/pub/hb/hbaker/hakmem/hacks.html#item154
OO (was: Why is tcl broken?) [ In reply to ]
Andreas Bogk <andreas@andreas.org> writes:

> Fernando Mato Mira <matomira@iname.com> writes:
>
> > Although Dylan never really made it into "Fernando's elegibility list"
> > because
> > it was not a serious contender against Scheme and CL yet, it definitely got
> > banished the day the Lisp syntax was dropped. I'm still waiting for the day
> > when the Dylan fans will reinstate the alternative.
>
> This is an age-old flamewar. It just so happens that there are people
> who like infix syntax and detest prefix, and then there are people who
> love their parens and hate infix.

Prefix rocks, infix is crap.

Klaus Schilling
OO (was: Why is tcl broken?) [ In reply to ]
"Tim Peters" <tim_one@email.msn.com> writes:

> [Fernando Mato Mira]
> > Although Dylan never really made it into "Fernando's elegibility list"
> > because it was not a serious contender against Scheme and CL yet, it
> > definitely got banished the day the Lisp syntax was dropped. I'm still
> > waiting for the day when the Dylan fans will reinstate the alternative.
>
> OK! Now we know the answer Fernando is looking for: Tcl is fatally broken
> because its syntax differs from Lisp's <0.9 wink>.

Infix syntax is junk.

Klaus Schilling
OO (was: Why is tcl broken?) [ In reply to ]
Andreas Bogk wrote:
>
> Fernando Mato Mira <matomira@iname.com> writes:

> This is an age-old flamewar. It just so happens that there are people
> who like infix syntax and detest prefix, and then there are people who
> love their parens and hate infix.

I have no idea what flamewars have been going on in comp.lang.dylan,
as it's the first time I set foot here, so FWIW, here's what I think:

1. The Dylan case is different. It was supposed to have 2 syntaxes.
2. I was not excited about the Dylan effort when it came out, as it the
main motivation was to create a new language for some Apple palmtop,
and this consumed resources that could have been used to improve CL (it
could be argued that it was an `improved Scheme' but how about
supporting EULisp instead?).
3. CMU shuts down CMUCL and starts to work on Dylan. Bad
3. Apple decides to drop the Lisp syntax. Bad.
4. Apple drops Dylan.
5. Open Source community embraces Dylan. Great. Multimethods to the
mainstream.

The question is: what prevents you now from to going back to the
original idea?
[.I'm sorry, if I was funded to spend time myself in creating a Lisp
frontend
for something, it would be for Cecil. If CLOS were too heavy for
something,
there's much more to gain over there. And good prototype-based dialect
would
be a more interesting addition to the Lisp family.]

Regards,

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
Klaus Schilling wrote:
>
> "Tim Peters" <tim_one@email.msn.com> writes:
> > OK! Now we know the answer Fernando is looking for: Tcl is fatally broken
> > because its syntax differs from Lisp's <0.9 wink>.
>
> Infix syntax is junk.

The quality of discussion on comp.lang.python is going up by leaps and
bounds, I see. :)

Whitespace-eating-nanoviruses-are-junk-ly yours,

Martijn
OO (was: Why is tcl broken?) [ In reply to ]
In article <3764F3FE.F7CBE6BA@acm.org>, Fernando D. Mato Mira
<matomira@acm.org> writes
>Klaus Schilling wrote:
>
>> Prefix rocks, infix is crap.
>
>Wow, wow, wow. Let's not go there..
postfix, prefix, infix etc etc are isosemantic


--
tree searching-ly yrs Robin Becker
OO (was: Why is tcl broken?) [ In reply to ]
Klaus Schilling wrote:

> Prefix rocks, infix is crap.

Wow, wow, wow. Let's not go there..

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
Robin Becker wrote:

> postfix, prefix, infix etc etc are isosemantic

Yup. But the deal is to be able to write a parser in an hour (say, in
1950something), and
be setup until the next comet hits the Earth.

Not to mention how invaluable it is not to waste the mandatory compiler
course with the unnecessary half of the `Dragon book'.


And when infix goes wild, a LOT of dollars go down the drain (the one
with a bug-free C++ frontend please raise your hand!).

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1 email: matomira AT acm DOT org
CH-2007 Neuchatel tel: +41 (32) 720-5157
Switzerland FAX: +41 (32) 720-5720

www.csem.ch www.vrai.com ligwww.epfl.ch/matomira.html
OO (was: Why is tcl broken?) [ In reply to ]
> Prefix rocks, infix is crap.

(think I (meant you (and (rocks prefix) (is-crap infix))))

Stig Hemmer,
Jack of a Few Trades.
OO (was: Why is tcl broken?) [ In reply to ]
In article <87pv2zjhhl.fsf@home.ivm.de>, Klaus Schilling
<Klaus.Schilling@home.ivm.de> wrote:


>Prefix rocks, infix is crap.

No, you mean:

Rocks prefix? Is infix crap?

James McCartney asynth <at> io <dot> com
OO (was: Why is tcl broken?) [ In reply to ]
On 14 Jun 1999 21:31:47 +0200, Stig Hemmer wrote:
>> Prefix rocks, infix is crap.

>(think I (meant you (and (rocks prefix) (is-crap infix))))

prefix rocks infix crap is and false =

...as long as we're fighting... :-)

>Stig Hemmer,
>Jack of a Few Trades.

(I like all the languages I know, except Fortran. I even like C++,
although I wish they could break backwards compatibility.)

--
-William "Billy" Tanksley
Utinam logica falsa tuam philosophiam totam suffodiant!
:-: May faulty logic undermine your entire philosophy!
OO (was: Why is tcl broken?) [ In reply to ]
Robin Becker wrote:

> postfix, prefix, infix etc etc are isosemantic

for myself and the others who might not know... can we get an example of
each?
and i remember someone mentioned parenthesized vs non-parenthesized...

Maxwell Sayles
OO (was: Why is tcl broken?) [ In reply to ]
William Tanksley wrote:

> My preference? I use C at my job. I prefer postfix (Forth) for its lack
> of punctuation. I like ML and Prolog because they let me create my own
> punctuation (but then I don't use them much).

BTW, you can do infix stuff in Common Lisp
http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/syntax/0.html

eg.

(defun bar (x y)
(whatever))

(defun foo (u v x y z)
(typical-lisp-code)
(lets-just-copy-a-formula-from-a-book-and-use-it-here #I( u + v * bar(x,y)
^^ z))
(blah-blah))
OO (was: Why is tcl broken?) [ In reply to ]
William Tanksley wrote:

> (I like all the languages I know, except Fortran. I even like C++,
> although I wish they could break backwards compatibility.)

Quiz: What do Scheme, Common Lisp, HPF and Java have in common?
OO (was: Why is tcl broken?) [ In reply to ]
Fernando Mato Mira wrote:
>
> William Tanksley wrote:
>
> > (I like all the languages I know, except Fortran. I even like C++,
> > although I wish they could break backwards compatibility.)
>
> Quiz: What do Scheme, Common Lisp, HPF and Java have in common?

And when's Java*, the massively parallel version, coming out?
OO (was: Why is tcl broken?) [ In reply to ]
Ian Wild wrote:

> Fernando Mato Mira wrote:
> >
> > William Tanksley wrote:
> >
> > > (I like all the languages I know, except Fortran. I even like C++,
> > > although I wish they could break backwards compatibility.)
> >
> > Quiz: What do Scheme, Common Lisp, HPF and Java have in common?
>
> And when's Java*, the massively parallel version, coming out?

I seem to have forgotten C, too..
OO (was: Why is tcl broken?) [ In reply to ]
[William Tanksley]
> (I like all the languages I know, except Fortran. I even like C++,
> although I wish they could break backwards compatibility.)

[Fernando Mato Mira]
> Quiz: What do Scheme, Common Lisp, HPF and Java have in common?

Guy Steele's loving ministrations -- but even he gave up on Scheme <wink>.
OO (was: Why is tcl broken?) [ In reply to ]
"Tim Peters" <tim_one@email.msn.com> writes:

> [Fernando Mato Mira]
> > Quiz: What do Scheme, Common Lisp, HPF and Java have in common?
>
> Guy Steele's loving ministrations -- but even he gave up on Scheme <wink>.

Scheme doesn't need G.Steele. Steele just rediscovered Scheme.

Klaus Schilling
OO (was: Why is tcl broken?) [ In reply to ]
wtanksle@dolphin.openprojects.net (William Tanksley) writes:

> On Tue, 15 Jun 1999 01:54:53 GMT, Maxwell Sayles wrote:
> >Robin Becker wrote:
>
> >> postfix, prefix, infix etc etc are isosemantic
>
> >for myself and the others who might not know... can we get an example of
> >each?
> >and i remember someone mentioned parenthesized vs non-parenthesized...
>
> Infix (ML and Prolog):
>
> 3 + (4 minus 10) == 1
> (parenthesis are not optional)
>
> Prefix (C, Lisp, Scheme):
>
> function(that(x(1)))
> or:
> (do-this (do-that (x 1)))
> (Parenthesis are not optional)
>
> Postfix (Forth, Postscript):
>
> 3 4 + SWAP MOD do-that
> rinse on agitate 10 seconds rinse off
> (Parenthesis are not optional)
>
> As a common thread, note that in none of the languages are parenthesis
> optional. In Postfix parenthesis are not optional because they have nno
> meaning; in the other languages they're assigned arbitrary meaning.

This isn't a completely fair example. Postfix can get away without
parentheses only when a) everything that's not a number is a function
and b) the arity (# of arguments) of each function is known and fixed.

Given such restrictions one can also drop the parentheses in prefix
notation.

Infix still requires parentheses even given the above restrictions.

--
Harvey J. Stein
Bloomberg LP
hjstein@bfr.co.il
OO (was: Why is tcl broken?) [ In reply to ]
Fernando Mato Mira <matomira@iname.com> writes:

> I seem to have forgotten C, too..

you lucky bastard!

--
J o h a n K u l l s t a m
[kullstam@ne.mediaone.net]
Don't Fear the Penguin!
OO (was: Why is tcl broken?) [ In reply to ]
On 16 Jun 1999 00:46:56 +0300, Harvey J. Stein wrote:
>wtanksle@dolphin.openprojects.net (William Tanksley) writes:

> > On Tue, 15 Jun 1999 01:54:53 GMT, Maxwell Sayles wrote:
> > >Robin Becker wrote:

> > >> postfix, prefix, infix etc etc are isosemantic

> > >for myself and the others who might not know... can we get an example of
> > >each?
> > >and i remember someone mentioned parenthesized vs non-parenthesized...

> > Prefix (C, Lisp, Scheme):

> > function(that(x(1)))
> > or:
> > (do-this (do-that (x 1)))
> > (Parenthesis are not optional)

> > Postfix (Forth, Postscript):

> > 3 4 + SWAP MOD do-that
> > rinse on agitate 10 seconds rinse off
> > (Parenthesis are not optional)

> > As a common thread, note that in none of the languages are parenthesis
> > optional. In Postfix parenthesis are not optional because they have nno
> > meaning; in the other languages they're assigned arbitrary meaning.

>This isn't a completely fair example. Postfix can get away without
>parentheses only when a) everything that's not a number is a function
>and b) the arity (# of arguments) of each function is known and fixed.

Not true -- in Forth part (a) holds, but part (b) doesn't. The number of
arguments and number of returns can vary arbitrarily; they're put onto and
taken off of a stack.

And I don't see the relevance of restriction (a). It seems that with or
without it we would get the same result -- postfix doesn't need
parenthesis.

Oh, for example, Forth "immediate" words. These aren't the same as other
functions, since they execute at compile time (in all other respects they
are functions, though).

Also, HP RPN uses syntactic elements which are neither numbers nor
functions.

So therefore, neither of your conditions are necessary.

>Given such restrictions one can also drop the parentheses in prefix
>notation.

You're right here, though.

>Infix still requires parentheses even given the above restrictions.

Yes.

We see that postfix never requires parenthesis, and prefix can skip its
parenthesis under certain conditions. Are there any conditions under
which infix can ignore parenthesis?

>Harvey J. Stein

--
-William "Billy" Tanksley
Utinam logica falsa tuam philosophiam totam suffodiant!
:-: May faulty logic undermine your entire philosophy!
OO (was: Why is tcl broken?) [ In reply to ]
* Klaus Schilling
|
| Steele just rediscovered Scheme.

What, do you mean recently?

--Lars M.
OO (was: Why is tcl broken?) [ In reply to ]
Lars Marius Garshol <larsga@ifi.uio.no> writes:

> * Klaus Schilling
> |
> | Steele just rediscovered Scheme.
>
> What, do you mean recently?

No, in the sense `Steele merely rediscovered scheme, not bring it
into being'

Klaus Schilling
OO (was: Why is tcl broken?) [ In reply to ]
* Klaus Schilling
|
| No, in the sense `Steele merely rediscovered scheme, not bring it
| into being'

I don't understand what you mean by this. The two people who created
Scheme originally were Sussman and Steele. If that isn't bringing it
into being I don't know what would be.

(See section 2.8 of 'The Evolution of Lisp'.
<URL: http://www.stat.ucla.edu/develop/lisp/common/docs/Evolution-of-Lisp.ps.gz>)

--Lars M.
OO (was: Why is tcl broken?) [ In reply to ]
Lars Marius Garshol <larsga@ifi.uio.no> writes:

> * Klaus Schilling
> |
> | No, in the sense `Steele merely rediscovered scheme, not bring it
> | into being'
>
> I don't understand what you mean by this. The two people who created
> Scheme originally were Sussman and Steele. If that isn't bringing it
> into being I don't know what would be.

No, they discovered Scheme, they did not create it.

Klaus Schilling
OO (was: Why is tcl broken?) [ In reply to ]
On 16 Jun 1999, Klaus Schilling wrote:

> Lars Marius Garshol <larsga@ifi.uio.no> writes:
>
> > * Klaus Schilling
> > |
> > | No, in the sense `Steele merely rediscovered scheme, not bring it
> > | into being'
> >
> > I don't understand what you mean by this. The two people who created
> > Scheme originally were Sussman and Steele. If that isn't bringing it
> > into being I don't know what would be.
>
> No, they discovered Scheme, they did not create it.
>
> Klaus Schilling
>

*If* you're trying to be enigmatic, PLEASE STOP IT!
-- you're only managing to be obscure.

( If, on the other hand, you're trying to be ignorant, then
by all means, go right ahead! That, we can handle! ;-)


---| Steven D. Majewski (804-982-0831) <sdm7g@Virginia.EDU> |---
---| Department of Molecular Physiology and Biological Physics |---
---| University of Virginia Health Sciences Center |---
---| P.O. Box 10011 Charlottesville, VA 22906-0011 |---

"IA-64 looks just about like what you would expect from a PA-RISC
and IA-32 train wreck with a little VLIW thrown in for spice."
* Thomas J. Merritt <tjm@spam.codegen.com> in <news:comp.arch> *
OO (was: Why is tcl broken?) [ In reply to ]
>>>>> "Klaus" == Klaus Schilling <Klaus.Schilling@home.ivm.de> writes:

Klaus> Lars Marius Garshol <larsga@ifi.uio.no> writes:
>> * Klaus Schilling | | No, in the sense `Steele merely
>> rediscovered scheme, not bring it | into being'
>>
>> I don't understand what you mean by this. The two people who
>> created Scheme originally were Sussman and Steele. If that isn't
>> bringing it into being I don't know what would be.

Klaus> No, they discovered Scheme, they did not create it.

In the interests of ending this, I think I can explain what Klaus means
here.

There's a philosophical debate about whether especially mathematical
ideas are `created' or `discovered'; that is, whether they were cobbled
together by a human or lay there secretly for years only to be stumbled
across by the same human. Mathematicians typically believe that they
only discovered mathematical theorems etc., rather than create them;
it's a sort of tribute to the spare elegance of group theory, for
example.

Klaus appears to mean that Scheme is so mind bogglingly elegant that
Steele could not have created it out of whole cloth, merely discovered
it as a mathematical truth.

As an aside I really don't think Scheme is anywhere near *that* elegant,
and as a matter of fact it hurts me to use the language for more than
trivial things, *precisely* because the damn thing is so small. Fer
crissakes, you don't even have the ability to create an aggregate type
in R5RS! You can fake it; but it sucks, and it doesn't integrate well
with the built in type system...

ObPython: Python is far easier to use IMHO, because it has more stuff
available. I don't need to reinvent the hash table, or cobble together
OOP with closures, 'cause it's done for me, and I don't need to reinvent
SMTP, FTP, network sockets, any of that because it's all in the standard
libraries. When it isn't, like XML, it's usually available elsewhere,
or failing everything I can hack one together myself and drop it in.
Large languages permit small programs, or something like that.
--
Graham Hughes <graham@ccs.ucsb.edu>
GPG Fingerprint: 4FC5 80F0 63EB 00BE F438 E365 084B 4010 60BF 17D3
((lambda (x) (list x (list 'quote x)))
'(lambda (x) (list x (list 'quote x))))
OO (was: Why is tcl broken?) [ In reply to ]
Graham Hughes wrote:

> trivial things, *precisely* because the damn thing is so small. Fer
> crissakes, you don't even have the ability to create an aggregate type
> in R5RS! You can fake it; but it sucks, and it doesn't integrate well
> with the built in type system...

I have a somewhat similar opinion. I can understand the open philosophy of
the standard, but the real problem is that almost every implementation goes
with their favorite OO way (maybe sometimes because of a lack of a CLOS
exposure. I didn't know about CLOS until I started to do CL, and many
schemers are plainly _disgusted_ about CL [Disclaimer: my students called me
"the Schemeboy" [oops, IYKWIM ;-)] back at UBA] ).
Anyway, I find it strange that tinyclos is not more popular as a ready-to-go
and optimized object system.

So then, you're faced with the choice of STk `beign right', MzScheme having
the best plan (IDE, static debugger (what about the dynamic debugger now?)
but no compilation (is it there yet?).
Of course I wouldn't choose STk just because it has a nativized tinyclos. I
could have used the tinyclos
source as it was, but I just went and integrated it into the whole type
hierarchy of MzScheme (adding metaclasses for the original MzScheme object
system (not for me, to give away), nativized primitives.
Unfortunately, that stuff didn't get merged into the distribution, as it
adds to support burden (and probably it's not interesting for them), and
they have dev plans to get some better implementation.

I even went and added a lot of CL stuff on top of that implementation
(source code from CMUCL).
It's possible to move around. This is very important when at some point you
get stuck (thread-unsafe implementation, inefficiency, requirement to run on
JVM, whatever).
I now use a portable way of writing Lisp, at least until CLers and Schemers
decide what can we do about
#f and nil (err.. did I say `comet' before?)