[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: book



>>>>> "SK" == Shriram Krishnamurthi <sk@cs.brown.edu> writes:

  SK> Simon Cozens wrote:
  >> It doesn't tell you how to do memory management, garbage
  >> collection, object despatch, OS-independent IO, exception
  >> handling, signal handling, stack management, translatable
  >> bytecode output, object finalization, just-in-time compilation,
  >> op despatch, active data, C extensions, embedability, complex
  >> data type storage, scoping, or regular expressions.
  >>
  >> But apart from that, it tells you everything you need to
  >> implement a modern interpreter.

  SK> Thanks for your sarcasm. About half of these we cover in our
  SK> programming language course, and about 90% of the rest we cover
  SK> in our compilers courses.

  SK> So, if you want to implement a lightweight language, consider
  SK> taking a few college courses.  If you did, and they didn't teach
  SK> you squat, consider returning your diploma.  Don't harangue
  SK> those who do teach it.

I had hoped we'd last at least a few weeks before the flames started
<0.3 wink>.

This thread started with the question of whether there was a book that
addressed the pragmatics of interpreter design.  I think Shriram is
right to question whether the questioner really wanted a book about
interpreters or about language implementation techniques, where
interpretation is one possible technique.

I believe it's fair to say that the Friedman et al. book doesn't focus
on pragmatics or implementation techniques, e.g. signal handling or C
FFI.  (Signal handling in the presence of multiple threads is a
problem that Python doesn't have a great solution for.)  Flames aside,
it seems like there aren't many books that treat these issues in
detail.  The observation of this lack doesn't bear much relationship
to what people studied in college or who teaches it now.

I got the impression, perhaps from comments that Olin made during q&a,
that there is a lot of practical knowledge in the Lisp community about
these issues.  Are there books or papers that address the sorts of
issues that Simon listed?  (I intend to look at the books Jonathan
mentioned.)  Where's a good place to start?

Jeremy