[Prev][Next][Index][Thread]
Re: New Lisp ?
-
To: info-dylan@ai.mit.edu
-
Subject: Re: New Lisp ?
-
From: Jeffrey Siegal <jbs@quiotix.com>
-
Date: Wed, 26 Dec 2001 09:45: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>
-
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.7) Gecko/20011221
-
Xref: traf.lcs.mit.edu comp.lang.scheme:38355 comp.lang.lisp:78199 comp.lang.functional:29621 comp.lang.dylan:13868
Andreas Bogk wrote:
>>doing that in-line. A CLOS-style object system does have type
>>annotations, at least at the method level (which is probably enough),
>>because they're necessary for dispatch.
>>
>
> Having type annotations for bindings gives the optimizer a lot of meat
> to work on.
I'm not so sure about that, given good type inference, and methods that
are kept reasonably small. In any case, it is a trivially small matter
to add type bindings to let statements one they exist for methods.
>>As for conditions, I prefer
>>passing condition handlers as explicit arguments. With proper tail
>>calls and limited use of call/cc to escape out of CPS, it works fine.
>
> I don't think so. Having to pass around handlers for all sorts of
> conditions is a nuisance. This is something CL and Dylan got right,
> IMHO.
Chocolate and vanilla. I would add that explicitly passing condition
handlers around is a bit like explicit typing, becuase it prevents you
from leaving conditions unhandled.
>>>Oh, and dynamism vs. performance tradeoffs like sealing,
>>>primary classes and limited types.
>>>
>>I think these are overhyped features which have been adaquately
>>addressed in Lisp/Scheme using either different implementations as
>>needed, declarations, etc.
>
> The point is that you can start writing code without caring about
> performance. Once the design has settled, you can sprinkle some
> adjectives here and there, and the code becomes fast, without having
> to re-implement performance-critical code. I consider sealing to be a
> good thing.
I do this in Scheme today, and I don't even sprinkle adjectives here and
there, by developing in a developer-friendly environment and then
switching to a highly-optimized block compiler for tuning and production.
References: