> Currently -fallow-overlapping-instances only allows overlapping instances 
> if one is a strict subset of the other. This is good (determinate), but 
> sometimes you really need two instances that partially overlap. 

>From a type-theoretic viewpoint, 
instance declarations are relations between (sets of) trees 
(= elements of the respective data types).
So one needs representations of such relations
with effective decidability of overlapping-ness, most-sepcific-ness and such.

Unsurprisingly, there are representations with nice decidabilities,
but they are not very expressive; and on the other hand
there are representations with undecidable properties
(see -fallow-undecidable-instances)

This is an active area of research 
in the term rewriting/tree automata community,
see for example the chapters on "automata and n-ary relations"
(as well as "tree set automata") in the TATA book.
http://www.grappa.univ-lille3.fr/tata/

Well, at least my impression is that these topics *are* closely related,
and *both* should certainly benefit from a closer investigation of their 
interrelations. (this is what I'll be attempting in one part of my thesis.)

best regards,
-- 
-- Johannes Waldmann ---- http://www.informatik.uni-leipzig.de/~joe/ --
-- [EMAIL PROTECTED] -- phone/fax (+49) 341 9732 204/252 --
_______________________________________________
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to