[cltl3-devel] wishlist items
Daniel Herring
dherring at tentpost.com
Tue Sep 8 00:44:12 UTC 2009
On Mon, 7 Sep 2009, Robert Uhl wrote:
> Daniel Herring <dherring at tentpost.com> writes:
>>
>> * Allow packages to specify whether they want case folding. The ANSI CL
>> reader folds case first, then looks for a match. I'm aware of a few
>> skunkworks projects which try to reverse that order. Thus CL::REQUIRE
>> will always fold case, but symbols in package PR could have their case
>> preserved.
>
> I think that setting *PRINT-CASE* to :DOWNCASE goes a long way to
> soothing the headaches of a language which defaults to
> upcasing...internally everything is upcased but it displays
> attractively.
>
> Once that's done a lot of the impetus for playing with case-folding goes
> away. The only nuisance is in using strings to refer to symbols, where
> one must actually use "FOO" instead of "foo."
I disagree. "He lost his mit at MIT." "For all x in X..." For many
applications, case folding is fine. For others, it is almost completely
unworkable. There should be a way for different conventions to peacefully
coexist. Test implementations indicate it is completely doable, the
biggest question is one of acceptance by the existing CL community.
>> * Split CL into smaller packages like CL.ALIST, CL.PLIST, etc. Use
>> symbol macros for symbols in CL.
>
> What's your rationale there? Seems like it'd eat up resources without
> any real benefit. But I imagine I'm missing something important:-)
So a package can (:use CL.ALIST) to only get CL's symbols for manipulating
alists, etc. These packages would also provide convenient namespaces for
renamed symbols like copy-alist -> alist:copy or pairlis ->
alist:add-pairs. But such renames may be outside the CLtL3 charter.
Another possibile package would be CL.GENERIC for things like a + generic
function.
>> * Introduce a range api, and use it as a standard way to hook any
>> datastructure into MAP*, NTH, etc. Something like Clojure or D.
>> http://www.digitalmars.com/d/2.0/phobos/std_algorithm.html
>
> Is this the same as generalised sequences?
Yes modulo the details; they are closely related ideas.
- Daniel
More information about the Cltl3-devel
mailing list