blob: 565bbad9b4d5cb1f43c521f5dc16b2ac1bf8a671 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
{-# LANGUAGE MultiParamTypeClasses, FlexibleContexts #-}
-- !!! Mutually recursive kind inference
-- Exposes a bug in 4.08 (fixed in 4.08 pl1)
module ShouldCompile where
-- This pair will tickle the bug
class Lookup c k a where
lookupAll :: Sequence seq a => c -> k -> seq a
class Lookup (s a) Int a => Sequence s a where
foo :: s a
-- This decl will tickle it all by itself
class Matrix a e where
amap2 :: (Matrix a d) =>
(e -> d -> e) -> a ix e -> a ix d -> a ix e
|