[cltl3-devel] RFC: CLtL3 Charter

John Fremlin john at fremlin.org
Sun Sep 6 07:35:56 UTC 2009


It's awesome that the standard is getting revisited.

In my view there are four main problem areas. I think it's most
important that the broken or lacking core language features be
addressed! Other languages have groups continually going over these
things; Common Lisp needs one too.

   (1) Missing or broken language features that should be added or fixed

Crummy type-system (at least parameterised types please)! 

As Levente also brought up: also access to type inference, etc. This
would allow:

Efficient generic functions dispatched to inline expansions at compile time.

Value semantics.

More help for code walkers and transformers (what does a declare form
refer to?, etc.)

Limited(?) serialisation of closures.

Ability to locally alias a symbol and package

   (2) Brokenness in the current Lisp standard

Different facilities should be separated and put into different packages.

Pathnames are overly complicated and do not handle symlinks well.

Extensible sequences, gray streams, etc.

Hash-tables should be generalised like extensible sequences allow user
implementation of other datastructures.

eq, eql, equal, equalp are not enough; nothing should restrict itself to
these comparisons.

Generally all functions like +, -, equal etc. should be overridable for
user's custom types with the efficient compile-time dispatched generic
function mechanism.

This would allow (explicit) laziness!

Possibly kill the many bizarrely named or strangely parameterised and
hardly used functions like `get'.

   (3) Stuff all implementations provide but is not standard

Unsafe machine pointers

Weak pointers

Details from room

GC

Stack frame inspection

etc.

   (4) Libraries that basically already exist but would be useful as
part of the standard
    
    cl-ppcre, local-time, osicat, cffi, etc.




More information about the Cltl3-devel mailing list