21 lines
694 B
Haskell
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" [] |