Does this, and should this type check on GHC 6.10.x ?
Tom Schrijvers
Tom.Schrijvers at cs.kuleuven.be
Fri Jun 26 07:08:42 EDT 2009
> We got a code (please refer to the attached lhs file) that uses type
> families and type classes very cleverly. We don't know who wrote
> itbecause this was a contribution of an anonymous reviewer on our paper,
> which we are still revising. http://kyagrd.dyndns.org/wiki/SharedSubtypes
> Although we learned a lot from this code, we still have unsolved
> question about this code.
>
> The problem is, we are still not sure whether this code actually type
> checks in any GHC version, and we are not even sure whether this should
> type check or not as it is.
Have you first, before you turn to GHC< considered whether this code
should be well-typed in any type system?
> Review3.lhs:67:29:
> Could not deduce (Expandable (Tuple (Map ((,) t2) ys)))
> from the context (xs ~ t2 ::: ts2, Expandable t2)
> arising from a use of `:::' at Review3.lhs:67:29-59
At first sight, it looks like this constraint
Expandable (Tuple (Map ((,) t2) ys))
is indeed one that's required to hold in order to make the code
well-typed. Do you agree?
Yet I see no instance of Expandable for Tuple. So why do you think this
constraint should hold anyway?
Tom
--
Tom Schrijvers
Department of Computer Science
K.U. Leuven
Celestijnenlaan 200A
B-3001 Heverlee
Belgium
tel: +32 16 327544
e-mail: tom.schrijvers at cs.kuleuven.be
url: http://www.cs.kuleuven.be/~toms/
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
More information about the Glasgow-haskell-users
mailing list