diff --git a/README.md b/README.md
index 091f5e27..47b0d2a8 100644
--- a/README.md
+++ b/README.md
@@ -101,6 +101,7 @@ There are some short introductions for beginners:
- [TECO survival guide](doc/TECO.md)
- [DDT debugging newbie guide](doc/debugging.md)
- [Hello MIDAS](doc/hello-midas.md)
+- [Introduction to Muddle](doc/muddle.md)
- [DUMP and itstar](doc/DUMP-itstar.md)
- [Games](doc/games.md)
- [Printing](doc/printing.md)
diff --git a/doc/muddle.md b/doc/muddle.md
new file mode 100644
index 00000000..3a7cb42c
--- /dev/null
+++ b/doc/muddle.md
@@ -0,0 +1,76 @@
+# Introduction to Muddle
+
+### Background
+
+Muddle, later renamed MDL, was a programming language created by the
+Dynamic Modeling group (also known as the Programming Technology
+Division) at MIT. The most famous application written in this
+language is the Zork interactive fiction game. The influental CLU
+programming language was bootstrapped from Muddle.
+
+Muddle is a dialect of Lisp, but with the distinct difference that
+forms are bracketed by `<` and `>` instead of parentheses. `(` and
+`)` still denote lists and are occasionally present in the language
+syntax. The language is case sensitive, and all standard names must
+be entered in upper case. To submit an expression to the interpreter,
+type the Escape key which echoes as `$`.
+
+### Example
+
+A common way to develop applications in Muddle, is to build a program
+in the interpreter and write out a `SAVE` image file. This file can
+later be recalled using `RESTORE`.
+
+To make a "hello world" application, create a file called HELLO MUD
+with this content:
+
+```
+
+
+ >
+
+ "SAVED"> )>
+ >
+
+
+```
+
+`HELLO` is the main program which prints a message and terminates.
+`SAVE-IT` is used to create a `SAVE` file and arranges to call `HELLO`
+when it's restored.
+
+Now start `:muddle` and type `` and
+Escape. It should look like this:
+
+```
+:muddle
+MUDDLE 56 IN OPERATION.
+LISTENING-AT-LEVEL 1 PROCESS 1
+$
+
+:KILL
+```
+
+A `HELLO SAVE` file has been created with the `HELLO` procedure in it.
+To run it, start `:muddle` again and type ``:
+
+```
+*:muddle
+MUDDLE 56 IN OPERATION.
+LISTENING-AT-LEVEL 1 PROCESS 1
+$
+Hello, muddled world!
+
+:KILL
+```
+
+### More Information
+
+For more information, see these documents:
+
+- [MDL Programming Primer](https://raw.githubusercontent.com/PDP-10/muddle/master/doc/MDL_Programming_Primer.pdf)
+- [MDL Programming Language](https://raw.githubusercontent.com/PDP-10/muddle/master/doc/MDL_Programming_Language.pdf)
+- [MDL Primer and Manual](https://raw.githubusercontent.com/PDP-10/muddle/master/doc/MDL_Primer_and_Manual.pdf)
+- [MDL Programming Environment](https://raw.githubusercontent.com/PDP-10/muddle/master/doc/MDL_Programming_Environment.pdf)