1
0
mirror of synced 2026-04-26 04:08:08 +00:00
Files
Interlisp.medley/docs/turpin-irm/IRM-2/003-TOC.TEdit

6 lines
22 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. Executives 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. Code Editorsÿÿï%SEdit & the TTY 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 19-1
Spelling Correction Protocol 19-3
Parentheses Errors Protocol 19-4
Undefined Function T Errors 19-4
DWIM Operation 19-5
DWIM Correction: Unbound Atoms 19-6
Undefined CAR of Form 19-7
Undefined Function in APPLY 19-8
DWIMUSERFORMS 19-8
DWIM Functions and Variables 19-10
Spelling Correction 19-11
Synonyms 19-12
Spelling Lists 19-12
Generators for Spelling Correction 19-14
Spelling Corrector Algorithm 19-14
Spelling Corrector Functions and Variables 19-15
20. CLISP 20-1
CLISP Interaction with User 20-4
CLISP Character Operators 20-5
Declarations 20-9
CLISP Operation 20-10
CLISP Translations 20-12
DWIMIFY 20-13
CLISPIFY 20-16
Miscellaneous Functions and Variables 20-18
CLISP Internal Conventions 20-20
21. Performance Issues 21-1
Storage Allocation and Garbage Collection 21-1
Variable Bindings 21-4
Performance Measuring 21-5
BREAKDOWN 21-7
GAINSPACE 21-9
Using Data Types Instead of Records 21-9
Using Incomplete File Names 21-10
Using "Fast" and "Destructive" Functions 21-10
22. Processes 22-1
Creating and Destroying Processes 22-1
Process Control Constructs 22-4
Events 22-5
Monitors 22-7
Global Resources 22-8
Typein and the TTY Process 22-9
Switing the TTY Process 22-9
Handling of Interrupts 22-11
Keeping the Mouse Alive 22-12
Process Status Window 22-12
Non-Process Compatibility 22-14
Volume 3 - I/O Reference
23. Streams and Files 23-1
Opening and Closing File Streams 23-1
File Names 23-4
Incomplete File Names 23-7
Version Recognition 23-9
Using File Names Instead of Streams 23-10
File Name Efficiency Considerations 23-11
Obsolete File Opening Functions 23-11
Converting Old Programs 23-11
Using Files with Processes 23-12
File Attributes 23-12
Closing and Reopening Files 23-15
Local Hard Disk Device 23-16
I/O Operations To and From Strings 23-22
Temporary Files and the CORE Device 23-23
NULL Device 23-24
Deleting, Copying, and Renaming Files 23-24
Searching File Directories 23-24
Listing File Directories 23-25
24. Input/Output Functions 24-1
Specifying Streams for Input/Output Functions 24-1
Input Functions 24-2
Output Functions 24-6
PRINTLEVEL 24-8
Printing Numbers 24-10
User Defined Printing 24-12
Printing Unusual Data Structures 24-13
Random Access File Operations 24-14
Input/Output Operations with Characters and Bytes 24-17
PRINTOUT 24-17
Horizontal Spacing Commands 24-19
Vertical Spacing Commands 24-20
Special Formatting Controls 24-20
Printing Specifications 24-20
Paragraph Format 24-21
Right-Flushing 24-21
Centering 24-22
Numbering 24-22
Escaping to Lisp 24-23
User-Defined Commands 24-23
Special Printing Functions 24-24
READFILE and WRITEFILE 24-25
Read Tables 24-25
Read Table Functions 24-26
Syntax Classes 24-26
Read Macros 24-29
25. User Input/Output Packages 25-1
Inspector 25-1
Calling the Inspector 25-1
Multiple Ways of Inspecting 25-2
Inspect Windows 25-3
Inspect Window Commands 25-3
Interaction with Break Windows 25-4
Controlling the Amount Displayed During Inspection 25-4
Inspect Macros 25-4
INSPECTWs 25-5
PROMPTFORWORD 25-7
ASKUSER 25-9
Format of KEYLST 25-10
Options 25-12
Operation 25-13
Completing a Key 25-14
Special Keys 25-15
Startup Protocol and Typeahead 25-16
TTYIN Typein Editor 25-17
Entering Input with TTYIN 25-17
Mouse Commands (Interlisp-D Only) 25-19
Display Editing Commands 25-19
Using TTYIN for Lisp Input 25-22
Useful Macros 25-23
Programming with TTYIN 25-23
Using TTYIN as a General Editor 25-25
?= Handler 25-26
Read Macros 25-27
Assorted Flags 25-28
Special Responses 25-29
Display Types 25-30
Prettyprint 25-31
Comment Feature 25-33
Comment Pointers 25-34
Converting Comments to Lowercase 25-35
Special Prettyprint Controls 25-36
26. Graphics Output Operations 26-1
Primitive Graphics Concepts 26-1
Positions 26-1
Regions 26-1
Bitmaps 26-2
Textures 26-5
Opening Image Streams 26-6
Accessing Image Stream Fields 26-8
Current Position of an Image Stream 26-10
Moving Bits Between Bitmaps with BITBLT 26-11
Drawing Lines 26-13
Drawing Curves 26-14
Miscellaneous Drawing and Printing Operations 26-15
Drawing and Shading Grids 26-17
Display Streams 26-18
Fonts 26-19
Font Files and Font Directories 26-24
Font Profiles 26-24
Image Objects 26-27
IMAGEFNS Methods 26-28
Registering Image Objects 26-30
Reading and Writing Image Objects on Files 26-31
Copying Image Objects Between Windows 26-31
Implementation of Image Streams 26-32
27. Windows and Menus 27-1
Using the Window System 27-1
Changing the Window System 27-6
Interactive Display Functions 27-7
Windows 27-9
Window Properties 27-10
Creating Windows 27-10
Opening and Closing Windows 27-11
Redisplaying Windows 27-12
Reshaping Windows 27-13
Moving Windows 27-14
Exposing and Burying Windows 27-16
Shrinking Windows into Icons 27-16
Coordinate Systems, Extents, and Scrolling 27-18
Mouse Activity in Windows 27-21
Terminal I/O and Page Holding 27-22
TTY Process and the Caret 27-23
Miscellaneous Window Functions 27-24
Miscellaneous Window Properties 27-25
Example: A Scrollable Window 27-26
Menus 27-28
Menu Fields 27-29
Miscellaneous Menu Functions 27-32
Examples of Menu Use 27-32
Attached Windows 27-34
Attaching Menus to Windows 27-37
Attached Prompt Windows 27-38
Window Operations and Attached Windows 27-39
Window Properties of Attached Windows 27-41
28. Hardcopy Facilities 28-1
Hardcopy Functions 28-1
Low-Level Hardcopy Variables 28-4
29. Terminal Input/Output 29-1
Interrupt Characters 29-1
Terminal Tables 29-4
Terminal Syntax Classes 29-4
Terminal Control Functions 29-5
Line-Buffering 29-7
Dribble Files 29-10
Cursor and Mouse 29-10
Changing the Cursor Image 29-11
Flashing Bars on the Cursor 29-13
Cursor Position 29-13
Mouse Button Testing 29-14
Low-Level Mouse Functions 29-15
Keyboard Interpretation 29-15
Display Screen 29-18
Miscellaneous Terminal I/O 30-19
Glossary GLOSSARY-1
Index INDEX-1
[This page intentionally left blank](LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (LOWERROMAN "" "")) (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 (LOWERROMAN "" "")) (192 24 288 36) NIL) (TEXT NIL NIL (54 36 408 540) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (LOWERROMAN "" "")) (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 (LOWERROMAN "" "")) (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 (LOWERROMAN "" "")) (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 (LOWERROMAN "" "")) (192 24 288 36) NIL) (HEADING NIL (HEADINGTYPE RIGHTPAGE) (408 612 204 36) NIL) (TEXT NIL NIL (54 36 408 540) NIL))))),ø,ø"-°äìT3° T5TT°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  "*+&!1  (4% 0&&7:% 1&4'+*4*+'!"!!&"#*$2!,!/)"/'    &*+'!")*,!"3($8#!#"&"%9
&!) "'($&##*.4  &!2-& #
#$$2!%!&'$ $".-"!!!#!!$`zº