[its-hackers] ITSPKG WINAGE

Jack Haverty jack at 3kitty.org
Tue Jun 8 18:28:03 CEST 2021

Re typing in Muddle code...

Although EMACS had a Muddle mode, I remember the most common way of 
creating Muddle code circa 1975+ was to use the "editor" package inside 
Muddle itself.   Sorry, I can't remember the name of the actual package.

The Editor supported a feature called "ampersand printing", in which 
code would be compressed on-screen by replacing large chunks of the 
program structure with just the ampersand character.  So a piece of 
code, deep inside some function, might appear on screen as <& <COND 
(&)>> or something like that.

While in the Editor, you could navigate around your code by using 
up/down/left/right cursor keys to move around the data structure, 
inserting or deleting code elements as you wish.  You didn't edit 
characters, you editted Muddle objects - atoms, lists, whatever.  So it 
was essentially impossible to get mismatched brackets, because the 
editor wouldn't let you put in anything other than some object.   You 
weren't creating text, you were creating a structure in Muddle directly.

E.g., to create code, you would fire up Muddle, start the editor, and 
possibly create a minimal function, e.g., <DEFINE MYFN ()>.   (Sorry, I 
may have the syntax wrong, it's been a long time....)  Then you would 
use the arrow keys to build up the contents of the function.   Same with 
editting an existing function, just load it into the editor and change 
as needed.    There were ways to control the behavior of the ampersand 
behavior so that only the important parts of code were displayed.

So even large and complicated code could be viewed in a way that made 
the program logic more visible.   Of course you could also run the code, 
find problems, and fix them.  Eventually you might PPRINT the code to a 
text file, but it wasn't necessary.   You could always just save it as a 
Muddle object.

This fit in to the popular philosophy of the day (IIRC Gerry Sussman's) 
that Programming was accomplished by "taking a blank sheet of paper and 
debugging it".

Before this editor, Muddle code was created and evolved using EMACS or 
other editor, as a text file.  There was lots of effort involved in 
getting your code to fit nicely on a "page" so it could be sent to the 
line printer.   Listings ruled as the way you looked at large pieces of 

After the editor, it became more common to build code without regard to 
how it would appear on paper.   If the logic of the problem motivated a 
many-levels-deep COND tree, that was easy to do, as long as you were 
willing to abandon any notion of putting the code on paper.

Does this sound familiar?  Has that "editor" been revived?

/Jack Haverty
JFH at MIT-DM 1970-1977

On 6/7/21 10:59 PM, Lars Brinkhoff wrote:
> Richard Shiffman wrote:
>> I was trying out ITSPKG > and FIND/LOAD >. I was able to USE my test
>> packages and I got ambitious and said <USE "MIGSPK">$ And mags loaded
>> and started running I even executed some of the primitive graphics
>> functions and they work correctly. Now I need to get a terminal
>> emulator for either techTronics or for an IMLAC
> Congratulations!  I very much look forward to see what you can do with MIGS!
> The ITS git repository references a Tektronix 4010 emulator, and there
> are two Imlac emulators available.
>> One of the biggest headaches of entering MUDDLE code with TextEditor
>> is keeping all the different pairs of brackets matching. If you have a
>> structure editor for Muddle Match open and closing brackets is not a
>> problem.
> Note that ITS EMACS has a MUDDLE Mode, and GNU Emacs has historically
> sported a mim-mode and muddle-mode.

More information about the its-hackers mailing list