|
|
@@ -0,0 +1,41 @@ |
|
|
|
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!" |