Skip to content

Commit 7058340

Browse files
committed
Reverting filenames in running section back to previous names; adjusted weights of .md files in running section to set my preferred ordering; added a script in the scripts directory to print out the weights of the files/subdirs within a directory
1 parent 2e834bd commit 7058340

File tree

12 files changed

+503
-0
lines changed

12 files changed

+503
-0
lines changed

content/en/running/build/_index.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
title: Building the Interlisp system
3+
weight: 60
4+
url: /doc/build.html
5+
aliases:
6+
- /_pages/doc/build.html
7+
type: docs
8+
---
9+
10+
Medley Interlisp is open-source and may be obtained from GitHub. It is portable to many different Linux and Apple MacOS systems, as well as Windows using WSL2.
11+
12+
The core is written in portable C. The system currently depends on an X11 system for its display.
13+
14+
### Obtaining The System
15+
16+
The system comes in two parts. The first is a C-based virtual machine [Maiko](https://github.com/interlisp/maiko).
17+
18+
The remainder of the system is OS / architecture-independent and can be found in the [Medley repository](https://github.com/interlisp/medley).
19+
20+
You can now download Medley Interlisp from a release without building anything; see the Medley [README](https://github.com/interlisp/medley/#readme)
21+
22+
See The Maiko [README](https://github.com/Interlisp/maiko/#readme) for build instructions for Maiko, for systems for which there is no pre-built release.
23+
24+
(See [Medley repo README](https://github.com/Interlisp/medley/#readme) for instructions on getting Medley.
25+
Make sure you have an X-server running to manage the Medley Interlisp display, and the DISPLAY environment variable set to point to your X-server.
26+
27+
Running Medley can be done by typing:
28+
29+
```bash
30+
$ cd medley
31+
$ ./run-medley
32+
```
33+
34+
Or, if you wish to start Medley up with a particular image file (SYSOUT):
35+
36+
```bash
37+
$ cd medley
38+
$ ./run-medley <SYSOUT-file-name>
39+
```
40+
41+
The first time the system is run it loads the system image that comes
42+
with the system. When you exit the system (or "do a `SaveVM`" menu option)
43+
the state of your machine is saved
44+
in a file named `~/lisp.virtualmem`. Subsequent system startups
45+
load the `~/lisp.virtualmem` image by default.
46+
47+
### Exiting The System
48+
49+
The system may be exited from an Interlisp prompt by typing:
50+
51+
```lisp
52+
(LOGOUT)
53+
```
54+
55+
Or from a Common Lisp prompt with:
56+
57+
```lisp
58+
(IL:LOGOUT)
59+
```
60+
61+
When you logout of the system, Medley automatically creates a binary
62+
dump of your system located in your home directory named
63+
``lisp.virtualmem''. The next time you run the system, if you don't
64+
specify a specific image to run, Medley restores that image so that
65+
you can continue right where you left off.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
title: Building Medley Interlisp
3+
weight: 3
4+
type: docs
5+
---
6+
7+
Medley Interlisp is open-source and may be obtained from GitHub. It is
8+
portable to many different Linux and Apple MacOS systems, as well as Windows using WSL2.
9+
10+
The core is written in portable C. The system currently depends on an
11+
X11 system for its display.
12+
13+
## Obtaining The System
14+
15+
The system comes in two parts. The first is a C-based
16+
virtual machine [maiko](https://github.com/interlisp/maiko).
17+
18+
The remainder of the system is OS / architecture-independent and can be found in
19+
the [medley](https://github.com/interlisp/medley) repository.
20+
21+
You can now download Medley Interlisp from a [release](https://github.com/interlisp/medley/releases)
22+
without building anything; see [medley README](https://github.com/Interlisp/medley#readme)
23+
24+
See [The Maiko README](https://github.com/Interlisp/maiko#readme) for build instructions
25+
for Maiko, for systems for which there is no pre-built release.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: Releases
3+
weight: 8
4+
type: docs
5+
---
6+
7+
[Medley repo releases](https://github.com/interlisp/medley/releases) contains the current Medley release. New releases are generated regularly as functionality is restored and extended.
8+
9+
An alternative is to point your browser to [Online Interlisp](https://online.interlisp.org/) and try our cloud hosted version of Medley Interlisp.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Interlisp Online
3+
weight: 10
4+
type: docs
5+
---
6+
7+
[Interlisp Online](https://online.interlisp.org/user/login) provides access to a version of Medley running in the cloud. You can login as a guest, but if you want to save state from one session to the next, you should create an acccount. All that is needed is an email address and password. Once an account has been created you can log in and start a Medley Interlisp session.
8+
9+
Sessions are preserved (we hope) but may be deleted after 30 days of inactivity. Running online should be good for experimenting and introducing yourself to the environment. Anything you create in the online environment should be treated as transient. If you're interested in developing and experimenting with Lisp programs then you will want to investigate other options. But, for a first foray, this is a good starting place. The Interlisp/online repository may have more details.
10+
11+
### Things to note when running online
12+
13+
* Browser compatibility
14+
* Watch out for control-character conflicts (control-W always gets me)
15+
* Security not guaranteed
16+
* Need a solid net connection to our AWS server (currently in Ohio)
17+
* Back to time-sharing
18+
* Maximum load 256/16 24 simultaneous sessions
39 KB
Loading
29 KB
Loading
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
title: Using Interlisp Online
3+
weight: 8
4+
type: docs
5+
---
6+
7+
### A Brief Introduction
8+
9+
### Running Interlisp Online
10+
11+
* Go to [Interlisp Online](https://online.interlisp.org/main)\
12+
{{< imgproc Login_Screen Resize "400x450">}} Interlisp Online Login {{< /imgproc >}}
13+
You may either login as a Guest or create an account. If you plan to save and later retrieve files, [register](https://online.interlisp.org/user/register) and create an account. Guest logins are not guaranteed to perserve sessions and stored files.
14+
15+
However, if you just want to get a taste of Interlisp without the extra effort of creating an account, the guest login will suit your needs.
16+
17+
* Select the Exec you want to run. For this exercise, select `Interlisp`
18+
* Leave the `Fill browser window` option set.
19+
20+
Select `Run Medley`. Your browser will open a window that represents the Interlisp Desktop and looks much like this:
21+
22+
{{< imgproc Online_Initial_Medley Resize "800x450">}} Medley Interlisp{{< /imgproc >}}
23+
24+
The Interlisp Desktop at startup contains 4 windows of interest:
25+
26+
* Prompt Window: The black window at the top of the screen. It is used to display system or application prompts
27+
* Exec (INTERLISP) window: The main window where you run functions and develop programs.
28+
* Medley logo window: A window containing the Interlisp Medley logo as a bit map.
29+
* Status Bar window
30+
31+
### Writing Interlisp programs
32+
33+
In the Exec window, type the following:
34+
35+
```lisp
36+
(PLUS 1 1)
37+
```
38+
39+
When you complete typing the ending `)` the Interlisp interpreter will perform the calculation and return the result.
40+
41+
One thing you probably noticed, the command `PLUS` is capitalized. It’s not that the developers of Interlisp were always shouting at each other. Rather, when Interlisp was developed computer programming was in its infancy and standards for naming commands were still evolving.
42+
43+
### Managing memory images and sessions
44+
45+
In Interlisp, there are two types of files relevant to managing memory images and updating them across sessions: `lisp.virtualmem` and `.sysout`.
46+
47+
The `lisp.virtualmem` file is a capture of the "current" state of the system (i.e., it is a copy of the virtual memory at a point in time). `lisp.virtualmem` is written whenever you execute `(IL:LOGOUT)` and also whenever executing `(IL:SAVEVM)`. You can restart Medley using a `lisp.virtualmem` and it will pick up essentially where it left off before the `LOGOUT` or `SAVEVM` (with the exception that the user can set `BEFORE`/`AFTER` and `LOGOUT`/`SAVEVM` code that runs before you get control of the restarted `lisp.virtualmem`).
48+
49+
A `.sysout` is a virtual memory image produced by `MAKESYS` (for writing an image for distribution) and `SYSOUT` (for saving a named checkpoint, e.g. to revert to a previous state if needed), which differ in the way they process the startup options. You can (and most frequently do) start Medley from a sysout file. When Medley starts from a sysout, it automatically runs initialization scripts — a site initialization script followed by a per-user initialization script (if available). A sysout is what you might call "a clean image".
50+
51+
As for Interlisp Online: except as noted below, every time you `Run Medley` you are starting up from a sysout file (i.e., from a clean image). The exception is if you check the `Resume previous session` box. In that case, you will be starting up from the `lisp.virtualmem` stored for you online (if any) and that was created by the `(IL:LOGOUT)` at the end of your previous session.
52+
53+
As a registered Interlisp Online user you get the choice of resuming your previous image or starting from a clean image — with the default being starting from a clean image.
54+
55+
For guest logins, there is no `Resume previous session` because `lisp.virtualmem` is never preserved for guests.
56+
57+
For registered users, any files that you create (e.g., with `IL:MAKEFILE`) will also be preserved across sessions online. But these files will never be automatically loaded into the system when you re-start with a clean image — you need to `LOAD` them explicitly (or add a `LOAD` to your personal `INIT` file stored online at `{DSK}/home/medley/il/INIT`).
58+
59+
### Save your program as a file
60+
61+
### Opening a saved program
62+
63+
### What next?
Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
---
2+
title: Running on Linux (incl. WSL)
3+
weight: 20
4+
type: docs
5+
---
6+
7+
Medley can run on any Linux system that includes X Windows, including Windows
8+
System For Linux (WSL2 only) on Windows 11 and Windows 10 Build 19044+.
9+
10+
It is also recommended that the Linux system have a web browser installed.
11+
For WSL installations, the browser(s) on the Windows side will suffice.
12+
A browser is not strictly necessary to run Medley, but several features of the system
13+
(e.g., displaying some user documentation) will not work without an external browser
14+
installed.
15+
16+
Medley can be installed on your system in one of two configurations: *standard* and
17+
*local*. Standard installation will install Medley into system directories and install
18+
any prerequisite packages. Local installation will install Medley into any user directory
19+
but any prerequisite packages must be installed manually.
20+
21+
22+
## Standard Installation \(Debian-based systems only\)
23+
24+
Standard installations are currently supported only for Debian-based systems (i.e.,
25+
systems that support dpkg), including Debian-based distros on WSL.
26+
27+
In a standard installation, Medley is installed in system directories
28+
(specifically, /usr/local/interlisp) and support like man pages and (a link to) the
29+
medley executable are also installed in standard system locations (e.g., /usr/local/man
30+
and /usr/local/bin).
31+
32+
Standard installations are ideal for users who want to explore Medley (including its
33+
system code) or to develop applications built on top of Medley. Standard installations
34+
are not good for users who want to modify the Medley system code, since that code is
35+
installed in protected locations.
36+
37+
Standard installation uses `apt` to install a .deb package downloaded from
38+
[the Medley downloads site](https://online.interlisp.org/downloads/medley_downloads.html).
39+
The .deb package will install Medley as well as any other packages needed for Medley to
40+
run.
41+
42+
There are separate .deb packages for "standard" Linux and for WSL (as well as for the
43+
three machine architectures - X86_64, ARM64, ARMv7). The WSL packages differ only in
44+
that they include an additional functionality to have Medley display in a VNC Window
45+
instead of a standard X Window. This is useful on high resolution displays since
46+
the VNC window will scale according to the Windows Settings->Display->Scale setting,
47+
while the X Window on WSL will not so scale. The WSL packages also install the wslu
48+
package, which is used by Medley to connect to external browsers as described above.
49+
Aside from these two features, a non-WSL .deb package will install and run on WSL.
50+
51+
To install a standard package and run Medley:
52+
53+
1. Download
54+
55+
Using a browser download from
56+
[the Medley downloads site](https://online.interlisp.org/downloads/medley_downloads.html)
57+
the .deb package for your platform (i.e., "standard" Linux or WSL) and your machine
58+
architecture (X86_64, ARM64, or ARMv7) to \<deb_filepath\>.
59+
60+
2. Install
61+
62+
In a terminal:
63+
64+
```
65+
ubuntu@oio:~$ sudo apt update
66+
ubuntu@oio:~$ sudo apt install -y <deb_filepath>
67+
```
68+
69+
3. Run
70+
71+
In a terminal:
72+
73+
```
74+
ubuntu@oio:~$ medley
75+
```
76+
77+
There are many options to the `medley` command. For a brief overview, run `medley --help`.
78+
For a more complete description, run `man medley` or `medley --man` or click
79+
[here](https://online.interlisp.org/downloads/man_medley.html).
80+
81+
For first-time users: `medley --apps` or for WSL `medley --apps --vnc` is a good starting
82+
point. This will give you a fully populated Medley system, including the applications built
83+
on Medley such as Notecards and Rooms.
84+
85+
Note: By default, `medley` will create a directory in *$HOME/il*. This will be used by the Medley
86+
system as its *LOGINDIR*. Medley will start up with *LOGINDIR* as its current connected directory.
87+
It will load the personal init file (if any) from *LOGINDIR*/INIT or *LOGINDIR*/INIT.LCOM. Finally,
88+
Medley will use *LOGINDIR*/vmem/ to store its virtual memory file(s). The location of *LOGINDIR*
89+
can be changed using the `--logindir` option to `medley`.
90+
91+
92+
93+
## Local Installation
94+
95+
In a local installation, the Medley system is installed into any user directory from a .tar file.
96+
Multiple "Medleys" can be installed in different directories on one machine without interference
97+
(except see description of Medley *LOGINDIR* below). Local installation makes it easy (from a file
98+
management p.o.v.) to modify the Medley system code.
99+
100+
Local installation doesn't involve a package manager, so you are responsible for installing any
101+
prerequisite packages onto your system before you installing Medley.
102+
103+
Also note that with local installations, `man medley` will not work. However, as indicated below,
104+
`./medley --man` will show the medley man page.
105+
106+
To install and run Medley locally:
107+
108+
1. Install prerequite packages
109+
110+
* For non-WSL installations, use your distro's package manager to install `xdg-utils`.
111+
112+
* For WSL all installations, use your distro's package manager to install `wslu`.
113+
114+
Note that some distros do not include `wslu` in their standard repos. See
115+
[https://wslutiliti.es/wslu/install.html](https://wslutiliti.es/wslu/install.html)
116+
for installation instructions if this is the case.
117+
118+
Also note that `wslu v4.0` does not work with Medley, so you will need to install
119+
either a version < v.40 or >= v4.1.
120+
121+
122+
* For WSL installations where the VNC feature will be used, install the `tigervnc-standalone-server` and `tigervnc-xorg-extension` packages.
123+
124+
When using the VNC feature Medley will display in a VNC Window instead of a standard X Window.
125+
This is useful on high resolution displays since the VNC window will scale according to the
126+
Windows Settings->Display->Scale setting, while the X Window on WSL will not so scale.
127+
128+
Note that Medley will install and run even if none of these prerequite packages are installed.
129+
However, some features (e.g., viewing documentation in an external browser) will be inoperable.
130+
131+
2. Download
132+
133+
Using a browser download from
134+
[the Medley downloads site](https://online.interlisp.org/downloads/medley_downloads.html)
135+
the tar (.tgz) file for your platform (i.e., "standard" Linux or WSL) and your machine
136+
architecture (X86_64, ARM64, or ARMv7) to \<tar_filepath\>.
137+
138+
3. Install Medley
139+
140+
In a terminal:
141+
142+
```
143+
ubuntu@oio:~$ mkdir <medley_directory>
144+
ubuntu@oio:~$ tar -C <medley_directory> -xzf <tar_filepath>
145+
```
146+
147+
4. Run Medley
148+
149+
In a terminal:
150+
151+
```
152+
ubuntu@oio:~$ cd <medley_directory>
153+
ubuntu@oio:~$ ./medley
154+
```
155+
156+
There are many options to the `medley` command. For a brief overview, run `./medley --help`.
157+
For a more complete description, run `./medley --man` or click
158+
[here](https://online.interlisp.org/downloads/man_medley.html).
159+
160+
For first-time users: `./medley --apps` or for WSL (and you have installed the VNC prerequisites)
161+
`./medley --apps --vnc` is a good starting point. This will give you a fully populated Medley system,
162+
including the applications built on Medley such as Notecards and Rooms.
163+
164+
Note: By default, `medley` will create a directory in *$HOME/il*. This will be used by the Medley
165+
system as its *LOGINDIR*. Medley will start up *LOGINDIR* as its current connected directory.
166+
It will load any personal init file from *LOGINDIR*/INIT or *LOGINDIR*/INIT.LCOM. Finally,
167+
Medley will use *LOGINDIR*/vmem/ to store its virtual memory file(s). The location of *LOGINDIR*
168+
can be changed using the `--logindir` option to `medley`. In particular, if you have multiple
169+
installations of Medley that you would like to keep completely seperate, then you can use the
170+
`--logindir -` option, which will set *LOGINDIR* to \<medley_directory\>/logindir.
171+
172+
173+
174+
175+
176+
177+
178+
179+
180+
181+
182+
183+

0 commit comments

Comments
 (0)