{-# LANGUAGE RebindableSyntax, NPlusKPatterns #-} module RebindableCase1 where { -- import Prelude; import Prelude(String,undefined,Maybe(..), (==), (>=) ); return :: a; return = undefined; infixl 1 >>=; (>>=) :: a; (>>=) = undefined; infixl 1 >>; (>>) :: a; (>>) = undefined; fail :: a; fail = undefined; fromInteger :: a; fromInteger = undefined; fromRational :: a; fromRational = undefined; negate :: a; negate = undefined; (-) :: a; (-) = undefined; test_do f g = do { f; Just a <- g; return a; }; test_fromInteger = 1; test_fromRational = 0.5; test_negate a = - a; test_fromInteger_pattern 1 = undefined; test_fromInteger_pattern (-1) = undefined; test_fromInteger_pattern (a + 7) = a; test_fromRational_pattern 0.5 = undefined; test_fromRational_pattern (-0.5) = undefined; test_fromRational_pattern _ = undefined; }