Keep Working, Worker Bee!

5.16.2005

So last night I submitted a paper review. This morning was dedicated to patching that review after I realized there was a small but significant bug. Thanks to the journal's editor for being understanding and holding off on mailing out the review until I was able to fix it up.

After that there was a little working on the semantics stuff. I finally got organized enough to make a list of the results I've proven and the directions I want to pursue. I also got started on an important proof, though I didn't really get anywhere much, because I actually spent quite a bit of time working with our contest beta-testers handling issues in person and over the mailing lists. I ended up spending entirely too long writing a program to perform what ought to be a trivial Unix task; I wish I could say what it was but I'm afraid if I told you what it was you'd figure out the whole darned contest and that would be totally unfair. We certainly wouldn't want that.

But all that got interrupted when my Amazon shipment came in. Barendregt, Essentials of Programming Languages, and Lisp in Small Pieces. All classics, and I've read none of them. It turns out that none of them are really for skimming either, so I started in on Barendregt at school and brought EoPL home with me. EoPL is certainly less dense than Barendregt, but I'm worried that if I were to teach it I'd end up assigning way too much to my students because everything I've read so far seems like it couldn't possibly take any time. Honestly, I don't in my gut think it'd be unreasonable to assign all of chapter one including every problem in between, say, a Thursday and a Tuesday class session, though I know intellectually that's not reasonable for the kids. But it does seem great.

Question: EoPL seems like it'd be a good intro book focusing on interpreters and dynamic semantics; Pierce's Types and Programming Languages is great for teaching type systems. Are there comparable books for teaching compilers in a functional context? I know of Appel's Modern Compiler Implementation in ML, but I'm not wild about it (and it doesn't even really talk about implementing functional features until the end anyway). Anything else out there?

3 Comments:

  • There's always The Implementation of Functional Programming Languages, although it's currently out of print.

    By Anonymous Anonymous, at 03:39  

  • Hey, that's a really cool-looking book and I hadn't seen it before. Thanks! After a skim through the table of contents, I worry that it might not be the best introduction to the subject, though; any experience using it as such? (I didn't mention Appel's Compiling with Continuations for the same reason: I actually really like CwC, but I don't think of it as being a particularly good intro.)

    By Blogger Jacob Matthews, at 07:03  

  • I've no real experience using IFPL as an introduction (except as an introduction for me! though I tend to use it more as a reference). It is intended as a course text according to the preface.

    I've been meaning to look at Compiling with Continuations for a while as well. So much to read, so little time...

    By Anonymous Anonymous, at 16:05  

Post a Comment

<< Home