Skip to content
Tech News
← Back to articles

(How to Write a (Lisp) Interpreter (In Python))

read original more articles
Why This Matters

This article highlights the importance of understanding how interpreters and compilers work, emphasizing their foundational role in computer science. By exploring Scheme syntax and creating a Lisp interpreter in Python, it provides practical insights into language design and implementation, which are crucial skills for developers and the tech industry at large.

Key Takeaways

(How to Write a (Lisp) Interpreter (in Python))

Why does this matter? As Steve Yegge said, "If you don't know how compilers work, then you don't know how computers work." Yegge describes 8 problems that can be solved with compilers (or equally well with interpreters, or with Yegge's typical heavy dosage of cynicism).

Syntax and Semantics of Scheme Programs

Scheme syntax is different from most other programming languages. Consider:

Java Scheme if (x.val() > 0) {

return fn(A[i] + 3 * i,

new String[] {"one", "two"});

} (if (> (val x) 0)

(fn (+ (aref A i) (* 3 i))

(quote (one two)))

... continue reading