Thanks Matthew, Do you think there is any workaround to this issue that we could try?
On Wed, Oct 21, 2015 at 5:25 PM, Matthew Pickering < [email protected]> wrote: > Looks like a definite bug. Filed as #10977 > > https://ghc.haskell.org/trac/ghc/ticket/10997 > > Matt > > On Wed, Oct 21, 2015 at 12:49 PM, Sreenidhi Nair > <[email protected]> wrote: > > Hello, > > > > We have a pattern synonym as follows > > > > type family Showable (a :: k) :: Constraint where > > Showable (a :: *) = (Show a) > > Showable a = () > > > > pattern Just' :: () => (Showable a) => a -> (Maybe a) > > pattern Just' a <- (extractJust -> (True, a)) where > > Just' a = Just a > > > > When we try to use the pattern in a different package, the error was > > > > [1 of 1] Compiling Bar ( Bar.hs, > > .stack-work/dist/x86_64-linux/Cabal-1.22.4.0/build/Bar.o ) > > > > > /tmp/test/p2/.stack-work/install/x86_64-linux/lts-3.5/7.10.2/lib/x86_64-linux-ghc-7.10.2/p1-0.1.0.0-I5t4il6dN7vIqsT1XgYsM3/Foo.hi > > Declaration for Just' > > Pattern synonym Just': > > Iface type variable out of scope: k > > Cannot continue after interface file error > > > > The error only occurred when Showable was polykinded and we used synonym > in > > a different package . Using the synonym in the same package works fine. > > > > This problem did not happen with the following definition of (non > polykinded > > ) Showable > > > > type family Showable a :: Constraint where > > Showable a = (Show a) > > > > We have attached the sample packages which simulate the exact scenario > > described above. > > > > -- > > Yours truly, > > Sreenidhi Nair > > > > _______________________________________________ > > ghc-devs mailing list > > [email protected] > > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > > > -- Yours truly, Sreenidhi Nair
_______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
