haskell-workshop/exercises/block5/4-bonusMonaden/bind.hs

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