INTERLISP and Symbolics were even worse - you were always in the development environment and couldn't get anything out except a saved state dump.
Eventually the LISP crowd got it and started generating executables, but it was too late by then.
INTERLISP and Symbolics were even worse - you were always in the development environment and couldn't get anything out except a saved state dump.
Eventually the LISP crowd got it and started generating executables, but it was too late by then.
Symbolics had a delivery Lisp on DOS/Windows called CLOE.
On a Lisp Machine one also was not always in the full development environment. But Lisp was the operating system and thus Lisp plus some dev tools was always there. But when one wanted to use the development environment to its full capability one would need to load more stuff and create worlds with more debug information.
The delivery of Lisp applications wasn't a thing until after the mid 80s. Before that there were not that many Lisp applications and not too much machines to install it on. This changed with UNIX workstations, 386/486 PCs, Macs with 68030/40. Even in the early 90s there were questions how to deliver Lisp software in static form to end users. The question was often answered with "rewrite it in C++". Sometimes: prototype it in Lisp and then rewrite it in C++. Sometimes: migrate to C++. Sometimes: use a Lisp compiler generating C code.
For some discussion of delivery problems in Lisp see the German Apply project from 1992:
https://www.researchgate.net/publication/229022605_APPLY_A_m...
Then there were also delivery systems on the Ivory. There was even a stripped down Lisp operating system called Minima for those, IIRC.
Minima was also used for some debug tooling for building the machines themselves, iirc.
Having Genera/Ivory boards in a Mac was also seen as a delivery vehicle. For example:
http://www.bitsavers.org/pdf/symbolics/software/genera_8/Mac...
"MacIvory Delivery is not suitable for application development or debugging.... MacIvory Delivery is tailored for delivery environments"
That sounds the same as Python and Java work now. For python, you have .py source code files or .pyc or .pyo compiled files, but you still have to load them into the Python interpreter.
I asked the Franz LISP devs why they didn't provide a runtime you could just link in, yielding a releaseable executable program without all the baggage for breaking and debugging.
Even now, you typically need to have Python or Java installed on your computer to run Python or Java programs. There are ways to generate standalone Python executables but it's not the usual way of working.
Not really, the .o files were fully compiled, they just needed to call C functions in the Franz Lisp runtime.
Perhaps you are asking for that to be available as a library? The size isn't very large so it's not big a deal.
A Lisp executable then can be one file which includes a runtime and the (compiled) Lisp code. One could also have these as two separate files.
The there are two basic ways to provide the Lisp code: it's either just compiled code or a memory image of containing the code. SBCL uses the memory image approach. ECL (Embeddable Common Lisp) uses the 'compiled code' approach. ECL compiles to C and then adds the compiled C code to its runtime.