X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=md%2Fenvironment.md;h=ca5bc6832be7fa843b983f807c33da94e7345dae;hb=71875bd4692ca3ac4dec4c289ca4f3106a7ae97f;hp=b30763e2ee778500f81b662cf2b490de34375a9f;hpb=5b42346253cce1fcb293b889a8f0c33852360f73;p=mudman.git diff --git a/md/environment.md b/md/environment.md index b30763e..ca5bc68 100644 --- a/md/environment.md +++ b/md/environment.md @@ -1,11 +1,9 @@ -# The Muddle Programming Environment - -By P. David Lebling +% The Muddle Programming Environment +% P. David Lebling +% May 1980 MIT Technical Report 294 -May 1980 - Laboratory for Computer Science Massachusetts Institute of Technology 545 Technology Square @@ -16,26 +14,31 @@ Cambridge, Massachusetts 02139 This book was originally published in the United States in 1980 without a copyright notice and without subsequent registration with the U.S. Copyright Office within 5 years. Doing at least one of those -[was a requirement of United States copyright law at that -time](http://copyright.cornell.edu/resources/publicdomain.cfm). This -book is therefore in the public domain in the United States for +was a requirement of United States copyright law at that time [^1]. +This book is therefore in the public domain in the United States for failure to comply with the required formalities. This means you're free to download, modify and redistribute this book. People outside of the United States must check the copyright laws of their country before downloading or redistributing. +[^1]: + # Introduction -The Muddle language is described in "The Muddle Programming Language", -but in addition to the language itself, there is a rich and varied -collection of software written in the language which facilitates the -writing of programs and systems of programs in Muddle. The information -describing this programming environment has been contained in various -documents, some out of print or out of date, and in supplemental disk -files describing changes and additions. Some of the packages of -functions used to deal with Muddle code have never been formally -documented. This manual brings together some of that scattered -documentation. +The Muddle language is described in "The Muddle Programming Language" +[^2], but in addition to the language itself, there is a rich and +varied collection of software written in the language which +facilitates the writing of programs and systems of programs in Muddle. +The information describing this programming environment has been +contained in various documents, some out of print or out of date, and +in supplemental disk files describing changes and additions. Some of +the packages of functions used to deal with Muddle code have never +been formally documented. This manual brings together some of that +scattered documentation. + +[^2]: S. W. Galley and Greg Pfister. + *The Muddle Programming Language*. + MIT Laboratory for Computer Science, 1979. The document's purpose is to flesh out the description of the language contained in "The Muddle Programming Language", giving a fuller @@ -454,8 +457,17 @@ or debugging systems, to more sophisticated aids such as `DEBUGR` and debugging. It should be noted that, in addition to the editors discussed below, -RMODE and EMACS, TECO based text editors, understand much of the -syntax and many of the conventions of Muddle programs. +RMODE [^3] and EMACS [^4], TECO based text editors, understand much of +the syntax and many of the conventions of Muddle programs. + +[^3]: P. David Lebling, R. V. Baron and Bruce K. Daniels. + *RMODE: A Real-time Edit Facility*. + Technical Report SYS.04.07-1, MIT LCS Programming Technology +Division, October 1977. + +[^4]: Richard M. Stallman. + *EMACS*. + Technical Report 519, MIT AI Laboratory, August, 1979. ## 3.1. Pretty-Printing @@ -792,9 +804,9 @@ Causes application of the function R to 5. #### 3.2.1.2. The Ampersand Printer -Your current position is displayed by "ampersand printing' (see +Your current position is displayed by "ampersand printing" (see section 3.1.3). This consists of printing any object on a single line -by using the character & (ampersand) to mean "There's more stuff +by using the character `&` (ampersand) to mean "There's more stuff here." The ampersand printer used in `EDIT` is much like the standard one, @@ -1180,7 +1192,9 @@ the `X`. To move the substructure again you have to `X` again. `I*` is somewhat incompatible with `CURSOR`s. Cursors in Imbedded structures will sometimes disappear. -`GO` **cursor** `Go` `GO` takes a *cursor* (normally the `LVAL` of an +`GO` **cursor** +`Go` +`GO` takes a *cursor* (normally the `LVAL` of an `ATOM` previously given as an argument to `CU`) and `GO`es to that position. If the *cursor* is illegal (not in the current top-level structure), an error message will be printed and you will remain in