[Openmcl-devel] ccl and asdf-install (wiki hints)

Philippe Sismondi psismondi at arqux.com
Wed Jan 6 15:15:15 PST 2010


On 2010-01-06, at 5:56 PM, Robert Goldman wrote:

> On 1/6/10 Jan 6 -4:31 PM, Philippe Sismondi wrote:
>> I am now struggling with learning asdf and asdf-install. (I confess that
>> I am still pretty much stuck at the beginner level with CL, so be kind....)
>> 
>> Anyway, on the
>> page http://trac.clozure.com/ccl/wiki/HintsForAsdfAndOpenmcl it suggests
>> this code for ccl-init.lisp (macports version):
>> 
>> (pushnew "ccl:tools;asdf-install;site-systems;"
>>        asdf:*central-registry* :test #'string-equal)
>> 
>> Shouldn't :test be #'equal instead of #'string-equal?
>> 
>> When I use #'string-equal I get errors test against
>> asdf:*central-registry* because it's a pathname, if I understand
>> correctly. Little bumps in the road like this throw me off more than
>> they should, perhaps.
> 
> I would suggest you just PUSH this onto the asdf:*central-registry*
> instead of fussing with PUSHNEW.
> 
> PUSHNEW is going to a lot of effort to try to detect whether an element
> is already there, but
> 
> (a) who cares if there is more than one copy?  Yes, if you have a
> zillion copies, performance will bog down and you'll be in trouble.  But
> I bet this not your problem.
> 
> (b) asdf:*central-registry* is an /ordered/ data structure, and you want
> to control the order.  PUSHNEW is appropriate for a set (unordered) data
> structure, where you just care about whether something is there or not.
> It's not appropriate for an ordered data structure, because it takes
> control of the ordering away from you.  If I push a, b, and c onto
> asdf:*central-registry*, I want them to appear c before b before a.  I
> don't want to get c after b and a because somebody else happened to put
> c there earlier.
> 
> Best,
> R

Thanks, Robert. In my limited experience to date I have always used push to add something to asdf:*central-registry*. However, I wonder then whether the ccl wiki content (at the link I posted) should be changed. And, I wondered if I had just misunderstood something on the wiki page.

I know from previous posts on this mailing list that keeping the wiki and docs up to date is quite an effort for the developers, so I'm not complaining - just asking !

- Phil -




More information about the Openmcl-devel mailing list