I worked through most of MAL with Python and am currently doing it in Haskell. It's a great experience! (I think a few of the concepts could be explained in more detail, though. Maybe I should send in a patch.)
Though I would suggest reading other sources on how pratt parsers work if you want to fully understand the pure simple genius behind them.