[Allow the user to use real numbers when playing with Nat Joachim Breitner **20100904105316 Ignore-this: f2cd7ccf0ee210badee7eb3bcac80b55 ] hunk ./BUtil.hs 11 -data Nat = S Nat | Z deriving (Show,Eq) +data Nat = S Nat | Z deriving (Eq) + +instance Show Nat where + show = show . fromNat + +instance Num Nat where + (+) = error "No operators defined for Nat" + (*) = error "No operators defined for Nat" + abs = error "No operators defined for Nat" + signum = error "No operators defined for Nat" + fromInteger n | n < 0 = error "Nat cannot be negative" + | n >= 0 = toNat n