1
0
mirror of synced 2026-01-27 20:57:19 +00:00
Files
Interlisp.medley/docs/medley-irm/003-TOC.TEDIT
Arun Welch 615885a0fa New version of IRM (#665)
* New version of IRM

New version of the IRM, updated to Medley.

* moved to docs/medley-irm as discussed
2022-02-12 14:05:10 -08:00

6 lines
24 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
1
MEDLEY REFERENCE
1
MEDLEY REFERENCE
TABLE OF CONTENTS
1
TABLE OF CONTENTS
1
TABLE of CONTENTS
6
Volume 1 - Lanuage Reference
1. Introduction 1
2. Litatoms (Symbols) 2-1
Using Symbols as Variables 2-1
Function Definition Cells 2-3
Property Lists 2-4
Print Names 2-5
Characters and Character Codes 2-9
3. Lists 3-1
Creating Lists 3-3
Building Lists from Left to Right 3-4
Copying Lists 3-6
Extracting Tails of Lists 3-6
Counting List Cells 3-8
Logical Operations 3-9
Searching Lists 3-10
Substitution Functions 3-10
Association Lists and Property Lists 3-11
Sorting Lists 3-13
Other List Functions 3-15
4. Strings 4-1
5. Arrays 5-1
6. Hash Arrays 6-1
Hash Overflow 6-3
User-Specified Hashing Functions 6-3
7. Numbers and Arithmetic Functions 7-1
Generic Arithmetic 7-2
Integer Arithmetic 7-3
Logical Arithmetic Functions 7-6
Floating-Point Arithmetic 7-8
Other Arithmetic Functions 7-10
8. Record Package 8-1
FETCH and REPLACE 8-1
CREATE 8-2
TYPE? 8-3
WITH 8-4
Record Declarations 8-4
Record Types 8-5
Optional Record Specifications 8-10
Defining New Record Types 8-12
Record Manipulation Functions 8-12
Changetran 8-13
Built-in and User Data Types 8-15
9. Conditionals and Iterative Statements 9-1
Data Type Predicates 9-1
Equality Predicates 9-2
Logical Predicates 9-3
COND Conditional Function 9-3
The IF Statement 9-4
Selection Functions 9-5
PROG and Associated Control Functions 9-6
The Iterative Statement 9-7
I.s. Types 9-8
Iterative Variable I.s.oprs 9-9
Condition I.s.oprs 9-12
Other I.s.oprs 9-13
Miscellaneous Hints on I.s.oprs 9-13
Errors in Iterative Statements 9-15
Defining New Iterative Statement Operators 9-15
10. Function Definition, Manipulation, and Evaluation 10-1
Function Types 10-2
Lambda-Spread Functions 10-2
Nlambda-Spread Functions 10-3
Lambda-Nospread Functions 10-4
Nlambda-Nospread Functions 10-4
Compiled Functions 10-5
Function Type Functions 10-5
Defining Functions 10-7
Function Evaluation 10-1
Iterating and Mapping Functions 10-1
Function Arguments 10-1
Macros 10-1
DEFMACRO 10-15
Interpreting Macros 10-15
11. Variable Binds and the Interlisp Stack 11-1
Spaghetti Stack 11-2
Stack Functions 11-3
Searching the Stack 11-4
Variable Binds in Stack Frames 11-5
Evaluating Expressions in Stack Frames 11-6
Altering Flow of Control 11-6
Releasing and Reusing Stack Pointers 11-7
Backtrace Functions 11-8
Other Stack Functions 11-10
The Stack and the Interpreter 11-10
Generators 11-12
Coroutines 11-14
Possibilities Lists 11-15
12. Miscellaneous 12-1
Greeting and Initialization Files 12-1
Idle Mode 12-3
Saving Virtual Memory State 12-5
System Version Information 12-9
Date and Time Functions 12-11
Timers and Duration Functions 12-13
Resources 12-15
A Simple Example 12-16
Trade-offs in More Complicated Cases 12-18
Macros for Accessing Resources 12-18
Saving Resources in a File 12-19
Pattern Matching 12-19
Pattern Elements 12-20
Element Patterns 12-20
Segment Patterns 12-21
Assignments 12-23
Place-Markers 12-23
Replacements 12-24
Reconstruction 12-24
Examples 12-25
Volume 2 - Environment Reference
13. Interlisp Executive 13-1
Input Formats 13-3
Programmer's Assistant Commands 13-4
Event Specification 13-4
Commands 13-6
P.A. Commands Applied to P.A. Commands 13-15
Changing the Programmer's Assistant 13-16
Undoing 13-19
Undoing Out of Order 13-20
SAVESET 13-21
UNDONLSETQ and RESETUNDO 13-22
Format and Use of the History List 13-23
Programmer's Assistant Functions 13-26
The Editor and the Programmer's Assistant 13-32
14. Errors and Breaks 14-1
Breaks 14-1
Break Windows 14-2
Break Commands 14-3
Controlling When to Break 14-10
Break Window Variables 14-11
Creating Breaks with BREAK1 14-12
Signalling Errors 14-14
Catching Errors 14-16
Changing and Restoring System State 14-18
Error List 14-20
15. Breaking, Tracing, and Advising 15-1
Breaking Functions and Debugging 15-1
Advising 15-7
Implementation of Advising 15-7
Advise Functions 15-8
16. List Structure Editor 16-1
SEdit 16-1
Local Attention-Changing Commands 16-10
Commands That Search 16-14
Search Algorithm 16-15
Search Commands 16-16
Location Specification 16-18
Commands That Save and Restore the Edit Chain 16-21
Commands That Modify Structure 16-22
Implementation 16-23
The A, B, and : Commands 16-24
Form Oriented Editing and the Role of UP 16-26
Extract and Embed 16-26
The MOVE Command 16-28
Commands That Move Parentheses 16-30
TO and THRU 16-31
The R Command 16-34
Commands That Print 16-35
Commands for Leaving the Editor 16-37
Nested Calls to Editor 16-39
Manipulating the Characters of an Atom or String 16-39
Manipulating Predicates and Conditional Expressions 16-40
History Commands in the Editor 16-41
Miscellaneous Commands 16-41
Commands That Evaluate 16-43
Commands That Test 16-45
Edit Macros 16-46
Undo 16-48
EDITDEFAULT 16-50
Editor Functions 16-51
Time Stamps 16-57
17. File Package 17-1
Loading Files 17-3
Storing Files 17-8
Remaking a Symbolic File 17-12
Loading Files in a Distributed Environment 17-13
Marking Changes 17-13
Noticing Files 17-15
Distributing Change Information 17-16
File Package Types 17-16
Functions for Manipulating Typed Definitions 17-19
Defining New File Package Types 17-23
File Package Commands 17-25
Functions and Macros 17-26
Variables 17-27
Litatom Properties 17-29
Miscellaneous File Package Commands 17-30
DECLARE: 17-31
Exporting Definitions 17-33
FileVars 17-34
Defining New File Package Commands 17-35
Functions for Manipulating File Command Lists 17-37
Symbolic File Format 17-38
Copyright Notices 17-40
Functions Used Within Source Files 17-42
File Maps 17-42
18. Compiler 18-1
Compiler Printout 18-2
Global Variables 18-3
Local Variables and Special Variables 18-4
Constants 18-5
Compiling Function Calls 18-6
FUNCTION and Functional Arguments 18-7
Open Functions 18-8
COMPILETYPELST 18-8
Compiling CLISP 18-9
Compiler Functions 18-9
Block Compiling 18-12
Block Declarations 18-13
Block Compiling Functions 18-15
Compiler Error Messages 18-16
19. DWIM 20-1
Spelling Correction Protocol 20-3
Parentheses Errors Protocol 20-4
Undefined Function T Errors 20-4
DWIM Operation 20-5
DWIM Correction: Unbound Atoms 20-6
Undefined CAR of Form 20-7
Undefined Function in APPLY 20-8
DWIMUSERFORMS 20-8
DWIM Functions and Variables 20-10
Spelling Correction 20-11
Synonyms 20-12
Spelling Lists 20-12
Generators for Spelling Correction 20-14
Spelling Corrector Algorithm 20-14
Spelling Corrector Functions and Variables 20-15
20. CLISP 21-1
CLISP Interaction with User 21-4
CLISP Character Operators 21-5
Declarations 21-9
CLISP Operation 21-10
CLISP Translations 21-12
DWIMIFY 21-13
CLISPIFY 21-16
Miscellaneous Functions and Variables 21-18
CLISP Internal Conventions 21-20
21. Performance Issues 22-1
Storage Allocation and Garbage Collection 22-1
Variable Bindings 22-4
Performance Measuring 22-5
BREAKDOWN 22-7
GAINSPACE 22-9
Using Data Types Instead of Records 22-9
Using Incomplete File Names 22-10
Using "Fast" and "Destructive" Functions 22-10
22. Processes 23-1
Creating and Destroying Processes 23-1
Process Control Constructs 23-4
Events 23-5
Monitors 23-7
Global Resources 23-8
Typein and the TTY Process 23-9
Switing the TTY Process 23-9
Handling of Interrupts 23-11
Keeping the Mouse Alive 23-12
Process Status Window 23-12
Non-Process Compatibility 23-14
Volume 3 - I/O Reference
23. Streams and Files 24-1
Opening and Closing File Streams 24-1
File Names 24-4
Incomplete File Names 24-7
Version Recognition 24-9
Using File Names Instead of Streams 24-10
File Name Efficiency Considerations 24-11
Obsolete File Opening Functions 24-11
Converting Old Programs 24-11
Using Files with Processes 24-12
File Attributes 24-12
Closing and Reopening Files 24-15
Local Hard Disk Device 24-16
Floppy Disk Device 24-18
I/O Operations To and From Strings 24-22
Temporary Files and the CORE Device 24-23
NULL Device 24-24
Deleting, Copying, and Renaming Files 24-24
Searching File Directories 24-24
Listing File Directories 24-25
File Servers 24-28
PUP File Server Protocols 24-28
Xerox NS File Server Protocols 24-28
Operating System Designations 24-29
Logging In 24-30
Abnormal Conditions 24-31
24. Input/Output Functions 25-1
Specifying Streams for Input/Output Functions 25-1
Input Functions 25-2
Output Functions 25-6
PRINTLEVEL 25-8
Printing Numbers 25-10
User Defined Printing 25-12
Printing Unusual Data Structures 25-13
Random Access File Operations 25-14
Input/Output Operations with Characters and Bytes 25-17
PRINTOUT 25-17
Horizontal Spacing Commands 25-19
Vertical Spacing Commands 25-20
Special Formatting Controls 25-20
Printing Specifications 25-20
Paragraph Format 25-21
Right-Flushing 25-21
Centering 25-22
Numbering 25-22
Escaping to Lisp 25-23
User-Defined Commands 25-23
Special Printing Functions 25-24
READFILE and WRITEFILE 25-25
Read Tables 25-25
Read Table Functions 25-26
Syntax Classes 25-26
Read Macros 25-29
25. User Input/Output Packages 26-1
Inspector 26-1
Calling the Inspector 26-1
Multiple Ways of Inspecting 26-2
Inspect Windows 26-3
Inspect Window Commands 26-3
Interaction with Break Windows 26-4
Controlling the Amount Displayed During Inspection 26-4
Inspect Macros 26-4
INSPECTWs 26-5
PROMPTFORWORD 26-7
ASKUSER 26-9
Format of KEYLST 26-10
Options 26-12
Operation 26-13
Completing a Key 26-14
Special Keys 26-15
Startup Protocol and Typeahead 26-16
TTYIN Typein Editor 26-17
Entering Input with TTYIN 26-17
Mouse Commands (Interlisp-D Only) 26-19
Display Editing Commands 26-19
Using TTYIN for Lisp Input 26-22
Useful Macros 26-23
Programming with TTYIN 26-23
Using TTYIN as a General Editor 26-25
?= Handler 26-26
Read Macros 26-27
Assorted Flags 26-28
Special Responses 26-29
Display Types 26-30
Prettyprint 26-31
Comment Feature 26-33
Comment Pointers 26-34
Converting Comments to Lowercase 26-35
Special Prettyprint Controls 26-36
26. Graphics Output Operations 27-1
Primitive Graphics Concepts 27-1
Positions 27-1
Regions 27-1
Bitmaps 27-2
Textures 27-5
Opening Image Streams 27-6
Accessing Image Stream Fields 27-8
Current Position of an Image Stream 27-10
Moving Bits Between Bitmaps with BITBLT 27-11
Drawing Lines 27-13
Drawing Curves 27-14
Miscellaneous Drawing and Printing Operations 27-15
Drawing and Shading Grids 27-17
Display Streams 27-18
Fonts 27-19
Font Files and Font Directories 27-24
Font Profiles 27-24
Image Objects 27-27
IMAGEFNS Methods 27-28
Registering Image Objects 27-30
Reading and Writing Image Objects on Files 27-31
Copying Image Objects Between Windows 27-31
Implementation of Image Streams 27-32
27. Windows and Menus 28-1
Using the Window System 28-1
Changing the Window System 28-6
Interactive Display Functions 28-7
Windows 28-9
Window Properties 28-10
Creating Windows 28-10
Opening and Closing Windows 28-11
Redisplaying Windows 28-12
Reshaping Windows 28-13
Moving Windows 28-14
Exposing and Burying Windows 28-16
Shrinking Windows into Icons 28-16
Coordinate Systems, Extents, and Scrolling 28-18
Mouse Activity in Windows 28-21
Terminal I/O and Page Holding 28-22
TTY Process and the Caret 28-23
Miscellaneous Window Functions 28-24
Miscellaneous Window Properties 28-25
Example: A Scrollable Window 28-26
Menus 28-28
Menu Fields 28-29
Miscellaneous Menu Functions 28-32
Examples of Menu Use 28-32
Attached Windows 28-34
Attaching Menus to Windows 28-37
Attached Prompt Windows 28-38
Window Operations and Attached Windows 28-39
Window Properties of Attached Windows 28-41
28. Hardcopy Facilities 29-1
Hardcopy Functions 29-1
Low-Level Hardcopy Variables 29-4
29. Terminal Input/Output 30-1
Interrupt Characters 30-1
Terminal Tables 30-4
Terminal Syntax Classes 30-4
Terminal Control Functions 30-5
Line-Buffering 30-7
Dribble Files 30-10
Cursor and Mouse 30-10
Changing the Cursor Image 30-11
Flashing Bars on the Cursor 30-13
Cursor Position 30-13
Mouse Button Testing 30-14
Low-Level Mouse Functions 30-15
Keyboard Interpretation 30-15
Display Screen 30-18
Miscellaneous Terminal I/O 30-19
30. Ethernet 31-1
Ethernet Protocols 31-1
Protocol Layering 31-1
Level Zero Protocols 31-2
Level One Protocols 31-2
Higher Level Protocols 31-3
Connecting Networks: Routers and Gateways 31-3
Addressing Conflicts with Level Zero Mediums 31-3
References 31-4
Higher-Level PUP Protocol Functions 31-4
Higher-Level NS Protocol Functions 31-5
Name and Address Conventions 31-5
Clearinghouse Functions 31-7
NS Printing 31-9
SPP Stream Interface 31-9
Courier Remote Procedure Call Protocol 31-11
Defining Courier Programs 31-11
Courier Type Definitions 31-12
Pre-defined Types 31-13
Constructed Types 31-13
User Extensions to the Type Language 31-15
Performing Courier Transactions 31-16
Expedited Procedure Call 31-17
Expanding Ring Broadcast 31-18
Using Bulk Data Transfer 31-18
Courier Subfunctions for Data Transfer 31-19
Level One Ether Packet Format 31-20
PUP Level One Functions 31-21
Creating and Managing Pups 31-21
Sockets 31-22
Sending and Receiving Pups 31-23
Pup Routing Information 31-23
Miscellaneous PUP Utilities 31-24
PUP Debugging Aids 31-24
NS Level One Functions 31-28
Creating and Managing XIPs 31-28
NS Sockets 31-28
Sending and Receiving XIPs 31-29
NS Debugging Aids 31-29
Support for Other Level One Protocols 31-29
The SYSQUEUE Mechanism 31-31
Glossary GLOSSARY-1
Index INDEX-1
[This page intentionally left blank](LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 9 FAMILY TIMESROMAN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (192 24 288 36) NIL) (TEXT NIL NIL (54 36 408 540) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 9 FAMILY TIMESROMAN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (102 24 288 36) NIL) (HEADING NIL (HEADINGTYPE LEFTBACK) (96 612 516 36) NIL) (TEXT NIL NIL (102 36 456 540) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 9 FAMILY TIMESROMAN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (192 24 288 36) NIL) (HEADING NIL (HEADINGTYPE RIGHTPAGE) (408 612 204 36) NIL) (TEXT NIL NIL (54 36 408 540) NIL))))),ø,ø"-°äìT3° T2°5TT°f2° 5Ȩ°FÈø PAGEHEADING VERSOHEADFÈø PAGEHEADING RECTOHEADEÈø PAGEHEADINGFOOTINGVEÈø PAGEHEADINGFOOTINGR5°¨øF°ø PAGEHEADING VERSOHEADF°ø PAGEHEADING RECTOHEADE°ø PAGEHEADINGFOOTINGVE°ø PAGEHEADINGFOOTINGRPALATINO  HELVETICA
 HELVETICAPALATINO MODERN
MODERN
CLASSIC  HRULE.GETFNPALATINO   HRULE.GETFNPALATINO 
 HRULE.GETFNPALATINO   HRULE.GETFNPALATINO 
 HRULE.GETFNCLASSIC#&*%*!  
 %#"/*!&%1= !% 2%-+$'! $,&"!%.* )'0  "*+&!! (4% 0&&7:% 1&4'+*4*+'!"!!&"#*$2!,!/)"/'    &*+'!")*,!!&%"3($8#!#"&"%9
&!) "'($&##*.4  &!2-& #
#$$2!%!&'$ $".-"!!!#!!03)(#. +&-$""#"",$4}¾zº