|
|
|
|
|
by zmonx
3045 days ago
|
|
Although it may appear a bit surprising at first, assembly language is homoiconic in the sense that you can easily reason about the program code within the language: It is easy to reason about bytes in assembler language, and compiled assembler code is just a sequence of bytes. This is similar to high-level languages like Lisp and Prolog, whose code is readily represented by built-in data structures in the respective language. A fun fact about this is that extremely low-level (like assembly) and extremely high-level (like Prolog) languages are homoiconic, but there is a large gap "in the middle" (like Java, C), where there are many languages that lack this property. |
|