{- Exercise 11.1 -} validBrackets :: String -> Bool validBrackets = undefined {- Exercise 11.2 -} longestPalindrom :: Eq a => [a] -> [a] longestPalindrom xs = undefined {- Exercise 11.3 -} data Tree a = Empty | Node (Tree a) a (Tree a) validBST :: Ord a => Tree a -> Bool validBST = undefined {- Exercise 11.4 -} addNumbers :: IO () addNumbers = undefined {- TESTS -} testValidBrackets = all (\(t, s) -> (t == validBrackets s)) [(True, "(a[bc])"), (True, "(){ab}c"), (False, "({ab)}c")] testLongestPalindrom = all (\(s, p) -> longestPalindrom s == p) [("xabai", "aba"), ("hannah steht neben dem regallager.", "regallager")] testValidBST = all (\(t, s) -> (t == validBST s)) [(True, Empty) ,(False, Node (Empty) 5 (Node (Node Empty 4 Empty) 9 Empty)) ,(True, Node (Node Empty 4 Empty) 5 (Node Empty 8 Empty))]