From: Jordan K Hubbard
Subject: Good way to load whole "systems" into akcl?
Date: 
Message-ID: <HUBBARD.91Aug30022026@fork-city.pa.dec.com>
You all know the story - you want a lisp that has pcl compiled in,
so you compile pcs and dump a saved image.. Then you feel like playing
with CLX, so you finally succeed in compiling that up after tearing out
some hair and you dump another image..  Then maybe you decide that
CLUE sounds interesting, so you suddenly need an image with both
pcl and CLX in it (by which time your saved binary is 6MB and growing).

This all seems sort of wasteful and rather inflexible if all you'd
like to do is start up a pure akcl most of the time and only load
pcl, or clx, or pcl+clx+clue optionally for those occasions that you
need them..  For these sorts of things, a (load-system ...) or (dump-system ..)
type of facility would sure be nice - some way of loading in a large
chunk of stuff in at one go, but I sure don't see it.

Anyone have any ideas?

					Jordan

From: Simon Leinen
Subject: Re: Good way to load whole "systems" into akcl?
Date: 
Message-ID: <SIMON.91Aug30155433@liasun5.epfl.ch>
I often use the defsystem feature contained in PCL.  You could make a
defsystem package along the lines of
----------------------------------------------------------------------
(defpackage "DEFSYSTEM"
  (:nicknames "DS")
  (:export "DEFSYSTEM" "COMPILE-SYSTEM" "LOAD-SYSTEM" "OPERATE-ON-SYSTEM")
  (:import-from "PCL" "DEFSYSTEM" "OPERATE-ON-SYSTEM"))

(in-package "DEFSYSTEM")

(defun compile-system (system-name) (operate-on-system system-name :compile))
(defun load-system (system-name) (operate-on-system system-name :load))
----------------------------------------------------------------------
Making system definitions is not too difficult if you don't care about
compilation dependencies.  There is some documentation and a good
example (the system description for PCL) in defsys.lisp in the PCL
distribution.
-- 
Simon.
From: Paul Frederick Snively
Subject: Re: Good way to load whole "systems" into akcl?
Date: 
Message-ID: <46349@cup.portal.com>
You received a good suggestion re: using the system definition facility
provided with PCL to define systems and their dependencies.  I might offer
an alternative suggestion: there's another defsys facility, along with
numerous other wonderful Lisp utilities, available for anonymous FTP.
FTP to a.gp.cs.cmu, and in one step, cd to /usr/mkant/Public; within that
directory you will find the utilities, a PostScript documentation file, and
other related goodies.  Of particular interest to you should be the defsys
facility and the xref facility; if my memory serves me correctly, one of the
features of the xref facility is that it can parse your source code and
generate a system definition suitable for defsys for you--including
compile/load order dependencies!  A real Godsend, if you're dealing with
large, complex Common Lisp systems.  (Of course, my memory could be failing,
and I could be undertaking an exercise in wish-fulfillment...)

Happy Hunting!
Paul Snively
·····@cup.portal.com