haskell-lectures/Code.hs

42 lines
778 B
Haskell

module Code where
data WeekDay = Monday
| Tuesday
| Thursday
| Wednsday
| Friday
| Saturday
| Sunday
deriving (Show)
f :: Int -> Int -> Int
f x 0 = 1
f x y = x * f x (y - 1)
mod2 :: Int -> Int
mod2 x
| x - 2 == 0 = 0
| x - 2 < 0 = x
| otherwise = mod2 (x - 2)
week :: [WeekDay]
week = [Monday, Tuesday, Thursday, Wednsday
, Friday, Saturday, Sunday]
isMonday :: WeekDay -> Bool
isMonday Monday = True
isMonday x = False
data Tree = Leaf Char
| Node Tree Int Tree
deriving Show
data MaybeInt = NoError Int
| Error String
calcSomething :: Int -> MaybeInt
calcSomething x
| x < 100 = NoError (x * 5)
| otherwise = Error "Int out of range!"