Biggest Haskell unit in the world
Bernard James POPE
Tue, 26 Jun 2001 12:32:22 +1000 (EST)
> If any of you antipodeans feel like sharing tales of Haskellisation, I can
> guarantee you an eager audience of at least 1.
What follows is just my own view of the situation, other people from this department
may think differently:
At Melbourne we moved from Miranda to Haskell about 2 years ago. I think Miranda replaced
Pascal as the first language taught to students, but that was a long time ago and I
wasn't here at the time.
Miranda was very successful as a first language. However, it suffered from some problems which
ultimately led us to look for a replacement:
- it was a bit of a toy language, and didn't scale well to use in later year subjects.
- it wasn't open, which made it difficult for students to use at home.
- it was being overtaken by languages like Haskell in the research community
We considered a few languages to replace Miranda. Haskell was the most obvious candidate.
One of the main reasons for choosing Haskell was the quality of Hugs. Having such a large
body of students really requires that they be able to do a lot of their work at home.
Without Hugs, I dare say we would have been looking more seriously at other languages.
The transfer from Miranda to Haskell was quite straightforward. Training staff was not a big
problem. Type classes and monadic programming being the only tricky topics for people with
Miranda experience. You can find our paper on "Haskell for Miranda Programmers" on
We still tend to teach the Miranda "subset" of Haskell, which is a bit of a pity. It is
the overall intention of our first subject to introduce problem solving and
algorithms to students. In some ways the language is a secondary issue, however, we believe that
functional languages are a good setting for this.
The use of Haskell is filtering up through the later-year subjects, as both staff and
students become more comfortable with it. I think that many of our students do not
appreciate some of the strong features of declarative programming until third or fourth
year when they are faced with larger (more difficult) programming tasks.
There is still a conception amongst some of the students that FP is not really
part of "Real World" programming, and that it is merely of interest to academics. We try
hard to refute this notion.