diff --git a/content/en/software/using-medley/_index.md b/content/en/software/using-medley/_index.md index eebe7fc14..c88ba8d4d 100644 --- a/content/en/software/using-medley/_index.md +++ b/content/en/software/using-medley/_index.md @@ -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. @@ -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. +Items marked with are at temporary locations, likely to change. + +1. [Interlisp Basics for Common Lisp](/software/using-medley/cl-using). +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. -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. +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 1986 about earlier Interlisp versions and differs 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/Medley-Primer.pdf) +- [Medley for the Sun Workstation User's Guide](/documentation/SunUserGuide.pdf) -- Medley for the Sun Workstation User's Guide -- Medley Primer #### 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 diff --git a/content/en/software/using-medley/Using.md b/content/en/software/using-medley/cl-using.md similarity index 75% rename from content/en/software/using-medley/Using.md rename to content/en/software/using-medley/cl-using.md index 8647a8fee..660a25540 100644 --- a/content/en/software/using-medley/Using.md +++ b/content/en/software/using-medley/cl-using.md @@ -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 @@ -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 @@ -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