Skip to content

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

Comments

Upvoted just for the title. :-)

To be honest, when I first read the title I thought that it was yet another basic article about writing a basic lisp interpreter (google returns 47000+ links on this subject). But of course when I saw it was written by lisp über guru Peter Norvig I knew it'd be good.

(I was amazed when I saw that he wrote the scheme interpreter in Java in order to learn java better: http://norvig.com/jscheme-design.html)

Edit: fix grammar.

I think that's a natural course of action for people comfortable with formal semantics of languages: "implement it, or implement something in it" is an excellent way to learn.

OTOH, one gets a lopsided view of the language. I have been learning Java for the last 1.5 months, most of it hacking on ABCL. I have got a good understanding of the runtime system, reflection, class-loading, security and the type-system. But I still look up primitive stuff like string manipulation and file I/O operations.

I miss Lisp a lot, but Java makes up in platform what it lacks as a language. You can use class instrumentation libraries to generate and manipulate code at run time. It's well worth tolerating, at least until I know enough of it to wrap the libraries I need to use from ABCL.

Eclipse is nice once you ditch the mouse and install the Emacs bindings plugin.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.