[Haskell-cafe] Re: Building "production stable" software in Haskell

ChrisK haskell at list.mightyreason.com
Mon Sep 17 17:19:28 EDT 2007


Philippa Cowderoy wrote:
> On Mon, 17 Sep 2007, Adrian Hey wrote:
> 
>> Ideally the way to deal with this is via standardised interfaces (using
>> type classes with Haskell), not standardised implementations. Even this
>> level of standardisation is not a trivial clear cut design exercise.
>> e.g we currently have at least two competing class libs, Edison and the
>> collections package. Which one should become standard?
>>
> 
> They shouldn't, at least not now. Knock up something lightweight that'll 
> do for now for each of the modules that're going to be standard, worry 
> about overarching frameworks later. Realistically we need a standardised 
> name which we can expect to find an implementation under, with some 
> performance guarantees even if they're the worst possible ones we can 
> make.
> 


This is not OO programming.  There can be looser coupling between type classes
and the concrete data.  I could imagine making each concrete Map implementation
an instance of each of the offered class frameworks.  So the Edison data types
would be available under the Collections classes and vice versa.

But since I have not used either, there may be some details that make this too
annoying.  Perhaps a class framework which cannot accept the "foreign" maps is
not flexible enough; and a class framework which "foreign" maps can become
instances of is a better choice?

Anyway...time to sign off for today.

-- 
Chris



More information about the Haskell-Cafe mailing list