Using arrowT in a constructor class

Peter Gammie <[email protected]>
Newsgroups gmane.comp.lang.haskell.template
Message-ID <Pine.LNX.4.58.0412141656030.4891@gungnir>
(I'm using GHC 6.2.2 on SPARC/Solaris.)

I've got a class:

class (Arrow arrow) => ArrowComb arrow b where
    or2  :: arrow (b, b) b
    ...

and want to make an instance for it:

data DCin b = MkDCin { field :: b }

instance ArrowComb (->) b => ArrowComb (->) (DCin b) where
    or2 = ...

using Template Haskell. Trying to use "arrowT" as a constructor in this
context leads to the runtime error:

*** Exception: hsSyn/Convert.lhs:317: Non-exhaustive patterns in function
trans

I can provide a test case if you need one.

I don't have access to a CVS version, so this may already have been fixed.

regards,
Peter.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.