diff options
Diffstat (limited to 'Haskell-book/06/src/Main.purs')
| -rw-r--r-- | Haskell-book/06/src/Main.purs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Haskell-book/06/src/Main.purs b/Haskell-book/06/src/Main.purs new file mode 100644 index 0000000..6f60ab2 --- /dev/null +++ b/Haskell-book/06/src/Main.purs @@ -0,0 +1,30 @@ +module Main where + +import Prelude +import Control.Monad.Eff (Eff) +import Control.Monad.Eff.Console (CONSOLE, log) + +data DayOfWeek = + Mon | Tue | Weds | Thu | Fri | Sat | Sun + +data Date = + Date DayOfWeek Int + +instance eqDayOfWeek :: Eq DayOfWeek where + eq Mon Mon = true + eq Tue Tue = true + eq Weds Weds = true + eq Thu Thu = true + eq Fri Fri = true + eq Sat Sat = true + eq Sun Sun = true + eq _ _ = false + +instance eqDate :: Eq Date where + eq (Date weekday dayOfMonth) + (Date weekday' dayOfMonth') = + weekday == weekday' && dayOfMonth == dayOfMonth' + +main :: forall e. Eff (console :: CONSOLE | e) Unit +main = do + log "Hello sailor!" |
