(An ((Even Better) Lisp) Interpreter (in Python))
Report a link problem
Submission timeline
2007–2026One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.
Top comments
If you like this sort of thing and want to learn Haskell, consider looking at "Write Yourself a Scheme in 48 Hours"[1]. Of course, writing a Scheme interpreter in Scheme is also classic; SICP[2] is also worth perusing. [1]: http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_H... [2]: http://mitpress.mit.edu/sicp/
Inexplicably, this conversation from earlier today (http://news.ycombinator.com/item?id=1745322) hasn't been linked, yet. If you're interested in programming, than I insist you read _Paradigms of Artificial-Intelligence Programming: Case Studies in Common Lisp_ yesterday. That's probably in my top five programming books EVER, and I've read a LOT of programming books. Your brain could gnaw on that sucker for months. Its pseudocode is in Lisp, but it's about real programming - don't write it off as just a lisp book…
I went through this in depth when I spent more time playing at writing a Lisp interpreter. I appreciate that these two features are crucial. 1. In the Python code of the interpreter, "Instead of making a recursive call that returns a value that is then immediately returned again by the caller, we can instead alter the value of x (and sometimes env) in the original invocation of eval(x, env). We are free to do that whenever the old value…
gee-see-c still needed to derive the duck type/nil punning out of the abstract non-sense.
The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.
HN stats
- Breakout years
- 2
- Total points
- 322
- Total comments
- 29
100+ points or 50+ comments
reference only — not used in Hall rules or ranking
reference only — not used in Hall rules or ranking
Every submission
| Date | Title as submitted | By | Points | Comments |
|---|---|---|---|---|
| 2010-10-01 | (How to Write a ((Better) Lisp) Interpreter (in Python))First breakout | shawndumas | 121 | 10 |
| 2011-10-18 | (An ((Even Better) Lisp) Interpreter (in Python))Best thread | cgopalan | 140 | 17 |
| 2014-11-12 | (An ((Even Better) Lisp) Interpreter (in Python)) | dkarapetyan | 8 | 1 |
| 2017-11-27 | (An ((Even Better) Lisp) Interpreter (in Python)) | pmoriarty | 2 | 0 |
| 2023-08-24 | (An ((Even Better) Lisp) Interpreter (In Python)) | rcarmo | 3 | 0 |
| 2023-10-22 | (An ((Even Better) Lisp) Interpreter (In Python)) | rcarmo | 4 | 1 |
| 2026-05-31 | (An ((Even Better) Lisp) Interpreter (In Python))Latest 20+ point return | vismit2000 | 44 | 0 |