Re: Naive DEFSYSTEM replacement

"Robert Goldman (as rpgoldman at sift dot net)" <[email protected]>
Newsgroups gmane.lisp.lispworks.general
Message-ID <[email protected]>
That may be true, but I argue that it's ASDF that really made it 
possible to share these libraries.  I was active in these days myself, 
and it was really quite painful to install one of these libraries. It 
typically involved editing configuration files, often with a lot of 
fussy pathnames.  Personally, the only libraries I used (aside from what 
the Symbolics provided) were those built by my adviser (Eugene Charniak) 
and his close friend and colleague, Drew McDermott.  We used McDermott's 
Nisp layer and the FRAIL frame system on top of it.  I can think of 
other research groups at the time that were similar: they all worked in 
a private software environment, and there was little interchange.

R

On 28 Jul 2025, at 9:45, joswig (as joswig at lisp dot de) wrote:

> The CMU AI Repository has quite a bunch of libraries and applications 
> shared pre ASDF.
>
> For example Portable Common LOOPS (PCL) was available on 10+ 
> implementations. Gabriel Benchmarks. ITERATE. SERIES. CLX, CLUE, CLIO. 
> ZEBU, ILU,, Kantrowith contribs, ...
>
>
>> Am 28.07.2025 um 03:08 schrieb Robert Goldman (as rpgoldman at sift 
>> dot net) <[email protected]>:
>>
>> On 26 Jul 2025, at 19:55, Adam Weaver (as adam at cleversure dot com 
>> dot au) wrote:
>>
>> Anyway, thanks Tim. I'm going to go back to ASDF, because I do like 
>> its
>> configuration file format. And although MK:DEFSYSTEM looks 
>> interesting
>> too, ASDF2 is the one bundled with LW. And I'm wedded to LW.
>>
>> One big advantage of ASDF over MK-DEFSYSTEM is the key Dan Barlow 
>> idea of using *load-truename* to find the source files for a system. 
>> MK-DEFSYSTEM still leaves you without any way to load libraries 
>> without laboriously setting up logical pathnames or something. I 
>> remember the bad old days when if you wanted to install a new system, 
>> you had to edit a bunch of files to tell CL where to find the source.
>>
>> Honestly, in the bad old days before ASDF there really were not 
>> commonly used libraries in the CL world! I can remember when almost 
>> the only libraries were code libraries shared among members of a 
>> single lab. Or, as in the case of Paradigms of AI Programming, one 
>> set of source files for a single textbook.
>>
>> Not 100% true, but mostly true. It's hard to overstate how important 
>> Barlow's development of ASDF was to the CL community.
>>
>> For example, here's a piece of the Garnet graphical UI system:
>>
>> ;;; This file basically moves all of the moving parts of 
>> garnet-loader
>> ;;;into one place, it also establishes a few other options which may
>> ;;;be useful when working in Garnet.   As the corresponding constants
>> ;;;are defined in garnet-loader with a defvar statement, you can
>> ;;;modify this and then load garnet-loader.
>> ;;;
>> ;;;
>>
>> ;;; This next variable should be set to the location of all
>> ;;; garent sources, libs, binaries.  If for some reason this load 
>> form
>> ;;; does not work for you, set this variable appropriately.  This 
>> form
>> ;;; is also loaded (as a defvar) in garnet-loader so you can comment
>> ;;; this line out if your config-garnet is in a different directory
>> ;;; than your garnet-loader.
>> (setq Your-Garnet-Pathame
>>   (namestring (make-pathname :directory
>> 			     (pathname-directory *load-truename*))))
>> This is for a system that has no external dependencies. Now imagine 
>> trying to assemble a set of libraries as in modern programming, where 
>> there might be dependencies you don't even know! No ASDF: no 
>> quicklisp. It would be like Python without PyPi.
>>



Robert P. Goldman
Research Fellow
Smart Information Flow Technologies (d/b/a SIFT, LLC)

319 N. First Ave., Suite 400
Minneapolis, MN 55401

Google Voice:	(612) 326-3934
Cell: (612) 384-3454
Email:    [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.