&gt; For instance if you make an x86-64 assembler in Lisp, it will be just as restricted as any other assembler; it will diagnose unrecognized opcodes, bad addressing modes, etc.<p>I&#x27;ve written one such assembler in Common Lisp. It was rather straight-forward and generated nice code. Debugger came practically free.<p>Lisp is a language for symbolic computing. Values are not so valuable as computations and trees. If the level you&#x27;re working at is too restrictive you&#x27;re free to invent a new algebra for symbols at a higher level in terms of the lower-level primitive symbols. It&#x27;s the same power one gets from manually calculating sums to inventing a language for expressing all sums. How you choose to represent things has great power in your ability to reason about them.