postponing discussion on exceptions and deepSeq

Robert Dockins robdockins at fastmail.fm
Tue Apr 11 21:54:12 EDT 2006


On Tuesday 11 April 2006 01:09 pm, isaac jones wrote:
> I'd like to ask the list to postpone discussion on exceptions and
> deepSeq until a later iteration.  While these are two topics that are of
> deep importance to me, I would prefer to focus on the other two topics
> at hand until they are solved.  That is, concurrency, and the class
> system.
>
> I'm still postponing opening up another topic since I find that the
> class system isn't being as enthusiastically discussed as I had hoped.
> Let's all focus our energies on these topics, I promise that the others
> won't be forgotten.
>
> Ross has asked for use cases for functional dependencies and so far has
> only two replies.  Surely there are those on this list who have use of
> functional dependencies?


Edison makes use of MPTC and functional dependencies.  I'll list the relavant 
class declaration heads here:

class Eq a => CollX c a | c -> a
class (CollX c a, Ord a) => OrdCollX c a | c -> a
class CollX c a => SetX c a | c -> a
class (OrdCollX c a, SetX c a) => OrdSetX c a | c -> a
class CollX c a => Coll c a | c -> a
class (Coll c a, OrdCollX c a) => OrdColl c a | c -> a
class (Coll c a, SetX c a) => Set c a | c -> a
class (OrdColl c a, Set c a) => OrdSet c a | c -> a

class (Eq k, Functor m) => AssocX m k | m -> k
class (AssocX m k, Ord k) => OrdAssocX m k | m -> k 
class AssocX m k => FiniteMapX m k | m -> k
class (OrdAssocX m k, FiniteMapX m k) => OrdFiniteMapX m k | m -> k
class AssocX m k => Assoc m k | m -> k
class (Assoc m k, OrdAssocX m k) => OrdAssoc m k | m -> k
class (Assoc m k, FiniteMapX m k) => FiniteMap m k | m -> k
class (OrdAssoc m k, FiniteMap m k) => OrdFiniteMap m k | m -> k


An additional issue is the following instance declarations, which require 
undecidable instances under GHC:

Eq (s a) => Eq (Rev s a)
(Sequence s, Read (s a)) => Read (Rev s a)
(Sequence s, Show (s a)) => Show (Rev s a)


The haddock for current Edison is here:

http://www.eecs.tufts.edu/~rdocki01/docs/edison/index.html


Rob Dockins


More information about the Haskell-prime mailing list