2009/11/9 John Moore <

[hidden email]>:

import Prelude hiding ((-))

data Val a = Val a

deriving Show

data Expr a b = Subtract a b

deriving Show

(-) :: Num a => a -> a -> Expr (Val a) (Val a)

x - y = Subtract (Val x) (Val y)

> 4 - 3

Subtract (Val 4) (Val 3)

--

Deniz Dogan