[Prev][Next][Index][Thread]

Re: New Lisp ?



Jeffrey Siegal <jbs@quiotix.com> writes:

> I agree about modules, although I don't really like the way Dylan uses
> multiple files to define a simple module.  There should be a way of

The idea behind Dylan was that the source code resides in a code
database, and the file format is just used for interchange.  Of
course, in reality there are source files, and the interchange format
is a little awkward to use.  That should be easier, I agree.

> 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.

> 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.

> > 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.

Andreas

-- 
"In my eyes it is never a crime to steal knowledge. It is a good
theft. The pirate of knowledge is a good pirate."
                                                       (Michel Serres)



Follow-Ups: