If I run ghc on 

--------------------------------------------------------------------------------

> 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)

--------------------------------------------------------------------------------

I get

ghc -fglasgow-exts Er.lhs -o Er
zonkIdOcc:  FunDep_a11w
zonkIdOcc:  FunDep_a11t
zonkIdOcc:  FunDep_a11t

ghc --version
The Glorious Glasgow Haskell Compilation System, version 4.08.1

What is this about? Is it dangerous? (I.e. will it break my executable?)

Sengan


_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to