LispCourse #1: Getting InterLisp-D Up and Running Topic 0: Bravery Topic 1: Getting InterLisp-D Up and Running A. InterLisp-D is a comprehensive environment B. Basic differences between Dolphins, Dorados, & Dandelions C. Background Concepts D. Basic Procedure & Concepts E. Procedures & Prefatory Remarks F. Procedures & Dolphins and Dorados (Alto-based) G. Procedures & Dandelions H. Interacting with InterLisp-D & the top level tty window I. REFERENCES LispCourse #8: Tailoring Parameters, the File Package, Init Files Tailoring Interlisp to your needs and desires: (FLGS, Parameters, etc.) Parameters & FLGs Default Settings Package-specific Parameters and FLGs How to find out about available parameters and FLGs. Package-specific parameters System-wide parameters Some More Interesting System-Wide Parameters and FLGs The File Package Introduction MAKEFILE and LOAD, with LISTFILES too. The COMS list Introduction The structure of a COMS list FNS VARS ADDVARS FILES P * What does MAKEFILE do? How does LOAD work? How does the user work with the FP? Example LOADable File The FP has ways to make life really easy FILES? MAKEFILES Final Note on the FP At Last, Init Files site-specific Init file user-specific Init file Commonly asked questions: How do I change my init file? How do I start an Init file? What do I put in my Init file? Final Comments: References Exercises LispCourse #9: Typing Into the TTY Window: TTYIN & the Programmer's Assistant Introduction (p. 1-4) "read-EVAL-print loop" versus "READ-eval-print loop" (p. 1) The complexity issue once again (pp. 1-2) An overview of how Interlisp processes user input (i.e., the Lisp Exec) (pp. 2-3) TTYIN, Interrupt mechanism, Programmer's Assistant, Lisp reader, Lisp Evaluator, error handler, CLISP, DWIM, Break Package Today's topics: The main path through TTYIN and the P.A. (p. 4) The TTYIN type-in editor (p. 5-13) The Basics (p. 5) TTYIN's Definition of "Complete" Input (pp. 6-8) Mouse-based editing in TTYIN (pp. 8-9) Copy, Move and Delete Text (pp. 9-10) Key-based editing in TTYIN (pp. 10-11) BS, Ctrl-A, Ctrl-W, Ctrl-Q, Ctrl-X, Middle-blank/OPEN, ESC Very specialized stuff -- Meta-key commands (p. 12) Meta-U, Meta-L, Meta-C, Meta-Ctrl-Y Concluding remarks for TTYIN (p. 12-13) TTYIN Documentation (p. 13) The Programmer's Assistant (p. 13) The Good Stuff: The History Mechanism (p. 13) EventSpecs (p. 14) N -N Pattern Empty Compound Event Specs (pp. 14-15) EventSpec1 THRU EventSpec2 EventSpec1 TO EventSpec2 ALLEventSpec EventSpec1 AND EventSpec2 P.A. History Commands (pp. 15-17) ?? EventSpec UNDO EventSpec REDO EventSpec FIX EventSpec, USE New FOR Old IN EventSpec Final Notes: (pp. 17-18) HistMenu Documentation Parameters Other parts of the P.A.: Alternative syntax (pp. 18-20) Standard Lisp Format EVAL-QUOTE Format Other formats Other parts of the P.A.: P.A. Commands and LISPX macros (pp. 20-21) "Interesting" P.A. Commands (p. 21) DIR CONN FB PL ; Documentation on the Programmer's Assistant (p. 22) References (p. 22) Exercises (p. 22) Appendix - Processing User Input in Interlisp-D -- The Complete Picture LispCourse #10: Miscellaneous Issues Regarding Type-in READ macros (pp. 1-2) ' |' Ctrl-Y Documentation Final Note Redefining the keyboard (p. 2-6) KEYACTION (p. 3-5) NIL (p. 3) (Character ShiftedCharacter LockedShifted?) (p. 3) LOCKUP, LOCKDOWN, CTRLUP, CTRLDOWN, METAUP, METADOWN, 1SHIFTUP, 1SHIFTDOWN, 2SHIFTUP, 2SHIFTDOWN (pp. 4-5) CHARCODE (p. 5) The TTY Process (p. 6) Interrupt Characters (p. 7-8) Ctrl-B Ctrl-C Ctrl-D Ctrl-E Ctrl-H Ctrl-T INTERRUPTCHAR (p. 8) NIL RESET ERROR HELP BREAK RAID CONTROL-T Documentation Final Note LispCourse #11: Error Processing & DWIM Completions and Corrections (pp. 1-2) An Overview of Error Processing (pp. 2-3) DWIM (and CLISP) (p. 2) Error Mechanism (p. 3) Breaks (p. 3) DWIM (Automatic Error Correction) (p. 4-11) Introduction (p. 4) Spelling Correction (pp. 4-5) Basic idea Lists of known atoms Other DWIM corrections (pp. 6-7) ' followed by a space and an S-expression Misplaced T clause in COND expression And other fairly esoteric stuff .... The DWIM user interface (pp. 7-8) Some DWIM parameters (p. 9) DWIMWAIT FIXSPELLDEFAULT FIXSPELLREL ADDSPELLFLG NOSPELLFLG RUNONFLG SPELLINGS1, SPELLINGS2, SPELLINGS3, USERWORDS#SPELLINGS1, #SPELLINGS2, #SPELLINGS3, #USERWORDS DWIM Documentation (p. 10) Caution is the bottom line with DWIM (pp. 10-11) Appendix - Overview of Error Processing LispCourse #12: CLISP CLISP Introduction (pp. 1-3) CLISP character operators (including infix operators) IF-THEN-ELSE statements Iterative statements Record Package CLISP Character Operators (pp. 3-7) Arithmetic Operators (pp. 3-4) +, -, *, /, ^ - (i.e., unary minus) Logical Operators (pp. 4-6) =, GT, LT, GE, LE AND, OR, MEMBER, EQUAL ~ (unary) Other Operators (pp. 6-7) : :: _ <, > IF-THEN-ELSE expressions (pp. 7-8) Using CLISP - Advantage and Disadvantages (pp. 8-10) DWIMIFY and CLISPIFY (pp. 11-13) DWIMIFY (p. 11) CLISPIFY (pp. 11-12) Tailoring CLISP (p. 12) CLISPFLG (CLDISABLE X) CLISPIFTRANFLG CLISPIFYPRETTYFLG CLISP Documentation (p. 13) LispCourse #13: Error Handling and the Break Package Background Concept: The Stack (pp. 1-3) Errors: Break or Abort? (pp. 3-5) Breaks: the Break Exec and Break Windows (pp. 5-19) What is a break and what is it good for? (pp. 5-6) The Break Exec (pp. 6-14) BRKEXP (pp. 7-8) Break Exec Commands Exiting from a break (p. 8-9) GO OK RETURN Form ^ Other Commands (pp. 9-10) EVAL @ Atom ?= BT DUMMYFRAMEP REVERT EDIT Examples of Break Exec in use (pp. 10-14) Break Windows Menu-based access to the break exec (pp. 14-15) The backtrace window and the frame inspector (pp. 15-18) Breaks within Breaks (p. 18) Tailoring the Break Package (p. 19) HELPDEPTH HELPTIME HELPFLAG AUTOBACKTRACEFLG CLOSEBREAKWINDOWFLG Break Documentation (p. 19) The Standard Interlisp Errors (p. 20) Exercises Appendix - Error List LispCourse #14: Multiple Processes and the Process Status Window Processes and Multiple Processes (pp. 1-3) Processes Scheduling: Time-sharing and all that Time-sharing (p. 3) The Scheduler (p. 4) E.F.S. -- An Experiment (pp. 4-5) Job Control: Starting, Killing, Restarting, Suspending, & Waking Processes (pp. 5-9) Starting a process (& Process Names) (pp. 5-6) Process Names (p. 6) Killing a process (pp. 6-7) Restarting a process (p. 7) Suspending a process (p. 8) Waking a process (p. 8-9) Processes and Breaks (p. 9) The Standard Processes (pp. 9-10) The TTY Process (pp. 10-11) The Process Status Window (pp. 11-15) KILL RESTART WAKE SUSPEND WHO? KBD_ INFO BREAK BT (BTV, ...) Multiple Exec Processes (pp. 15-16) The Mouse Process and (SPAWN.MOUSE) (p. 16) References (p. 17) LispCourse #15: Files and Directories œ Part 1 Basic Concepts What is a file? (p. 1) File Names (p. 1) Flavors of files (pp. 1-3) Devices (pp. 3-4) Device Names (pp. 4-5) Directories (pp. 5-7) Path Names (p. 8) Creating Directories/Sub-directories (p. 8-9) Versions (p. 10-11) Full File Names (p. 11) File Attributes (p. 12) SIZE LENGTH AUTHOR CREATIONDATE READDATE WRITEDATE TYPE BYTESIZE File Protection (p. 13-14) References (p. 15) LispCourse #16: Files and Directories œ Part 2 Update on Processes (p. 1) Dealing with Directories The Connected Directory ( pp. 1-2) LOGINHOST/DIR (p. 2) Connecting to a directory CONN device/pathname (p. 2) (CNDIR device/pathname) (p. 3) Asking "what is the current connected directory?" (p. 4) DIRECTORYNAME (p. 4) The DIRECTORIES List (pp. 5-6) Finding out what files are in a directory œ DIR, FILDIR etc. (p. 5-10) (FILDIR FileNamePattern) (pp. 6-7) DIR FileNamePattern Commands (pp. 7-10) READDATE WRITEDATE CREATIONDATE SIZE LENGTH AUTHOR DELETE PROMPT (DIRECTORY FileNamePattern Commands) (p. 10) Documentation of FILDIR, DIR, and DIRECTORY (p. 10) Manipulating Files (p. 11-13) Basic Lisp File Manipulation Functions (DELFILE FileName) (p. 11) (COPYFILE FromFile ToFile) (p. 11) (RENAMEFILE OldName NewName) (p. 11) (SEE FileName) [Note: SEE is an NLAMBDA function] (p. 12) (LISTFILES FileName1 FileName2 ... ) (p. 13) COPYFILES LispUsers Package (p. 13) (COPYFILES source destination options) (p. 13) Still to come about files and directories (p. 15) References (p. 15) LispCourse #17: Files and Directories œ Part 3 The FileBrowser Package (p. 1-2) The Files Listing and Selecting Files (pp. 2-3) The Command Menu (pp. 3-5) Edit Delete Undelete Expunge Load Compile Copy Rename See Update Hardcopy The Info Options Menu (p. 5) Using the FileBrowser (p. 6) Dealing with Devices (pp. 6-7) 1. Amount of available space on the device (p. 6-7) Local Disk (DISKFREEPAGES DeviceName) File Servers Floppy (FLOPPY.FREE.PAGES) Core Devices 2. Random access versus No random access (p. 7) 3. Location of your virtual memory file (DISKPARTITION) (p. 7) Using Floppies on the Dlion The Physical Floppy (p. 8) Floppy Modes (p. 8) PILOT HUGEPILOT SYSOUT (FLOPPY.MODE Mode) (pp. 8-9) Formatting, Compacting, Scavenging (FLOPPY.FORMAT Name) (p. 9) (FLOPPY.COMPACT) (p. 10) (FLOPPY.SCAVENGE) (p. 10) Storing and Retrieving Floppy Images (FLOPPY.TO.FILE FileName) (p. 11) (FLOPPY.FROM.FILE FileName) (p. 11) Documentation (p. 11) Opening and Closing Files (pp. 11-12) (OPENP) (CLOSEALL) (CLOSEF FullFileName) References (p. 12) LispCourse #18: Files and Directories œ Part 4 Methods for Dealing with Files Outside of Interlisp (p. 1) CHATing to an IFS (p. 1) Opening a CHAT window (p. 2) The IFS executive (pp. 2-6) BS CTRL-W DEL CTRL-C Login (user) user-name (password) password Logout or Quit Connect (to directory) directory-name (password) password Directory (default) directory-name List (files) file-designators (pp. 3-4) Type Size Length Creation Write Read Backup Times Author Protection Verbose Everything Delete file-designator (pp. 4-5) Confirm (all deletes automatically) Keep (# of versions) number Rename existing-filename (to be) new-filename (p. 5) Print (files) file-designator or Press (files) file-designator (p. 5) Copies number Server server-name Show Printing-requests Cancel (printing requests) DskStat Systat Commands dealing with protections (pp. 6-7) Change Protection (of files) file-designators Change Directory-Parameters (of directory) directory-name Create (access permitted to) groups Connect (access permitted to) groups Printing-Server host-name Show Directory-Parameters (of directory) directory-name The Interlisp CHAT program (pp. 7-8) Close Suspend New Freeze Dribble Input Clear CLOSECHATWINDOWFLG CHAT.FONT DEFAULTCHATHOST CHAT.ALLHOSTS CHAT.DISPLAYTYPE CHATing to an NS File Server CHATing to an Vax-Unix File Server The Alto Exec on Dolphin/Dorado Local Disk LispCourse #19: Living in the Network World Basic Concepts Advantages of Networks (p. 1) Basic Network Concepts œ Servers and Clients on a Local Network (pp. 1-3) Servers Clients Some typical servers: Boot Servers, Name Servers, Authentication Servers, File Servers, Mail Servers, Print Servers, Specialized Servers (p. 3) The Internet: Connecting Together Many Local Networks (p. 4-7) Physical Ethernets œ 3Mb Experimental versus 10Mb Product (pp. 7-8) Communicating on an Ethernet œ Packets and Protocols (PUP versus NS) Packets (p. 8) Protocols (PUP versus NS (versus TCP/IP)) (p. 9-12) Level One Protocols (p. 9) Higher Level Protocols (pp. 10-11) The PUP World versus the NS World (pp. 11-12) The PUP World (pp. 12-16) Addresses (p. 12) Name Service (p. 13) (ETHERHOSTNAME PupAddress) (PORTSTRING (ETHERHOSTNUMBER Name)) Authenication Service (pp. 13-14) Mail Service (p. 15) File Service, Print Service (p. 16) Still to Come on Networks (p. 16) LispCourse #20 : Living in the Network World œ Part 2 Completions and Corrections FTP Server package (p. 1) Note on the use of the word host (pp. 1-2) The NS World Machine Addresses (p. 2) \MY.NSADDRESS LOOKUP.NS.SERVER NS Names: Machines and people are part of a common name space Basic Concepts: Objects, Domains, and Organizations (pp. 3-5) NS Names and Aliases; Properties of Objects (pp. 5-6) Default Domain and Organization (pp. 6-7) CH.DEFAULT.DOMAIN CH.DEFAULT.ORGANIZATION Clearinghouses: Name and Authentication Servers for NS World Introduction (p. 7) Clearinghouse Services (p. 7-9) Name Service (p. 7) Authentication Service (p. 8) Distribution Lists (pp. 8-9) Your Clearinghouse and the set of known Clearinghouses (p. 9) Your Clearinghouse (pp. 9-10) CH.NET.HINT (START.CLEARINGHOUSE T) The set of known Clearinghouses (pp.10-11) (SHOW.CLEARINGHOUSE) Accessing the Clearinghouse Information from Interlisp (p. 11- ) (CH.LIST.ORGANIZATIONS ObjectPattern) (p. 11) (CH.LIST.DOMAINS DomainPattern) (p. 12) (CH.LIST.OBJECTS ObjectPattern Property) (pp. 13-15) (CH.LIST.ALIASES.OF ObjectPattern) (pp. 15-16) (CH.RETRIEVE.MEMBERS Object 'MEMBERS) (p. 16) Mail Service (pp. 16-17) (LAFITEMODE 'NS) (LAFITEMODE 'GV) (LAFITEMODE 'NS) File Service, Print Service, Press versus Interpress printers (pp. 17-18) Interfaces Between the PUP and NS Worlds œ Interlisp-D and Mail Gateways (pp. 18-19) Documentation on Networks (p. 19) LispCourse #21: Fonts Fonts œ Characterized by Family, Size, Face, Rotation, and Device (pp. 1-3) Family Size Face Weight Slope Expansion Rotation Device Describing Fonts to Interlisp-D œ font lists & font descriptors (pp. 3-4) (FONTCREATE Family Size Face Rotation Device) Fontclasses œ the "same" font for different devices (pp. 4-5) Fontdirectories œ Telling Interlisp where to find font information Font Information Files (pp. 5-6) DISPLAY PRESS INTERPRESS Font Directories (pp. 6-8) DISPLAYFONTDIRECTORIES DISPLAYFONTEXTENSIONS PRESSFONTWIDTHSFILES INTERPRESSFONTDIRECTORIES Available Fonts (pp. 8-9) (FONTSAVAILABLE Family Size Face Rotation Device FilesTooFlg) Default Fonts FONTPROFILE › beginnings of a central mechanism for fonts (pp. 9-11) DEdit TEdit Exec ??? Changing the FONTPROFILE (pp 11-12) (DV FONTPROFILE) (FONTPROFILE FONTPROFILE) (DV FONTPROFILE) (DC INIT) (VARS FONTPROFILE) (P (FONTPROFILE FONTPROFILE)) The Future Per package global variables › the decentralized mechanism for fonts (pp. 12-13) Window title font (p. 13) (DSPFONT FontDescription WindowTitleDisplayStream) Designing your own screen fonts (p. 13-14) References (p. 14) LispCourse #22: Overview of Lisp Packages; Using the Documentation Lisp Packages (p. 1) LISP LIBRARY Packages of Interest to the Non-Programmer The Big Ones (pp. 1-2) FILEBROWSER SKETCH TEDIT GRAPHER Mail Handling (p. 2) LAFITE MAINTAIN NSMAIL MAILSCAVENGE Networks & Files (pp. 2-3) COPYFILES FTPSERVER RS232, RS232CHAT, RS232EXEC, RS232FTP, RS232LOGIN TCP, TCPCHAT, TCPFTP TELERAID Special Printers (p. 3) FX80STREAM FXPRINTER, FXPARALLELPRINTER PRINTER Fonts & Bitmaps (p. 3-4) READAIS BIG BITMAPFNS EDITBITMAP Misc Tools (p. 4) PAGEHOLD SAMEDIR SINGLEFILEINDEX Games & Demos (pp. 4-5) HANOI KINETIC UTILPROC WINK LISPUSERS Packages of Interest to the Non-Programmer Tools œ Editors, Printing functions, Graphics, etc. (pp. 5-8) AREDIT ARCHIVETOOL BIZGRAFIX CALENDAR COMAPRETEXT DIRECTORYTOOLS EDITFONT EDITHIST EXEC FINGER HEADLINE HISTMENU LANDPRESS MAILOPS NOTEPAD PRESSTOIP PROMPTREMINDERS REMIND SPACEWINDOW Hardcopying Screen Images (p. 8) COPYIMAGE FULLSCREEN Changes/Additions to the Interlisp-D Interface (pp. 8-9) ANIMATE AUXMENU DEDITK MACWINDOW MOVE-WINDOWS SNAPSCROLL TEDITKEY TINYTIDY Clocks (p. 9) CROCK LCROCK Games & Demos (pp. 10-11) BLTDEMO FACEINVADER JARGON KAL LIFE LINEDEMO NQUEENS PACMAN PEANO PLAY QIX SOLITAIRE TRAJECTORY-FOLLOWER DMT Equivalents (i.e., run after machine has been idle for a bit) (p. 11) BLACKOUT BOUNCE FRACTAL Alternative Page Hold Schemes (p. 11) NOWAITPRINT YAPFF Using the Interlisp-D Documentation (p. 12-18) The State of Interlisp-D w.r.t. Documentation (p. 12) How to Use the Available Documentation (p. 12) Documentation Sources (pp. 12-13) Overview of the relevant sections of the IRM (October, 1983 version) (p. 13-14) Release Notes (p. 14) Online help - the APROPOS function (pp. 14-18) (LIST ((PAGE NIL NIL (0 0 17 22) ((HEADING NIL (HEADINGTYPE YYY) (540 756 72 36) NIL) (TEXT NIL NIL (72 72 468 648) NIL))) (PAGE NIL NIL (0 0 17 22) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 SIZE 12 FAMILY TIMESROMAN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (468 756 72 36) NIL) (HEADING NIL (HEADINGTYPE XXX) (72 756 72 36) NIL) (TEXT NIL NIL (72 72 468 648) NIL))) (PAGE NIL NIL (0 0 17 22) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 SIZE 12 FAMILY TIMESROMAN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (468 756 72 36) NIL) (HEADING NIL (HEADINGTYPE XXX) (72 756 72 36) NIL) (TEXT NIL NIL (72 72 468 648) NIL)))))6((HH($$(´´($$(´´(Jzz$(0 300 0 223 6 404 5 333 1 127)JUU$(0 300 0 223 6 404 5 333 1 127)JÃÃ$(0 300 0 223 6 404 5 333 1 127)Jll$(0 300 0 223 6 404 5 333 1 127)JÃÃ$(0 300 0 223 6 404 5 333 1 127)Dll$(0 223 6 404 5 333 1 127)(ll ((($$(HH($H(($$($$((lH($$ (ll(HH ($$( (66(HH(ll(ZZ((ll(HH($$(ll(HH(l (HH(HH ($$ ($$((´´(HH(´´((ll(HH($$(( TIMESROMAN ?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8)) GACHA GACHA  TIMESROMAN TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMANMODERN TIMESROMAN GACHA  TIMESROMAN TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN TIMESROMAN 6356-4/4>44 4#4344<4///6B5I,++%+5**+65+ ,',) )((((((,,,$,,)** ,5)))''',5 5 6,.#5+=+*+R&   +A5 %,1,'$&,'# )3" ,(%5#$/$!!!!$!!  !  ! !  $"          $   $:   $E)%     +4556@6695  5!4 )` 55       ' ' 66)5(5*/** 5,++' '+!)&$"    ^++1+ 656,$* * ),#,6,")))    ,665)5$54,3,$$)**0$:$ & 666B5+61+4*"6[/66"66' 6&6.66605///.  666056 ///9G/  /   /  /+6 '/ /  / /#  /     / 6)6 6605!40444645'  ' '' 414'644## #/  4#///4%/ / 46&// / 66.60 5; 6 4 4                                                 #                          !  +          ) 4%         5 5# 5+ 5 6- 5 4 4 3   /      /@ 6 0 4 ' / /4 # ## ". 6 4 4     4" 4 4$ 6" 1267 5 4 4  6 4   4? /> /6 /*   /<      >    +  A              4    4J 6V 6" 6 6 5L         6J       6? 6D 4!    4     4        6 4 8     /$        4 3 4 #  6, 6 6 6D 5 68               1                     5 >                     !    9                          J    &   50 6 / # P  / 6 2220223234----?lzº