[cltl3-devel] RFC: CLtL3 Charter

John Fremlin john at fremlin.org
Mon Sep 7 05:31:31 UTC 2009


Drew Crampsie wrote:
>> What I was talking about before was (1) a facility for macros to inspect
>> the declared or derived types in the lexical environment,
> 
> Something like this may make it as part of the environments module.
> But, we won't _require_ any compile-time type inference.

Fair enough.

>> auto-sealing generic function system built on this. Namely, if the type
>> is known and matches a defined method then that method may be inlined at
>> the compiler's discretion; if it is later redefined (defsealedmethod) or
>> a more specific method is defined then that may not affect compiled code
>> (in the same vein as inline functions at the moment).
> 
> 
> Something like this is _way_ out of scope. I'd like to offer the tools
> to enable someone to build it portably, but it's not going into the
> description.

Well, if the tools were there that would be an important start. I think 
that at least supporting this sort of extension should be considered.

> I'd need to see some code for this, it's a neat idea, but the
> implementation is likely hairy. Can you point to an existing
> implementation?

No :-)

>>> This is already possible to some extend using symbol shadowing. I
>>> would not want to allow "operator overloading" like in C++ (shudder)
>> Why not?
> 
> Because it's crap, and we have SHADOW.

Well, that's not an argument; I like it. I think it's great. How does 
this essentially differ from the generalized sequences proposal? If you 
called it generalized numbers would you be happier?

>>>> Possibly kill the many bizarrely named or strangely parameterised and
>>>> hardly used functions like `get'.
> 
> Not going to happen.. ever. I used GET just yesterday, and we will not
> be 'killing' anything.
> If you don't like it, don't use it, but removing functionality and CL
> compatibility is not worth it, and not a goal of CLtL3.
> 
>>> "Kill" gets to far - this would break ANSI CL compatibility. We could
>>> deprecate their use and don't import them in the CLtL3 package(s) - so
>>> one could use CL:GET if one wants to. ,
> 
> We will also _not_ be deprecating things from CL because they are
> bizarrely name or parameterized . If anything i'd like to un-deprecate
> a few things ANSI sent down (*-if-not, i',m looking at you).

I meant that using the CLTL3 package should not mean that the more 
unfortunate functions from CL be automatically imported. You cannot bind 
(flet ((get (...))) for example, and while I have indeed used get 
(unfortunately, more than a week ago so not on a par with your mastery 
of it), I think it is unfortunate that a specific functionality managed 
to grab a generic three letter name.

I guess we will have to wait for Attila Lendvai to complete his redesign 
of the Lisp namespace and CLTL3 will be for other things ;-)

>> Backtraces are badly implemented by many projects and would be used by
>> more if they weren't so tricky.
> 
> Trivial-backtrace exists, so there is some need for this. It's covered
> under 'Editing and Introspection' in the charter.

Trivial backtrace and the portable backtrace functionality in it is just 
a start. Backtraces are (badly) implemented in many server projects.

I didn't understand that you'd gone so far to fixing on your charter. 
Sorry for butting in; have fun!





More information about the Cltl3-devel mailing list