From: register_allocation
Subject: Newbie asdf problem
Date: 
Message-ID: <1d94g.13448$i41.13431@newsread1.news.atl.earthlink.net>
I'm running clisp 2.33.2 on Linux.

1. First of all, I'm not sure if I've got asdf set up right.  All I did
was d/l asdf.lisp from sourceforge, put it in my ~/lisp directory,
compile it, and put (load "asdf") in my .clisprc file.  Is there
anything else I need to do?

2. OK, here's my actual problem.  I am reading through _Practical
Common Lisp_.  I made a ~/lisp/practicals directory, and put
the contents of Chapter08 and Chapter15 (from the tarball for
the book on gigamonkeys.com) under ~/lisp/practicals.  If I
enter

    	(asdf:oos 'asdf:load-op :macro-utilities)

I get an error 'component "macro-utilities" not found'.  If I
load the files manually

    	(load "Chapter08/packages")
    	(load "Chapter08/macro-utilities")

Everything works fine.  Can anyone tell me why asdf can't find the
macro-utilities stuff?  This is the first time I've ever used
asdf, so hopefully this is just some simple configuration issue?

tia,
ra

From: Frank Buss
Subject: Re: Newbie asdf problem
Date: 
Message-ID: <1vj1mcvfzxts7.1go3kh33a0m57$.dlg@40tude.net>
register_allocation wrote:

> the book on gigamonkeys.com) under ~/lisp/practicals.  If I
> enter
> 
>     	(asdf:oos 'asdf:load-op :macro-utilities)
> 
> I get an error 'component "macro-utilities" not found'. 

one solution would be to do a
(pushnew "/yourhome/lisp/yourdirectory/" asdf:*central-registry*)
after loading asdf.lisp.

-- 
Frank Buss, ··@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
From: Rob Warnock
Subject: Re: Newbie asdf problem
Date: 
Message-ID: <poudnbhM_rqG-MzZnZ2dnUVZ_sednZ2d@speakeasy.net>
Frank Buss  <··@frank-buss.de> wrote:
+---------------
| register_allocation wrote:
| > (asdf:oos 'asdf:load-op :macro-utilities)
| > I get an error 'component "macro-utilities" not found'. 
| 
| one solution would be to do a
| (pushnew "/yourhome/lisp/yourdirectory/" asdf:*central-registry*)
| after loading asdf.lisp.
+---------------

Another hint: To avoid lots of dups ending up in ASDF:*CENTRAL-REGISTRY*,
you should add a :TEST #'EQUAL to the PUSHNEW, e.g.:

  (pushnew #p"library:local/systems/" asdf:*central-registry* :test #'equal)

Why? Because depending on the implementation and/or whether the code
is compiled, you might get this:

  > (eql "/yourhome/lisp/yourdirectory/" "/yourhome/lisp/yourdirectory/")

  NIL
  > (eql #p"library:local/systems/" #p"library:local/systems/")

  NIL
  >

but you should *always* get this:

  > (equal "/yourhome/lisp/yourdirectory/" "/yourhome/lisp/yourdirectory/")

  T
  > (equal #p"library:local/systems/" #p"library:local/systems/")

  T
  >


-Rob

p.s. CMUCL *sometimes* does constant coalescing even uncompiled,
in the REPL, if the expression being EVAL'd is "complex enough". 
E.g., the above two EQL tests both report NIL, as shown, yet we
also get this:

  > (let () (eql #p"library:local/systems/" #p"library:local/systems/"))

  T
  >

Yet a (LET () (EQL "string" "string")) returns NIL. Go figure.

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: register_allocation
Subject: Re: Newbie asdf problem
Date: 
Message-ID: <IW94g.13464$i41.1236@newsread1.news.atl.earthlink.net>
Frank Buss <··@frank-buss.de> wrote in 
·····································@40tude.net:

> one solution would be to do a
> (pushnew "/yourhome/lisp/yourdirectory/" asdf:*central-registry*)
> after loading asdf.lisp.
> 

Yeah, that did it.  Thanks.

ra