Hacker Newsnew | comments | ask | jobs | submitlogin
(How to Write a ((Better) Lisp) Interpreter (in Python)) (norvig.com)
115 points by shawndumas 5 days ago | 10 comments




2 points by abecedarius 1 day ago | link

My comment about this being "not quite ready yet" no longer holds. I shouldn't have posted it, I think, because it might've killed the discussion.

Anyway, this is the best Lisp-in-Python I've seen, including my own.

reply

2 points by silentbicycle 4 days ago | link

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.

Also, if you have a good question, he might answer.(http://news.ycombinator.com/item?id=943633)

reply

3 points by abecedarius 5 days ago | link

The author mentioned that this page is not quite ready yet -- I think he meant to give the code a bit more polish, and I guess that's why lispy.html has reader's comments while this doesn't.

reply

1 point by acqq 5 days ago | link

I can also believe it's "in progress." I wanted to know more about the picture tagged as "First Lisp Interpreter." Checking the link revealed that it is amazingly to the dynamic(?) Facebook(!) resize of:

http://commons.wikimedia.org/wiki/File:Steve_Russell-PDP-1-2...

(So it's Steve Russell in the front of the PDP-1)

and I wouldn't expect the Facebook service to be used in the final version.

reply

1 point by aufreak3 5 days ago | link

call/cc, for one, certainly needs more work. Maybe at least a mention that this implements escape continuations and not the full continuations that, say, DrRacket implements.

I really enjoy Norvig's writing. Will wait for it to be finished.

reply

1 point by abecedarius 5 days ago | link

Full continuations would be a major change to the code, and would disallow calling Python functions that call Scheme back. (E.g. right now you could add 'map' to the toplevel by just binding Python's map().) But yes, I'd mention the difference.

reply

3 points by Semiapies 5 days ago | link

Discussion of the previous essay: http://news.ycombinator.com/item?id=1745322

reply

4 points by shawndumas 5 days ago | link

Yes, and also all credit does go to kroger[1] for the link to the new essay!

-------

[1]: http://news.ycombinator.com/item?id=1745379

reply

1 point by freyfogle 5 days ago | link

Tis nice, but real hackers write scheme in perl:

http://billhails.net/Book/interpreter-intro.html

reply

0 points by junkbit 5 days ago | link

+1 For a cracking headline

reply




Lists | RSS | Search | Bookmarklet | Guidelines | FAQ | News News | Feature Requests | Y Combinator | Apply | Library

Analytics by Mixpanel