A family of programming languages uses these expressions to achieve homoiconicity, a property that’s frequently useful for self-modifying programs where code is represented in the same way as data. For 10 points each:
[10h] Name these expressions, which are either atoms or lists that can be evaluated through a tree of function evaluations into atoms. The quote function treats expressions of this kind as data rather than code.
ANSWER: S-expressions
[10e] S-expressions form the basis of this influential early functional language whose descendants include Racket, Scheme, and Clojure (“closure”). This language is famous for using lots of parentheses.
ANSWER: Lisp [or List Processor]
[10m] Lisp introduced a widely-copied function of this name, which complements quote by computing the value of an S-expression, interpreted as code rather than data. This function makes Lisp metaprogramming mundane.
ANSWER: eval
<Alistair Gray, Other Science - Computer Science>