This page is no longer maintained — Please continue to the home page at

1st draft of response to Martin's code challenge for scalable componentized lambda evaluator

No replies
Meredith Gregory
Joined: 2008-12-17,
User offline. Last seen 42 years 45 weeks ago.
Lifted, Scalad and lasses,

Recently Martin passed along a little code challenge regarding scalable abstractions for building a little lambda calculus evaluator. i've finally put together a 1st draft response. i've still got a lot of debugging to do, but the solution is end-to-end.
  • there is a parser and evaluator hosted inside a lift-based web-container
  • the parser is built using BNFC and can target Java/C#/OCaml/Haskell/F#/...
  • the parser comes with visitor pattern support
  • the evaluator is built in a two-level type style and demonstrates that the only OO you need is just enough to make Scala happy -- the abstractions are all FP-based
As i said, this is very much a draft and the code falls over most of the time. But, at this point, it's really a pedagogical device and framework for hosting and evaluating different solutions.

Again, one the main reasons i see for using Scala is it's seamless interop with Java. The OCaml solution is intriguing (though ther are some strangenesses in it that i've yet to grok), but i would like to see that solution hosted in this manner.

Best wishes,


L.G. Meredith
Managing Partner
Biosimilarity LLC
1219 NW 83rd St
Seattle, WA 98117

+1 206.650.3740

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland