Lisp HUG Maillist Archive

asdf, defsystem

I'm using LWM Personal 4.4.5, and I'm very interested in trying out  
cl-prevalence, among other things, that use asdf (which, in general,  
sounds like a nice item for anything that requires more than a couple  
of files). I've searched the LW documentation, the Common Lisp  
Hyperspec and the web in general and have not found anything that  
properly explains how to install and use it with LWM. Any clues?

One of the sites I found on asdf recommended learning about  
defsystem, which also seems to be lacking in readily available  
documentation.

Laughing Water


Re: asdf, defsystem

On Sat, 3 Sep 2005 16:02:59 -0600, Laughing Water <lw@mt.net> wrote:

> I'm using LWM Personal 4.4.5, and I'm very interested in trying out
> cl-prevalence, among other things, that use asdf (which, in general,
> sounds like a nice item for anything that requires more than a
> couple of files). I've searched the LW documentation, the Common
> Lisp Hyperspec and the web in general and have not found anything
> that properly explains how to install and use it with LWM. Any
> clues?
>
> One of the sites I found on asdf recommended learning about
> defsystem, which also seems to be lacking in readily available
> documentation.

I've written a small tutorial about ASDF-INSTALL which, amongst other
things, also tries to explain how ASDF works and how it is used.  It
is here:

  <http://weitz.de/asdf-install/>

Basically you just compile asdf.lisp once from LW, and put a LOAD
statement in your LW init file[*] so you have it always available.
Then you have to tell ASDF where your system definitions (the files
ending in .asd) are.  On Unix-like system like OS X the easiest way to
do it is to put symbolic links to these files into one directory
(like, say, /Users/lw/Registry/) and add a statement like

  (pushnew "/Users/lw/Registry/" asdf:*central-registry* :test #'equal)

to your init file (after the LOAD form that loads ASDF).

Now you should be able to use a statement like

  (asdf:oos 'asdf:load-op :cl-prevalence)

to compile (if necessary) and load CL-PREVALENCE (provided you have a
symlink to cl-prevalence.asd in the afore-mentioned registry folder).

Does that help?

BTW, once you have ASDF working you can try out my LW-ADD-ONS package
from

  <http://weitz.de/lw-add-ons/>

which integrates ASDF (partially) with LW's own defsystem facility.

HTH,
Edi.

[*] As you're using the Personal Edition of LW your init file won't be
    loaded automatically on startup.  Bill Clementson explains a
    workaround here:

      <http://bc.tech.coop/blog/050831.html>


Re: asdf, defsystem

On Sep 3, 2005, at 6:02 PM, Laughing Water wrote:

> I'm using LWM Personal 4.4.5, and I'm very interested in trying out 
> cl-prevalence, among other things, that use asdf (which, in general, 
> sounds like a nice item for anything that requires more than a couple 
> of files). I've searched the LW documentation, the Common Lisp 
> Hyperspec and the web in general and have not found anything that 
> properly explains how to install and use it with LWM. Any clues?
>
> One of the sites I found on asdf recommended learning about defsystem, 
> which also seems to be lacking in readily available documentation.

For MK:DEFSYSTEM there is some minor documentation in the tarball you 
get from CLOCC.  At some point there was some documentation on 
cons.org, but that got lost.

In general, installing MK:DEFSYSTEM is easy.  You just want to make 
sure the file "defsystem.lisp" is loaded in you CL.  This amounts to 
having

	(load "/where/your/defsystem/is/defsystem.lisp")

Once you have that, you need to decide where you keep your "systems".  
Say "/my/home/cl/systems/".  In your init file you just add

	(mk:add-registry-location "/my/home/cl/systems/")

and you are pretty much home free.  If a system has the following 
directory structure

	my-system/
		my-system.system
		...

Then MK:DEFSYSTEM will work automagically.

Apart from that, you can use ASDF-INSTALL with MK:DEFSYSTEM.

Cheers

--
Marco Antoniotti					http://bioinformatics.nyu.edu
NYU Courant Bioinformatics Group		tel. +1 - 212 - 998 3488
715 Broadway 10th FL				fax. +1 - 212 - 998 3484
New York, NY, 10003, U.S.A.


Updated at: 2020-12-10 08:50 UTC