Addendum
OK, now let's talk about some issues that were glossed over in this tutorial...
One major cheat that we did in this tutorial is writing our game sentences using symbols:

      '(this is not how Lispers usually write text -)

      "Lispers write text using double quotes"

Symbols have a special meaning in Lisp and are used to store unique names of functions, variables, and other things. Because of this, Lisp treats symbols in special ways that are awkward for text messages. Using strings instead of symbols allows text we work with to not be affected by any such quirks, but requires more esoteric commands for manipulating text. Also, working with strings is not so relevant to teaching the far more important symbol manipulation commands in Lisp.

Another simplification is that association lists (also called `alist`s) are usually written using a dotted list, because it is slighlty more efficient and elegant to an experienced Lisper. This is confusing to beginners, however, because it requires an understanding of Cons Cells.

Another glossed over issue is that SPELs are more commonly referred to as "Lisp true macros" and are created with the `defmacro` command, which is very confusing for teaching purposes. Read the following short essay to understand why I think this name distinction is beneficial. And finally, there are ugly name collisions that can happen when a SPEL is written in the style of the `game-action` SPEL. If you read more advanced Lisp materials this will be explained in greater detail.

<< begin < previous - next > end >>