Installation steps have confusing elements
Loadup(s)
The installation instructions say roughly:
- Build / get and install [interlisp/maiko]
- Get "loadups"
- Get "runtime"
I have no idea what a "loadup" is, and it doesn't seem to be a common computer science term. Therefore I take it to be jargon belonging to Medley. Could you please document this. Further are they binaries? Why can't I compile them? Should I want to compile them? If I'm going to port the installer to $MY_FAVORITE_HOST_OS the licensing/culture/porting guidelines may or may not let me port a "loadup."
HOWTO: Run Medley
Per the doc, using ./run-medley is obsolete. Well, then, uh, what's the state-of-the-art practice? FWIW, when I tried it on my build on FreeBSD, the script worked so I'm not sure as to whether my success was accidental and undesirable or accidental and permittable.
WHATIS: "sysout"
Not gonna lie, sysout is an amazing idea and it's an idea that was so good most programmers born after 1975 have never heard of it. That's how you know it was good. I'd suggest the "Run Medley" section gain a closing paragraph briefly referencing "exploratory programming" that the "operating system === the memory state of a base sysout + runtime additions applied through Lisp" and that "sysouts" are the memory footprint that results from grooming the base sysout (with lisp) into a particular configuration. Thus to "distribute a program" is to "share a sysout." To "create a sysout" is to "create a program."
I hope I've understood all that, or at the very least documented my ignorance in a way that suggests where I have gone wrong.
I'm not a fan of "loadup" either.
A Medley Lisp sysout is like a system checkpoint/restart image, or a restartable "core" dump - it's a snapshot of the complete memory state of the Lisp system at the time it was made (note: the Lisp system memory, not the state of the emulator's memory, or any of the OS state). Medley sysouts are transportable between host systems of different architectures. Steel Bank Common Lisp provides a similar (though NOT transportable) facility with the "save-lisp-and-die" function.
If you have a complicated, or time-consuming, or delicate process for getting a system working in Medley, and you want to provide a preloaded image, then you might distribute such a system as a sysout (one probably made with MAKESYS, rather than "SYSOUT" - though they both produce a .sysout file, there are differences in exactly what happens when they are restarted). If you have a few files that are easy to load, and they're not particularly sensitive to the other things running at the same time, then you might distribute the source & compiled files to be loaded into any running Medley Lisp system. Examples of the former are Notecards and LFG, and of the latter SKETCH, and many things in the Library and Lispusers directory.
It may help to have some porting notes that explain what needs to be built and what can be reused for porting to a different architecture. They could be a section of REAME or a separate documentation file.
- [ ] check glossary for all terms that aren't well understood (sysout, loadups, ...)s
- [ ] check places in newcomer's documentation todefine the terms inline (if short) and/or point to the glossary
- [ ] the introduction of the primer should aos point to the glossary
- [ ] add a page / topic in the Project part of the web site and/or READMEs that expiicitly are about "How to port Medley to a new platform". This should point to the changes to the Makefiles, dealing with clipboard, PDF, etc.