home *** CD-ROM | disk | FTP | other *** search
- A Guide to LSRHS Logo for people who know Apple Logo
-
- Although the two versions of Logo are very different internally, they
- are fairly similar in the way you use them. This guide assumes that
- you know all about Apple Logo, and explains the differences. There are
- enough differences that you can't just run your Apple Logo programs
- unchanged, but what you know of Apple Logo will help you understand
- LSRHS Logo. Read this along with the LSRHS Logo Manual.
-
- 1. Multi-instruction lines. To put more than one Logo instruction on
- a line, you must use a semicolon between instructions:
- print "foo; print "baz
-
- 2. Comments can be used, starting with exclamation point:
- print "foo ! This is a comment
-
- 3. The procedure editor is edt, an EMACS dialect somewhat more complicated
- than the Apple Logo editor. There is no edns primitive.
-
- 4. Differences in graphics: LSRHS doesn't have background, dot,
- fence, pen, setbg, setpen, window, or wrap. Instead of pencolor and
- setpc, there are somewhat different primitives setcolor and pencolor. There
- is also setxy, which is like setpos but takes two scalar inputs instead
- of one vector. Similarly, towardsxy takes two scalar inputs.
-
- 5. Differences in words and lists: In addition to the Apple Logo primitives,
- LSRHS Logo has sentencep (true only if the input is a list of words, not a
- list of lists); is (like equalp, but true for numbers only if they are string
- equal, so "is 3.0 3" outputs false); memberp and item for words as well as
- lists.
-
- 6. Differences in use of variables: LSRHS local takes only one input.
- There is no name, only make.
-
- 7. Differences in arithmetic operations: There is no rerandom. Quotient
- and / are equivalent, and give an integer result if both inputs are
- integers. Additional arithmetic operations are difference (prefix -),
- greaterp (prefix >), lessp (prefix <), maximum, minimum, zerop, pow (two
- inputs, x to the y power). LSRHS random is like Apple "random 10"; LSRHS
- rnd is like Apple random.
-
- 8. Differences in conditionals and flow of control: LSRHS Logo has trace
- and untrace (no inputs, affect all procedures). Pausing works somewhat
- differently. Your Unix interrupt character pauses; your quit character
- stops all procedures. The equivalent of ERRACT is the procedure errpause.
- See the manual.
-
- 9. Differences in reading and printing: There is no buttonp or paddle.
- In order to use readchar and keyp, you must first use cbreak. (See the
- LSRHS Logo Manual.) Apple show is called fprint in LSRHS. There is also
- ftype for full type without newline.
-
- 10. Differences in screen commands: LSRHS Logo has no cleartext (type
- control-L instead), cursor, or setcursor.
-
- 11. Workspace management: There is no concept of a workspace in LSRHS
- Logo. Procedures are saved in individual files, and variables are not
- saved at all. Therefore, none of bury, erall, ern, erns, erps, package,
- pkgall, poall, pons, pops, or unbury exist. The Apple Logo po is called
- show (note that Apple Logo uses show with a different meaning), but po
- is accepted as an abbreviation. Erase exists, and pots exists with no input.
-
- 12. Differences in files: None of catalog, disk, erasefile, load,
- save, and setdisk exist in LSRHS Logo. But there is a facility for
- reading and writing arbitrary text files, using the primitives
- openread, openwrite, fileread, fileword, fileprint, filefprint, filetype,
- fileftype, and close. See the LSRHS Logo Manual. Other file directory
- manipulation can be done using the unix command:
- unix [ls -la]
-
- 13. Error handling: The primitives catch, throw, and error do not
- exist in LSRHS Logo. The special name erract is not used.
- There is a command toplevel which is equivalent to throw "toplevel.
-
- 14. Procedure redefinition: None of copydef, define, definedp,
- primitivep, or text exist. The special name redefp is not used.
-
- 15. Miscellany: There are no label, nodes, recycle, reparse, .bpt,
- .contents, .deposit, .examine, or .printer primitives. The go primitive
- takes a numeric input; a procedure line can start with a number which is
- ignored except to serve as a label for go. The LSRHS time primitive
- outputs the current date and time. The command goodbye is used to exit
- from Logo. The command help prints a help message, and describe with
- one input, the name of a primitive, prints a description of that
- primitive.
-
- 16. Floor turtles: LSRHS has the primitives turtle, hitoot, lotoot,
- lampon, lampoff, ftouch, btouch, ltouch, and rtouch applicable to
- floor turtles.
-