Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Well, the MIT Lisp Machine was also a fully object-oriented system. Just using Flavors (and later CLOS) instead of Smalltalk.


While you could meaningfully use dedicated smalltalk workstations without ever coming across the concept of filesystem and use images for persistence, Lisp machines were heavily file based.

In context of software development environments this distinction holds still, in Smalltalk implementations getting some kind of source code that can be versioned by normal VCS like subversion or git is generally an hackish afterthought and source code is mostly stored in heap or one large binary memory image, while in Common Lisp implementations the whole concept of images is more or less equivalent to "artifact you get by building the project".


All Lisp Machines booted and saved images. For the Symbolics Lisp machine it was not unusual to boot into remote image and save/load incremental images. In Genera one typically loads a software into an image and then dump a new incremental image and use that later. Source code was typically stored in files (with versions) and maintained by a tool called 'system construction kit'. There were some higher-level tools like KEE, which developed knowledge-based systems mostly inside the image using GUI interfaces under program control.

The first thing you do when setting up a personal Lisp Machine, is loading a bunch of software. This is typically done by typing the name of the software and the machine finds it in the software repository and loads it. 'Load System 'FOO''. Once the software is loaded one writes a new image, often an incremental (delta) image. 'Save World :incremental ...'. After that the Lisp machines asks whether to modify the boot sequence to use the new image... The systems itself, were usually stored on a central file server and registered by name. Often also a bunch of preconfigured images were provided.

Working with images AND files was already available in the 60s for example in BBN Lisp. BBN Lisp could dump images, which one later loads for further use.

But what you think of Smalltalk as image based development was available in Xerox Interlisp and Interlisp-D.

See: http://larry.masinter.net/interlisp-ieee.pdf

> The file package removes from the user the burden of keeping track of where things are and what things have changed. For example, the file package keeps track of which file contains a particular datum, e.g., a function definition or record declaration. In many cases, it automatically retrieves the necessary lisp system during the interactive session. During this process, the primary copy of the program (the copy that is changed during editing operations) resides in the programming system as a data structure; editing is performed by modifying this data structure. For this reason, Imerlisp is called a residential system.'

> In a residential system, it is important to be able to take procedures represented by data structures and print them on text files in an input-compatible format for use as backup, for transporting programs from one environment to another, and to provide hardcopy listings.

...

> By this point, the Interlisp user did not have to worry about maintaining his source files, save for occasionally calling cleanup.

> The file package supports the abstraction that the user is truly manipulating his program as data and that the file is merely one particular external representation of a collection of program pieces. During a session, the user manipulates the pieces with a variety of tools, occasionally saving what he has done by calling the eleanup function.

> The user can also operate in a mode where programs are treated as residing in a data base, i.e., the external file system, with a variety of sophisticated retrieval tools at his disposal.

Btw., there are also current Common Lisp systems which make more use of images.

http://www.lispworks.com/documentation/lw61/IDE-M/html/ide-m...


Yes, but they got their inspiration from Smalltalk, as Interlisp is younger than it.

The Interlisp manuals have some references to it.

Anyway, both systems are great. And their strong typed brother Mesa/Cedar also. Which was Wirth's inspiration for Oberon.

Only someone that never used these systems can find similarities between them and Plan9, in terms of overall experience.


Interlisp is older than Smalltalk.

a) the MIT Lisp Machine did not run Interlisp, they ran Lisp Machine Lisp, which is based on Maclisp out of the 60s.

b) Interlisp is a renamed BBN Lisp, which started in 1967. BBN Lisp was based on L. Peter Deutsch's PDP 1 Lisp from the early 60s. L. Peter Deutsch later worked at Xerox PARC on Smalltalk, too. He developed the virtual machines, etc.

Smalltalk was influenced of earlier Lisp work like BBN Lisp and Planner. Lisp Machines were influenced by Smalltalk - but they were developed roughly at the same time: starting early 70s.


I got that understanding from this website:

http://www.chilton-computing.org.uk/inf/literature/books/wm/...

<quote> "Interlisp-D was a real system with about 1000 users and was influenced by Smalltalk: it was an object-oriented system." </quote>


That's Interlisp-D, not Interlisp. As I said Interlisp is out of the 60s and had already an IDE, interactive development (but not with mouse/windows), could save and boot images, had a structure editor, had source code management, ...

See for example Teitelman's paper on 'Automated Programming' from 1972: http://www.softwarepreservation.org/projects/LISP/interlisp/...

Interlisp was ported to the Alto in the early/mid 70s and to the Dorado.

Interlisp-D is the single user, window/mouse/keyboard/workstation variant of Interlisp.

"Interlisp-D is both a revision and an implementation of the lnterlisp virtual machine specification [Moore, 76] for the Dolphin and Dorado personal computers."

PDP1 Lisp -> BBN Lisp -> Interlisp -> Alto Lisp -> Interlisp-D.

Sure it was influenced by Smalltalk.


Thanks for the clarification. It is always a pleasure to discuss such issues with you.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: