-- block@inf.fu-berlin.de

-- Konstante
funktionkeineAhnung :: Int
funktionkeineAhnung = 6

text :: [[Char]]
text = ["hallo", "Du", "da"]

-- unendliche Liste aller ungeraden Zahlen>0
unendlich :: [Int]
unendlich = [1, 3 ..]

 -- liefert Länge einer Zeichenkette
laenge :: String -> Int
laenge []       = 0
laenge (x:xs) = 1 + laenge xs

anhaengen :: Char -> String -> String
anhaengen x xs = x:xs

verknuepfen :: String -> String -> String
verknuepfen xs ys = xs ++ ys      -- ['a','b] ++ ['c','d'] = ['a','b','c','d']
                                                -- 'a' : ['c', 'd']   = ['a', 'c' , 'd']

-- liefert grössten gemeinsamen Teiler
ggT :: Int -> Int -> Int
ggT a b
   | a==0               = abs b
   | b==0               = abs a
   | a>=b && b>=0 = ggT (a-b) b
   | b>=a && a>=0 = ggT b a
   | otherwise         = ggT (abs a) (abs b)
   
-- Testläufe:
{-
Main> ggT (-8) 0
8
Main> ggT (-5) (-10)
5
Main> ggT 0 0
0          
-}   