[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