[Haskell-cafe] Problem with fundeps.
karczma at info.unicaen.fr
Wed Jan 5 07:30:47 EST 2005
Simon Peyton-Jones proposes a solution to my
overlapping/incompatible fundeps in math. setting:
>Meanwhile, why couldn't you have this:
> instance (Vspace a v) => Vspace a (c->v)
> instance Vspace Int Int
> instance Vspace Float Float
>That is, one instance for each base type? You only have a finite number
>of base types, so this might not be too bad.
RRright! It works. Thank you. I have still some problems elsewhere,
but I must understand better all their context.
It seems that there is still some place for the development of Haskell
type systems. Math reasoning, algebraic hierarchies, etc. often use
some "natural" subsumptions, which are not so natural from the
perspective of Hindley-Milner and its extensions, classes included...
I would like to thank also Oleg for his remarks concerning the keyword
arguments, etc. I read all this with pleasure, but, frankly, this machinery
is too horrible for me to use directly. I don't think that I can accept
effectively the vision:
>The gist of our implementation is the realization that the type of a
>function is a polymorphic collection of its argument types -- a
>collection that we can traverse.
although this may be the departure point for a "less opaque"
representation of functions, probably useful in math...
More information about the Haskell-Cafe