Ticket #5001: Bar.hs

File Bar.hs, 395 bytes (added by igloo, 3 years ago)
Line 
1{-# LANGUAGE MultiParamTypeClasses #-}
2
3module Bar (Comorphism(..)) where
4
5class Show a => Comorphism a b c d where
6    map_sentence :: a -> b -> c -> Result d
7    map_sentence = f
8
9f :: Comorphism a b c d => a -> b -> c -> Result d
10f x _ _ = fatal_error ("Unsupported sentence translation " ++ show x)
11
12data Result a = Result String
13
14fatal_error :: String -> Result a
15fatal_error s = Result s
16