question re hugs and func dependencies

Dominic Duggan dduggan@cs.stevens-tech.edu
Mon, 5 Mar 2001 09:00:51 -0500 (EST)


Simon thanks I'm afraid I didn't see your earlier reply.

I didn't try this in GHC, thanks for the clarification.

Hugs on the other hand does give a type:
  g :: (Foo [[[[a]]]] [[[[b]]]], Foo [[[[[b]]]]] [[[a]]]) => [[[[b]]]] -> [[[a]]] -> Int     
My assumption is that this is because of a depth bound check.

As an editorial aside, it seems to me that the GHC approach
of lazy context reduction introduces the same problems that
functional dependencies were supposed to solve.  The type of
g with unresolved constraints hides a type error, and this
is part of the motivation for FD given by Mark Jones in his web note.
It seems to me that an approach of "I don't know" would be
more useful, but I cc to the haskell list in case others have
opinions.

Cheers
--dd