[cltl3-devel] requirements on CL libraries

Stelian Ionescu stelian.ionescu-zeus at poste.it
Fri May 15 20:17:49 UTC 2009


On Fri, 2009-05-15 at 19:40 +0200, Jochen Schmidt wrote:
> Am 15.05.2009 um 18:17 schrieb Peter Denno:
> 
> Hi Peter,
> 
> > Hi,
> >
> > I support the idea of developing a "standard" common lisp library.  
> > Doing so will provide common lisp with some of the capabilities that  
> > today's programmers expect. Here are some thoughts on the  
> > requirements that such an effort might address:
> >
> ...snipped...
> 
> > - We should address the most important parts first. It is likely  
> > that there would be some debate as to what those parts are. My list  
> > includes regular expressions, XML handling, http and web page  
> > production, Relation DB interfacing. Note that there already is good  
> > code in all of these areas!
> 
> I think such a project is certainly valuable to make common lisp more  
> appealing for newbies - but I'm uncertain if it is really something  
> for a CLtL3.

Yes, I agree. IMO Cltl3 is about updating the base language and library.
XML, HTTP, SMTP etc ... could be taken care of in another project.


> Standardizing on implementations like "cl-ppcre" for  
> regex, mel-base for email a. s. o. would really be the wrong thing.

I don't think it would be so bad. We'd standardise an API, but having a
reference implementation would be almost necessary.


>  So one really could only standardize on interfaces: We could specify  
> which interface an XML library, regex-library or mail library has to  
> provide to be "CLtL3" compliant. Even that is not really what I hoped  
> for with CLtL3, but certainly others may see that differently.
> 
> I would really like to see enhancements on five places:
> 
> 1) [CLtL3-Streams] User-extensible streams
> For streams there is still the gray streams proposal - which is widely  
> supported -  and some new developments like Franz' simple-streams and  
> the new streams interfaces of LispWorks. Things to look for are  
> bivalent streams (good? bad?) unicode issues a. s. o.

Bivalent streams are definitely good. User-extensible streams are
necessary but not enough: sockets and a new interface for opening files
and dealing with the filesystem are also necessary.


> 2) [CLtL3-Sequences] User-extensible sequences
> AFAIR Christophe Rhodes wrote a paper about user extensible sequences.  
> Being able to use functions like POSITION, ELT, MAP, SEARCH a.s.o on  
> your own kinds of sequences.
> 
> 3) [CLtL3-Hash-Tables] User-extensible hash tables
> There is a CDR for generic hash-tables. Most implementations support  
> some extensions to specify a hash-function or some kinds of weakness.
> 
> 4) [CLtL3-Environments] Environment Access for mortals
> In CLtL2 there were some facilities to access environments. Those  
> didn't make it into the ANSI standard, but similar interfaces are  
> supported by most CL systems. Franz made a proposal for an open  
> interface for environment access.

Yes


> 5) [CLtL3-Packages] Enhancing package usefulness
> CL packages are a mighty tool. There have been ideas like hierarchical  
> packages, package aliases and conduits to make managing packages  
> easier. Most implementations support some kind of package locking  
> which could make it into CLtL3-Packages. Another interesting issue  
> would be making symbol case sensitivity a package property. At least  
> CLISP supports such "case sensitive packages". It could be  
> investigated how this could be a good idea or not .

I agree, especially wrt. hierarchical packages and package locks.

-- 
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <https://mailman.common-lisp.net/pipermail/cltl3-devel/attachments/20090515/9d3ad698/attachment.sig>


More information about the Cltl3-devel mailing list