{-| Dieses Modul exportiert einige Beispielfunktionen, die insbesondere von "Main" verwendet werden. -} module Modul1 where -- Funktion ord :: Char -> Int importieren import Data.Char (ord) -- * Datentypen -- | Eine Typdefinition type T800 = (Int, Int) {-| Ein anderer Haddock-Kommentar, durch @\{\-@ und @\-\}@ begrenzt. -} type T1000 = (Double, Double) -- * Hauptfunktionen -- | Wertet eine @Int@-Eingabe @n@ in einen String der Länge @n@ um. -- Siehe auch 'f2'. f1 :: Int -> String f1 n | n < 0 = "Flasche leer" | True = take (n `mod` 80) (repeat 'x') -- | Wertet einen @String@ in eine ganze Zahl um, die die Summe der -- ASCII-Werte der Zeichen im String darstellt. f2 :: String -> Int f2 s = if null s then 0 else ord (head s) + f2 (tail s) -- * Hilfsfunktionen -- | Nicht verwendet, aber sicher irgendwann hilfreich ident :: Int -> Int ident x = x