Graham's post reminded me. We have been using a 1000 LOC Haskell program to automatically test and grade two assignments in a course on Distributed Systems (where assignments are implemented in C and Erlang). The testing program is, in fact, general purpose in that it implements an EDSL for marking programming assignments. Manuel