It became apparent that treating symbols, like strings, as lists of characters and making the character function look up the symbol name in the environment was causing problems.
re-namedwhat happens if you slice up a name etc.
Instead of using strings (lists of characters) as symbols a symbol type was added. This solved the above problems while introducing very few issues/extra requirements. Since that time I have also realized that it is not that different from the lambda calculus where variable names are indeed an entity independent of the functions in the system.
jwalker@cs.oberlin.edu |