Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 19 additions & 14 deletions content/en/software/using-medley/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ aliases:
- /using-medley/
- /medley/using/
- /medley/using/docs/medley/orientation/
- /medley/using/docs/medley/
---

Whether you're just getting started or refreshing your knowledge of Interlisp, we have a variety of documentation to help you along.
Expand All @@ -28,38 +29,42 @@ Most of these resources were created decades ago when Medley was a research syst

#### Introductory material

1. [The Basics of Interlisp](/software/Using.html). Essential information on the Interlisp language and the differences with Common Lisp.
1. [Medley for the Novice](https://interlisp.org/documentation/Medley-Primer.pdf) (also known as Medley Primer). An introductory guide to the basics of Medley such as executing commands, using menus and files, manipulating windows, editing and saving Lisp code, using the development tools, and more. Read it in full. The code in chapter 20 "Free Menus" doesn't work and some illustrations are missing.
1. [SEdit — The Lisp Editor](https://drive.google.com/file/d/12LW5zCZauJvC63NRMJhjNv5qJkuuCflb/view?usp=sharing). The manual of SEdit, the default Lisp code editor.
1. [LispCourse notes](https://interlisp.org/pub-pdfs/lispcourse/lispcourse.pdf). The notes of a beginner course on the Interlisp environment that goes from the basics of interacting with the system to programming in Lisp. Highly recommended. Skip the sections on printing and the network as modern Medley doesn't fully implement the described functionality. The formatting of the text is partially broken and some sections are missing.
Items marked with **** are at temporary locations, likely to change.

1. [Interlisp Basics for Common Lisp](/software/using-medley/cl-using)****.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove ****

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the google drive URLs aren't stable. Maybe copy the files into the webiste repo and commit to updating them there regularly? I just don't want people to bookmark the google drive files.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I missed the leading sentence on the asterisks marking a temporary location.  And, once the website is crawled they'll become part of the site record.  I guess we could disable crawling until things settle down.  But, I'm not sure that's a great idea.

In any case, we need to find permanent locations.  I thought Google URLs were stable - I have a process at work that generates and replaces a document in Google Drive on a regular basis via a GitHub action and I use the URL as a pointer to the current version of the document.  So far, its worked flawlessly.

If you are familiar with Common Lisp, this guide points out some differences.
1. [Medley for the Novice](/documentation/Medley-Primer.pdf)**** (also known as Medley Primer). An introductory guide to the basics of Medley such as executing commands, using menus and files, manipulating windows, editing and saving Lisp code, using the development tools, and more. Read it in full. The code in chapter 20 "Free Menus" doesn't work and some illustrations are missing.
1. [SEdit — The Lisp Editor](https://drive.google.com/file/d/12LW5zCZauJvC63NRMJhjNv5qJkuuCflb/view?usp=sharing)****. The manual of SEdit, the default Lisp code editor.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove  ****

1. [LispCourse notes](https://interlisp.org/pub-pdfs/lispcourse/lispcourse.pdf)****. The notes of a beginner course on the Interlisp environment that goes from the basics of interacting with the system to programming in Lisp. Highly recommended. Skip the sections on printing and the network as modern Medley doesn't fully implement the described functionality. The formatting of the text is partially broken and some sections are missing.

#### Advanced material

1. [INTERLISP: The Language and Its Usage](https://interlisp.org/documentation/1986-interlisp-language-book-1.pdf). An extensive book on the Interlisp language, a prerequisite for accessing the full functionality of Medley from Lisp. Some of the material is about early Interlisp versions that differ from Medley. You may skip the chapters on the Interlisp TTY editor, DWIM, and Conversational Lisp (CLISP).
1. [Medley Language Reference](https://interlisp.org/documentation/IRM.pdf) (also known as Interlisp Reference Manual). The reference documentation on the Interlisp language, the application platform, and the development environment. The chapters on the Interlisp language are highly recommended. You may skip the chapters on DWIM and CLISP. Some chapters are duplicated, others are missing.
1. [Medley Interlisp: Interactive Programming Tools](https://interlisp.org/documentation/2021-interlisp-book-3.pdf). Using the development tools and applications. Skip the chapter on DEdit as the tool was replaced by SEdit, the current default Lisp code editor.
1. [INTERLISP: The Language and Its Usage](/documentation/1986-interlisp-language-book-1.pdf). An extensive book on the Interlisp language, a prerequisite for accessing the full functionality of Interlisp. Some of the material prepared in 196 about earlier Interlisp versions, so they differ from Medley. You may skip the chapters on the Interlisp TTY editor, DWIM, and Conversational Lisp (CLISP).
1. [Medley Language Reference](/documentation/IRM.pdf) (also known as Interlisp Reference Manual). The reference documentation on the Interlisp language, the application platform, and the development environment. The chapters on the Interlisp language are highly recommended. You may skip the chapters on DWIM and CLISP. Some chapters are duplicated, others are missing.
1. [Medley Interlisp: Interactive Programming Tools](/documentation/2021-interlisp-book-3.pdf). Using the development tools and applications. Skip the chapter on DEdit as the tool was replaced by SEdit, the current default Lisp code editor.
1. [Medley Interlisp: The Interactive Programming Environment](https://interlisp.org/documentation/20211225-interlisp-book-2.pdf). Accessing from Lisp the facilities and tools of the Medley environment such as windows, menus, fonts, and image streams.

### Unsorted documentation content

Most Interlisp/Medley documentation was written using the Medley Text Editor, one of the first WYSIWYG graphical user interface text editors, called TEdit. Written in and for Interlisp users, it features muliple fonts, embedded graphics including line drawings and raster images.

TEdit files are scattered through the various Interlisp repositories. For the convenience of those who would rather read the files using more modern tools, see the files from different Medley Interlisp repositories, [converted to PDF](https://drive.google.com/drive/folders/10ZBQty5gEwdBnZHtEbXfe5f1dHGziGZG?usp=sharing). NOTE: This is not a permanent location!
TEdit files are scattered through the various Interlisp repositories. For the convenience of those who would rather read the files using more modern tools, see the files from different Medley Interlisp repositories, [converted to PDF](https://drive.google.com/drive/folders/10ZBQty5gEwdBnZHtEbXfe5f1dHGziGZG?usp=sharing)****.

For the searcher's conveneience, these have also been combined into searchable PDFs named All-*-PDFs.pdf.

### Medley Interlisp References
### Medley References

- [Medley Primer](/documentation/MedleyPrimer.pdf)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Medley-Primer.pdf fix the file name.

- [Medley for the Sun Workstation User's Guide](/documentation/SunUserGuide)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SunUserGuide.pdf add file type ending.


- <a href="SunUserGuide.pdf">Medley for the Sun Workstation User's Guide</a>
- <a href="Medley-Primer.pdf">Medley Primer</a>
<!-- - <a href="1992-02-An_Introduction_to_Medley_Release_2.0.pdf">Introduction to Medley, Release 2.0</a> -->

#### Exported Medley Documentation
These documents were converted from Medley's internal format into PDFs. Watch out for weird formatting, but these are firsthand sources on Medley features and applications.

- [Medley Internal Documentation PDF](https://interlisp.org/documentation/All-Medley-PDFs.pdf)
- [Notecards Documentation PDF](https://interlisp.org/documentation/All-Notecards-PDFs.pdf)
- [LOOPS Documentation PDF](https://interlisp.org/documentation/All-Loops-PDFs.pdf)
- [Medley Internal Documentation PDF](/documentation/All-Medley-PDFs.pdf)
- [Notecards Documentation PDF](/documentation/All-Notecards-PDFs.pdf)
- [LOOPS Documentation PDF](/documentation/All-Loops-PDFs.pdf)


### Interlisp Books
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,18 @@
---
title: The Basics of Interlisp
url: /software/Using.html
title: Interlisp Basics for Common Lisp users
url: /software/using-medley/cl-using/
type: docs
weight: 2
weight: 20
aliases:
-
---
## Interlisp Basics for Common Lisp users

A few basics -- enough to get you started from the Medley User's Guide of ~30 years ago.
If you are familiar with Common Lisp, this guide helps with some unexpected features.

## Interlisp

Interlisp is a dialect of Lisp and as such, it is based on the familiar
syntax of left-parenthesis, function name, arguments, and
right-parenthesis. Besides many of the functions having different
names and arguments compared to Common Lisp, Interlisp has many other,
more fundamental, differences from Common Lisp. While this section
will not go into any of the functional differences between Interlisp
and Common Lisp, it will attempt to detail the more fundamental
differences between the two. The reference manual may be used for a
detailed description of the Interlisp functions.
Interlisp is a dialect of Lisp and as such, it is based on the familiar syntax of left-parenthesis, function name, arguments, and right-parenthesis. Besides many of the functions having different names and arguments compared to Common Lisp, Interlisp has many other, more fundamental, differences from Common Lisp. While this section will not go into any of the functional differences between Interlisp and Common Lisp, it will attempt to detail the more fundamental differences between the two. The reference manual may be used for a detailed description of the Interlisp functions.

### Upper- and Lower Case

Expand All @@ -29,12 +24,14 @@ the READ function in Common Lisp translates.

Most Interlisp primitives are upper case.

As a side note, the Medley system includes a package called DWIM (Do
What I Mean). This system reads in what you type and attempts to
automatically correct input errors. At times, in an effort to correct
typing errors this system will auto-convert something you type in
lowercase into uppercase. Thus it may appear that the case doesn't
matter - but it does.
As a side note, the Medley system includes feature called DWIM (Do
What I Mean). When code would ordinarily cause an error to occur,
DWIM first attempts to correct the error, e.g., by spelling correction
on variables and function names. In many situations DWIM will ask the
user to approve the change, but in some situations (like evaluating
a typed in variable using the wrong case-shift).DWIM will just
make the change, printing out that what it did.
It may appear that the case doesn't matter - but it does.

### Variables

Expand Down Expand Up @@ -98,6 +95,8 @@ Unlike Common Lisp, Interlisp does not have a special function for
defining macros. Macros are defined by placing their definition on
the property list of the symbol.

Medley handling of macros is different: from a Common Lisp point of view, Interlisp "macros" are treated as compiler-optimizers (if the symbol has a function definition) or as (Common Lisp) macros.

## Medley Common Lisp

The term "Common Lisp" covers a range of development stages, first
Expand Down