21 lines
579 B
Haskell
21 lines
579 B
Haskell
module Main where
|
|
|
|
-- Definiert einen simplen container für unsere Werte
|
|
data Box a = Box a deriving (Show, Eq)
|
|
|
|
-- Schreibe die Unit funktion, welche einen Wert in einen Container verschachtelt!
|
|
unit :: a -> Box a
|
|
|
|
|
|
-- Schreibe die Bind Funktion, welches es einem Erlaubt
|
|
bind :: Box a -> (a -> Box b) -> Box b
|
|
|
|
|
|
-- Schreibe eine Lift Funktion, welche eine Funtion nimmt und diesselbe funktion mit den Monadischen Werten als Eigabe und Ausgabetyp besitzt
|
|
lift :: (a -> b) -> Box a -> Box b
|
|
|
|
|
|
-- Main Function to run tests
|
|
main :: IO ()
|
|
main = do
|
|
print $ unit 10 -- Box 10 |