The feel of a LispM/List of running machines

Mike McDonald
Thu, 01 May 1997 13:28:13 -0700

>From: "Alaric B. Williams" <>
>To: Martin Cracauer <>
>Date: Thu, 1 May 1997 20:24:48 +0000
>Subject: Re: The feel of a LispM/List of running machines

>I'd be most interested to know how the LispM dealt with:
> - Storage. Files? Persistent objects? A directory structure?

  LispMs had a hierarchical file system. Pathnames looked like
titan:>mac>graphics>painter.lisp.37. They also supported logical
pathnames like sys:color;alu.lisp. A logical pathname would get
converted into a physical pathname by the system using info stored in
sys.translation files. Physical pathnames were of the form host:<host
specific path>. For instance, trantor:/usr/mac/foo.lisp was also a
vaild physical pathname, that happens to refer to a file on a Unix

  The LispM's local filesystem supported versions, attributes, and two
types of wildcards. There's the normal * which means match a single
compontent. Then they was the ** which meant do a recursive match. So,
doing (directory-list "titan:>**>*.*.*") would return a list of every
file on the machine! titan:>**>*.lisp.newest woudl return all of the
latest lisp sources. Try that in Unix! (You'd have to crank up find.)

> - Devices. Are there printer objects in a "printers" directory?
>   Or are printers not "reified", meaning there's something like
>   a (send-to-printer <printer-number> <string>), ie a programmer-level
>   only thing like DOS and Windows do it?
>> Martin

  Printers didn't live in a "printer's directory". They were
represented by namespace object, along with hosts, users, and sites.
Theyre were commands to print files and do screen dumps (anyone else
hack LPGs?). Since this was before the days of PostScript, if you had
a PS printer hooked up and wanted to generate specific PS for it,
you'd have to do that yourself. (You could print text and do screen
dump to it, though.)

  Mike McDonald