APPSEM '98

Program Structuring in Haskell

Mark P Jones

Slide 16

Back to start

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Previous

To conclude: Haskell classes allow us:

  • To define extensible functions.
  • To defer implementation decisions.
  • To reduce coupling between different parts of a program.
  • To describe useful analyses in a type inference framework.
However, there are clear overlaps with the features of powerful module systems like Standard ML. (For example, in some ways, class and instance declarations behave much like signature and structure/functor definitions.) Amongst future goals, we would hope to identify a common core in the features of these languages, and to use this to develop an orthogonal treatment of modules and type classes in a new language design.