Re: Naive DEFSYSTEM replacement
"Rainer Joswig (as joswig at lisp dot de)" <[email protected]>
| Newsgroups | gmane.lisp.lispworks.general |
|---|---|
| Message-ID | <[email protected]> |
I've seen a lot of use back then of the Kantrowitz' Portable Utilities for Common Lisp (XREF, METERING, DEFSYSTEM, LOGICAL-PATHNAMES, SOURCE-COMPARE, USERMANUAL). Well written, also. The tools used back then were not SBCL, SLIME and ASDF. But they were CMUCL (and AKCL / CLISP / GCL), ILISP (for GNU Emacs and XEmacs), Kantrowitz Utilities, ... It's good to see that ASDF is widely used, even though I probably have also my problems with it - given that I'm also used to Symbolics SCT or the LispWorks Defsystem. I think it's great that LispWorks bundles it and, IIRC, also a newer version. > Am 28.07.2025 um 17:44 schrieb Robert Goldman <[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] >