summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghc-regress/typecheck/should_run/tcrun010.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/ghc-regress/typecheck/should_run/tcrun010.hs')
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_run/tcrun010.hs44
1 files changed, 0 insertions, 44 deletions
diff --git a/testsuite/tests/ghc-regress/typecheck/should_run/tcrun010.hs b/testsuite/tests/ghc-regress/typecheck/should_run/tcrun010.hs
deleted file mode 100644
index 7621f4d4e0..0000000000
--- a/testsuite/tests/ghc-regress/typecheck/should_run/tcrun010.hs
+++ /dev/null
@@ -1,44 +0,0 @@
-{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies #-}
-
--- !!! Functional dependencies
--- This one gave "zonkIdOcc: FunDep_a11w" in earlier days
-
-module Main (main) where
-
-data ERR a b = EOK a | ERR b deriving (Show)
-data Error = No | Notatall deriving (Show, Eq)
-
-
-class MonadErr m e | m -> e where
- aerturn :: e -> m a
- areturn :: a -> m a
- acatch :: a -> (a -> m b) -> (e -> m b) -> m b
- (>>>=) :: m a -> (a -> m b) -> m b
- (>>>) :: m a -> m b -> m b
-
-data BP a = BP (Int -> (ERR a Error, Int))
-
-instance MonadErr BP Error where
- aerturn k = BP $ \s -> (ERR k, s)
- areturn k = BP $ \s -> (EOK k, s)
- acatch k try handler = BP $ \s -> let BP try' = try k
- (r,s1) = try' s
- (BP c2, s2) = case r of
- EOK r -> (areturn r, s1)
- ERR r -> (handler r, s)
- in c2 s2
- a >>> b = a >>>= \_ -> b
-
- (BP c1) >>>= fc2 = BP $ \s0 -> let (r,s1) = c1 s0
- BP c2 = case r of
- EOK r -> fc2 r
- ERR r -> BP (\s -> (ERR r, s))
- in c2 s1
-
-run_BP :: Int -> BP a -> (ERR a Error, Int)
-run_BP st (BP bp) = bp st
-
-foo :: (ERR Int Error, Int)
-foo = run_BP 111 (aerturn No)
-
-main = print (show foo)