1
0
mirror of synced 2026-01-13 15:37:38 +00:00
Interlisp.medley/docs/primer/02-TYPING-SHORTCUTS.TEDIT
2020-12-13 17:04:48 -07:00

21 lines
42 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 for the Novice, Release 2.0
1
Medley for the Novice, Release 2.0
2. TYPING SHORTCUTS
1
2. TYPING SHORTCUTS
1
"2"2. TYPING SHORTCUTS
6
Once you have logged in to Medley, you are in Lisp. The functions you type into the Executive Window will now execute, that is, perform the designated task. Lisp is case-sensitive(CASE% SENSITIVITY NIL Case% sensitivity NIL NIL 1); it often matters whether text is typed in upper- or lowercase letters. Use the Shift-Lock key on your keyboard to ensure that everything typed is in capital letters.
You must type all Lisp functions in parentheses. The Lisp interpreter will read from the left parenthesis to the closing right parenthesis to determine both the function you want to execute and the arguments to that function. Executing this function is called "evaluation." When the function is evaluated, it returns a value, which is then printed in the Executive Window. This entire process is called the read-eval-print loop(READ-EVAL-PRINT% LOOP NIL Read-eval-print% loop NIL NIL 1), and is how most Lisp interpreters, including the one for Lisp, run.
The prompt in is a number followed by a left-pointing arrow (see Figure 2.3). This number is the function's position on the History Listÿÿï%a list that stores your interactions with the ÿLispÿÿ interpreter. Type the function (PLUS 3 4), and notice the History List assigns to the function (the number immediately to the left of the arrow). ÿLispÿÿ reads in the function and its arguments, evaluates the function, and then prints the number 7.
ÿProgrammer's Assistant
1
In addition to this read-eval-print loop, there is also a "programmer's assistant." It is the programmer's assistant that prints the number as part of the prompt in the executive window, and uses these numbers to reference the function calls typed after them.
When you issue commands to the programmer's assistant(PROGRAMMER'S% ASSISTANT NIL Programmer's% assistant NIL NIL 1), you will not use parentheses as you do with ordinary functiion calls. You simply type the command, and some specification that indicates which item on the history list the command refers to. Some programmer's assistant commands are FIX(FIX (Command) NIL NIL NIL 1), REDO(REDO (Command) NIL NIL NIL 1), and UNDO(UNDO (Command) NIL NIL NIL 1). They are explained in detail below.
Programmer's assistant commands are useful only at the Lisp top level, that is, when you are typing into the Executive Window. They do not work in user-defined functions.
As an example use of the programmer's assistant, use REDO to redo your function call (PLUS 3 4). Type REDO at the prompt (programmer's assistant commands can be typed in either upper- or lowercase) , then specify the previous expression in one of the following ways:
ÿÿïf ÿWhen you originally typed in the function you now want to refer to, there was a History List number to the left of the arrow in the prompt. Type this number after the programmer's assistant command. This is the method illustrated in Figure 2-1.
`æuÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðøÿÿÿí¾À@`wûƒƒ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿðûÿÿÿÿÝžûßï·û}½ßÿÿÿÿÿÿÿÿÿÿÿÿÿðûýÜxÿÝ®ûßï·û½ßÿÿÿÿÿÿÿÿÿÿÿÿÿðø»·½¶ûÀï·û‡½ïÿÿÿÿÿÿÿÿÿÿÿÿÿðûÿx7ÿ½¶ûßàwûûƒïÿÿÿÿÿÿÿÿÿÿÿÿÿðûÿ{÷ÿ½ºûßï·ûý¿ïÿÿÿÿÿÿÿÿÿÿÿÿÿðûþ»·½¼ûßï·û}¿ïÿÿÿÿÿÿÿÿÿÿÿÿÿðø
ÜxÿݾûÀo°;ƒ¿ßÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿßÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿïÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÀ0À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0Àùƒà0À ̓0€x`0Á|@ ̓€X`0Ç̓àØ00Áðùƒð˜00ÁÁƒ0€ü00Á @Áƒ000Á Áùóà00À `0À `0ÀÀ0À0À0ÇÀ0À@0À€0À€0Á0Á0Â0Â0À0À0À0À0À>~ü|aãð0À3`ÆÆã000Á8@3`ÆÆà0`0ÇD€3|ÆÆ```0Á9ð>`ÆÆ`ÀÀ0ÁD€3`ÆÆa€À0ÁD@3`ÆÆc0Á83~ü|cñ€0À0À0À0À0À0ÇÀ0À@0À€0À€0Á0Á0Â0Â0À0À0À0À0À0À0Á8@0ÇD€0Á0Á4€0ÁD@0Á80À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0À0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð
Figure 2-1. Using a Programmer's Assistant Command to REDO a Function
ÿÿïf A negative number will specify the function call typed in that number of prompts dago. In this example, you would type in -1, the position immediately before the current position. This is shown in Figure ÿ2ÿÿ-ÿ2ÿÿ.ÿ
`æwÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø|ÿÿÿöß` 0;ýÁÁßÿÿÿÿÿÿÿÿÿÿÿÿÿø}ÿÿÿÿîÏ}ï÷Ûý¾Þïÿÿÿÿÿÿÿÿÿÿÿÿÿø}þî<î×}ï÷Ûý¿Þïÿÿÿÿÿÿÿÿÿÿÿÿÿø|]Û¿ÞÛ}àwÛýÃÞ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿø}ÿ¼ÿÞÛ}ïð;ýýÁ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿø}ÿ½ûÿÞÝ}ï÷Ûýþß÷ÿÿÿÿÿÿÿÿÿÿÿÿÿø}ÿ]Û¿ÞÞ}ï÷Ûý¾ß÷ÿÿÿÿÿÿÿÿÿÿÿÿÿø|î<îß}à7ØÁßïÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿïÿÿÿÿÿÿÿÿïÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿ÷ÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø``````````````````|ÁŒð``<66>˜ À<0`‡ <66>ÀÀ,0cˆ¢@ fÁŒð€l`€¦ø |ÁŒxÀL`‡@ `ÁŒ À~`ˆ" <>˜ À `<60>œ `üùð `0`0````` `@`@`€`€aa`````?~>``°ccà`‡ °ccàcˆ¢@¾ccð``ƒ"ø0ccð``€¢@°cc``ˆ¢ °cc``‡¿~>``````` `@`@`€`€aa```````‡ cˆ¸@ø`€ˆ@`ˆˆ `‡`````````````````````````ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿø
Figure 2-2. Using a Negative Number after the Programmer's Assistant Commandÿÿ
ïf You can aÿlso specify the function for the programmer's assistant with one of the items that was in that function call. The programmer's assistant will search backwards in the History List, and use the first function it finds that includes that item. For example, type REDO PLUS to have the functiion (PLUS 3 4) reevaluated.
ÿÿïf If you type a programmer's assistant cmmand without specifying a function (i.e., simply typing the command, following by a Return), the programmer's assistant executes thÿe command using the function entered at the previous prompt.
Figure 2-3 shows a few more examples of how to use the programmer's assistant.
@ƪÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüøÿÿÿí¾À@`wûƒƒ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿÿÿÿÝžûßï·û}½ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûýÜxÿÝ®ûßï·û½ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüø»·½¶ûÀï·û‡½ïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿx7ÿ½¶ûßàwûûƒïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿ{÷ÿ½ºûßï·ûý¿ïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûþ»·½¼ûßï·û}¿ïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüø
ÜxÿݾûÀo°;ƒ¿ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿßÿÿÿÿÿÿÿÿßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿïÿÿÿÿÿÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÀ À À À À À À À À À À À À À À À À Àùƒà€8À À ̓0 x` Á8@ ̓ X` ÇD€̓àØ0 Áðùƒð˜0 Á8€Áƒ0€ü0 Á@@Áƒ00 Á|Áùóà0 À ` À ` ÀÀ À À À Ä@ Ä@ Ä@ ÃÀ À@ Ä@ À À À À À À À>~ü| À3`ÆÆ Á8@3`ÆÆ ÇD€3|ÆÆ Áð>`ÆÆ Á€3`ÆÆ ÁD@3`ÆÆ Á83~ü| À À À À À À Ä@ Ä@ Ä@ ÃÀ À@ Ä@ À À À À À À Àð À™€˜ Á@™€ Çø0 Áø` ÁH€À Á|@ Áø À À À À À À À À À À À À À À À À À À À¾`Æxà0 À3`ÆÌ Á8@3`Æà ÇD€3`ÆxÀ6 Áð>`Æ<`& Á8€0`Æ `? Á@@0`ÆÌ` Á|0~|øÀ À À À0 À À À À@ À@ À@ ÀÀ À@ À@ À À À À À À À À À À À À À À À À À À À À À À À À À À À À À À À À Àyûóà>¾>a˜ À Í€Æ03³caŒ Á|@ á€Æ03³c3 Ç@€yðÆ0>>c Á=€Æ033c  Á
€Æ033c  ÁD@̀ư33c  Á8ùøÃà>>>  À ` À 0 À À À Ç Ĉ‘ ÄˆŠ ÇˆŠ ÄH„ ÄH„ ÄH„ LJ À À À À À À> À3 Á8@3 ÇD€> Áyð3 ÁD€3 ÁD@3 Á8> À À À À À Ç Ĉ‘ ÄˆŠ ÇˆŠ ÄH„ ÄH„ ÄH„ LJ À À À À À À1ž~Ï€üùð¸À > À1³`lÀÁ<C380>˜<19>¼À0 Á|@1¸`lÀÁ<C380>˜<19>¼À<<0 Ç€1ž|Ï€ù<E282AC>˜¶À | Áð1<C3B0>`lÀÁ<C380>ð<19>¶À f Á €1ƒ`lÀÁ<C380>˜<19>³À  Á @1³`lÀÁ<C380>˜<19>³À f Á >~Ï€Àù˜±À < À À À À À Ç Ĉ‘ ÄˆŠ ÇˆŠ ÄH„ ÄH„ ÄH„ LJ À À À À À À>| À3f Á8@3f ÇD€>| Á9ð3f ÁD€3f ÁD@3f Á8>| À À À À À Ç Ĉ‘ ÄˆŠ ÇˆŠ ÄH„ ÄH„ ÄH„ LJ À À À À À À?lÀ > À0lÀ0 Á8@0g€<<0 ÇD€>c | ÁMð0c f Á4€0g€  ÁD@0lÀ f Á80lÀ < À À À À À Àyûóà>¾>a<> À Í€Æ03³ca™Œ Á8@ á€Æ03³c3Œ ÇD€yðÆ0>>c Á=€Æ033c  Á4€
€Æ033c  ÁD@̀ư33c  Á8ùøÃà>>>  À ` À 0 À À À Ç Ĉ‘" ĈŠ" LjŠ ÄH„ ÄH„ ÄH„ LJ> À À À À À À À Á8@ ÇD€ Á ÁD€ ÁD@ Á8 À À À À À Ä@€à Ä@ Ä@q`KD°ÐG8°!À €" <09>L™"DÉ0@™È" €yH"D‰<><ˆ €H"D‰ˆ<>Dˆ" Á"È™"L‰0<08>DÈ"! ÁyH4ˆÐ<07><°!Á À À À À À À À À À À À À À À À À À À À> À3 Á@3 Çp€> Áð3 Á€3 Á@3 Á> À À À À À Ç Ĉ‘" ĈŠ" LjŠ ÄH„ ÄH„ ÄH„ LJ> À À À À À À>| À3f Á8@3f ÇD€>| Áð3f Á8€3f Á@@3f Á|>| À À À À À Ç Ĉ‘ ÄˆŠ ÇˆŠ ÄH„ ÄH„ ÄH„ LJ À À À À À À À Á8@ ÇD€ Áð Á ÁD@ Á8 À À À À À À À À À À À À À À À À À À À À À ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü
Figure 2-3. Some Applications of the Programmer's Assistant
If You Make a Mistake
1
Editing in the Executive Window is explained in detail in Chapter 7. In the following section, only a few of the most useful commands are repeated.
To move the caret to a new place in the command being typed, point the mouse cursor at the appropriate position. Then press the left mouse button.
To move the caret back to the end of the command being typed, press Control-X (hold the Control key down, and type X).
To delete:
Character behind the caret Press the Backspace key
Word behind the caret Press Control-W (hold the Control key down and type W)
Any part of the command Move the caret to the appropriate place in the command. Hold the right mouse button down and move the the mouse cursor over the text. All of the blackened text between the caret and mouse cursor is deleted when you release the right mouse button.
Entire command Press Control-U (hold the Control key down and type U)
Deletions can be undone. Just press the UNDO key.
To add more text to the line, move the carent to the appropriate position and start to type. Whatever you type will appear at the caret.
[This page intentionally left blank]
(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "2-" "") STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "2-" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 702) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "2-" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "2-" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "2-" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "2-" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))-HHàT2`äàä8HHà¨Ìø2HTàT3HTàTT,HHà
,HHà9HHà¨ÌøT3`äàäT3HTàTT,HHà-àT-àT2àà5àÌà-øäìTFøø PAGEHEADING VERSOHEADFøø PAGEHEADING RECTOHEADEøø PAGEHEADINGFOOTINGVEøø PAGEHEADINGFOOTINGR
CLASSIC
TITAN
TITAN
 HELVETICA HELVETICA HELVETICA
CLASSICCLASSIC
MODERNMODERN
 HRULE.GETFNMODERN

" HRULE.GETFNCLASSIC
# HRULE.GETFNCLASSIC
 HRULE.GETFNCLASSIC

IM.CHAP.GETFN HELVETICA HRULE.GETFNMODERN µ3IM.INDEX.GETFNª ¯;IM.INDEX.GETFNF aEÔÃ
  HRULE.GETFNCLASSIC 5?IM.INDEX.GETFNìIM.INDEX.GETFNIM.INDEX.GETFNIM.INDEX.GETFN' ¬ 5
¡ù
 BMOBJ.GETFN3CLASSIC
7 £
þ BMOBJ.GETFN3CLASSIC
M 
[?O`<60> BMOBJ.GETFN3CLASSIC
=

  HRULE.GETFNCLASSIC  s  3MC ) Š$
“¯žzº