diff delta.hs @ 73:0ad0ae7a3cbe

Proving monad-law-1
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Sun, 30 Nov 2014 22:26:50 +0900
parents 295e8ed39c0c
children 1339772b2e36
line wrap: on
line diff
--- a/delta.hs	Sun Nov 30 19:00:32 2014 +0900
+++ b/delta.hs	Sun Nov 30 22:26:50 2014 +0900
@@ -5,6 +5,11 @@
 
 data Delta a = Mono a | Delta a (Delta a) deriving Show
 
+instance (Eq a) => Eq (Delta a) where
+    (Mono x) == (Mono y)         = x == y
+    (Mono _) == (Delta _ _)      = False
+    (Delta x xs) == (Delta y ys) = (x == y) && (xs == ys)
+
 -- basic functions
 
 deltaAppend :: Delta a -> Delta a -> Delta a