Ticket #1382: Bugs.hs

File Bugs.hs, 1.4 KB (added by iampure@…, 7 years ago)

File containing the function test, which ghci claims to have Monad (GHC.Prim.Any1) in the context of a type.

Line 
1{-# OPTIONS_GHC -fglasgow-exts -fno-monomorphism-restriction  #-}
2module Bug where
3
4import Control.Monad.State
5import Control.Monad.Cont 
6import Data.Monoid
7import Control.Monad.Identity
8
9data A = A
10data BFSState  a = BN a
11
12class Gr g where 
13 foo:: g a b -> g a b
14
15data MState a b = MState  {
16   get_a::a,
17   other_state::b
18  }
19
20newtype Foo m graphtype state result =
21     Foo {
22       state:: StateT (MState graphtype state) m result}
23        deriving (Monad,Monoid,MonadCont)
24
25returnG:: (Monad m) => r -> Foo m x y r
26returnG = return
27
28data Something a edge_descriptor state b c d e =
29  Something{
30   bar:: edge_descriptor -> d, 
31   initializer::e
32            }
33
34default_visitor = 
35 Something
36 {bar = \_ -> returnG True,
37  initializer = returnG () 
38 }
39
40
41current_graph = gliftm (\s-> (get_a s,s))
42gliftm f = glift (\s-> return (f s))
43glift f = Foo (StateT f)
44
45
46shortest_path :: (Show a, Show b, Gr g) =>
47 Something
48  a1
49  A
50  state1
51  (Foo
52     Control.Monad.Identity.Identity (g a b) (BFSState state) b1)
53  (Foo
54     Control.Monad.Identity.Identity (g a b) (BFSState state) t)
55  (Foo
56     Control.Monad.Identity.Identity (g a b) (BFSState state) Bool)
57  (Foo
58     Control.Monad.Identity.Identity (g a b) (BFSState state) t1)
59 -> Int
60 -> Int
61 -> g a b
62 -> Maybe [A]
63shortest_path = undefined
64test = do 
65  g <- current_graph
66  return (shortest_path default_visitor{bar = \_ -> return True} undefined undefined g)