Wednesday, September 15, 2010

going through "elements of ml programming"

Just finished chapter 2 (“Getting Started in ML”). One question has me stumped. We're given a bunch of type expressions and asked to provide examples of values that have those types. The one that I can't seem to find an example for is:

((int * int) * (bool list) * real) * (real * string)

I can easily construct an example that matches

((int * int) * bool list * real) * (real * string)

but what has the type (bool list)? A tuple with one element is really just a parenthesized expression (consider the equivalent expressions a + (b * (c)) and a + (b * c)).

I'm doing the exercises with Moscow ML.

No comments: