(An ((Even Better) Lisp) Interpreter (in Python))
Report a link problem
The originally submitted URL now redirects to the address above. Updating the destination does not change the item’s HN history, Hall membership, or rank.
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.
First comments on top threads
HN comment orderIf 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.
- 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 |