[clo-devel] Progress in taxonomy

Mario Mommer mommer at igpm.rwth-aachen.de
Sat Mar 13 13:16:28 UTC 2004


Nikodemus Siivola <tsiivola at cc.hut.fi> writes:
> On Sat, 13 Mar 2004, Mario Mommer wrote:
> 
> > (def-project
> >     :label "pg"
> >     :name "Pg"
> >     :category "Database"
> >     :description "A Common Lisp interface to the PostgreSQL database")
> 
> > their project directory (which is desirable.  We could do a lot with
> > this, like automagically generating acceptable temporary project
> > pages) we should be careful to make sure that we don't open a security
> > hole the size of the panama channel.
> 
> Why not have the data in file with just alists,

Good point. But perhaps it looks better this way. In any case,
def-project makes an alist. :)

> and read it into a scratch package with some readtable hackery to 1)
> guard against #. 2) preserve package hygiene. (See main.lisp in
> linedit sources for one example of how to do this.)

Ok.

> Then just:
> 
>  (apply #'make-project :label label (apply #'append alist))?
> 
> Then the profile.sexp (or whatever) would look like:
> 
>  ;;;; Use this file to alter how your project appears on the
>  ;;;; common-lisp.net website.
>  ;;;;
>  ;;;; The contents should be a single alist, with elements of the form
>  ;;;;
>  ;;;;  (<keyword> <value>)
>  ;;;;
>  ;;;; The values will appear on the pages are processed by PRINC.
>  ;;;; Unknown keywords are ignored, so feel free to use them.
>  ;;;; Known keywords are:
>  ;;;;
>  ;;;;  :name, :category, :description, :license
>  ;;;;
>  ;;;; The reading of this is done with some readtable hackery:
>  ;;;;
>  ;;;;   #.foo     => foo
>  ;;;;   foo:bar   => foo :bar
>  ;;;;   foo::bar  => foo :bar
>  ;;;;
> 
>  ((:name "Pg")
>   (:category "Database")
>   (:description "A Common Lisp interface to the PostgreSQL database"))
> 
> As you see I omitted the label form the stuff user-definable things: we
> know that when we read the file anyways.

Good point.

Regards,
        Mario.





More information about the clo-devel mailing list