CLISP compiles to platform-independent bytecode.
Compiler macros are expanded in the compiled code only, and ignored by the interpreter.
Hash tables are externalizable objects.