[Prev][Next][Index][Thread]
Re: New Lisp ?
-
To: info-dylan@ai.mit.edu
-
Subject: Re: New Lisp ?
-
From: Jeffrey Siegal <jbs@quiotix.com>
-
Date: Thu, 27 Dec 2001 00:30:02 -0500 (EST)
-
Organization: Posted via Supernews, http://www.supernews.com
-
References: <c571739c.0112211614.24569c07@posting.google.com> <okfg064ugsh.fsf@bellsouth.net> <3218011993496537@naggum.net> <okf4rmjv2n6.fsf@bellsouth.net> <3218025363470352@naggum.net> <slrna2acon.8d1.markj+0111@cloaked.freeserve.co.uk> <c571739c.0112222317.3d2be7fd@posting.google.com> <slrna2b8q0.1bm.markj+0111@cloaked.freeserve.co.uk> <c571739c.0112230535.2dd6f1b1@posting.google.com> <scoc2u4qkpue4mt9irr0cldu5ig913qogr@4ax.com> <l91d2ucqplfm9auo2gi20pd74ktnl2utlp@4ax.com> <ni8f2uck3ua78ucps9kg9c4sal2g38r85v@4ax.com> <87vgew4631.fsf@teonanacatl.andreas.org> <3C27C7BC.DECCE7DB@quiotix.com> <87pu542jjz.fsf@teonanacatl.andreas.org> <3C27D85C.9E5FE363@quiotix.com> <87ellk9el3.fsf@teonanacatl.andreas.org> <3C28500F.6652B4EB@quiotix.com> <874rmf3x4c.fsf@teonanacatl.andreas.org> <okfsn9xs9do.fsf@bellsouth.net> <877kr9l24k.fsf@teonanacatl.andreas.org>
-
Xref: traf.lcs.mit.edu comp.lang.scheme:38377 comp.lang.lisp:78259 comp.lang.functional:29640 comp.lang.dylan:13880
Andreas Bogk wrote:
> As soon as you pile up some layers of code, it quickly becomes tedious
> to pass around handlers everywhere. Just imagine passing a GUI dialog
> for resolving a "disk full" condition all the way through the GUI,
> your application code, your storage abstraction down to the actual
> disk access.
What happens in Java is that you have to at least declare the exceptions
up the chain anyway (the compiler will reject a method that doesn't
catch or throw E which involves a method declared to throw E. It isn't
that much harder to explicitly pass the handler.
> So you get all the performance benefits you'd get when implementing
> integers specially, like Java does, but still <integer>s are regular
> objects, and you can get the same kind of performance benefits for
> your own classes.
Yes and no. They're not "regular objects" because they can't be
subclassed. I think what you'd see in any kind of production
environment if Dylan were used is that almost everything would get
sealed off, much the way a lot of Java code makes extensive use of
"final." At that point, you might as well just use a static block
compiler and let the compiler recognize what is subclassed and what
isn't.
Follow-Ups:
References: