haskell-workshop/exercises/block5/5-bonusDOM/dom.hs

21 lines
694 B
Haskell

module Main where
-- Definiere eine einfache Datenstruktur für DOM-Elemente
data DOM a = Element a [DOM a] | EmptyElement deriving (Show, Eq)
-- Schreibe die Unit funktion, welche einen Wert in einen DOM-Container verschachtelt!
unit :: a -> DOM a
-- Schreibe die Bind Funktion, welches es einem Erlaubt funktionen des Monadischen Typen DOM zu verketten
bind :: DOM a -> (a -> DOM b) -> DOM b
-- Schreibe eine Lift Funktion, welche eine Funtion nimmt und diesselbe funktion mit den Monadischen Werten DOM als Eigabe und Ausgabetyp besitzt
lift :: (a -> b) -> DOM a -> DOM b
-- Hauptfunktion zum Ausführen von Tests
main :: IO ()
main = do
print $ unit "root" -- Element "root" []