[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