[Haskell-cafe] Java - Haskell adjustment

Henning Thielemann lemming at henning-thielemann.de
Mon Oct 15 11:21:57 EDT 2007

On Mon, 15 Oct 2007, Ryan Bloor wrote:

> Hi, its Ryan here...
> I've just come from an intensive course in java and have been thrown into the imperative world of haskell.
> The problem that I have is extremely simple in java but I am having trouble adjusting my old mindset.
> A multiset is a collection of items.
> Each item may occur one or more times in the multiset. All items are of the same type.
> The scenario we could use is a students' grades for their A levels: 3A, 4B and 2C grades for our pupil 'x'.

> A multiset may be implemented by a list... so ['A', 'A', 'A', 'B', 'B', 
> 'B', 'B, 'C', 'C'] but this very ineffiecient and tedious.

You might model it using
    Map Char Int
   which maps each multiset element to its multiplicity.

Maybe 'Char' is not the appropriate type, but an enumeration?

data Grade = A | B | C | D | E
    deriving (Show, Eq, Ord)

then use 'Map Grade Int'

More information about the Haskell-Cafe mailing list