Web Server

John Hughes rjmh@cs.chalmers.se
Tue, 13 May 2003 09:42:00 +0200 (MET DST)


On Mon, 12 May 2003, Shawn P. Garbett wrote:

> I got into a discussion with folks in my local circle of computer heads. I was
> talking about what I liked about Haskell. Most of the local circle are sold
> on the idea that Perl is the best language ever written. They eventually
> challenged me: show us a web site that is being served by Haskell.
>

One concrete example: solutions to programming laboratories on my
introductory programming course are submitted using a system implemented
with Wash/CGI. Students log in to the system, register their lab group
(they work in pairs), and then see a group home page via which they can
upload solutions and see feedback from their tutor -- there are four
different pages in this interface. Tutors have a similar interface where
they see all submissions waiting for their comments, and I have an
administrators interface where I can track the progress of the entire
class, extract the list of students who passed, prepare submissions for
automated cheat-detection, and so on. The entire system is about 650 lines
of Haskell and took two or three days to write, the biggest problem being
coping with the strange way our web server is configured! (The
administrator's interface is a bit crudely implemented, since only I have
to use it!) It was used by 170 students and eight tutors on my course
alone, and has since been adopted for other courses. Performance is
completely satisfactory, not surprisingly. The system replaced manual
handing in, correction, and reporting of labs, and was a dramatic
improvement.

For obvious reasons the system isn't publicly available, but you can see
how the student interface appears here:

http://www.cs.chalmers.se/Cs/Grundutb/Kurser/d1pt/d1pta/submission/lab-submission.htm

That's just one example of a fairly small but "real world" system
implemented in Haskell with Wash/CGI. I'm sure there must be many others.

John