OO (was: Why is tcl broken?)

Fernando Mato Mira matomira at iname.com
Thu Jun 17 10:28:03 CEST 1999

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?)

More information about the Python-list mailing list