module Ex where import Prelude import Data.Array (tail, reverse) import Data.Maybe (Maybe(..)) import Data.String (toCharArray) import Data.Tuple (fst, snd, Tuple(..)) awesome :: Array String awesome = ["Papuchon", "curry", ":)"] alsoAwesome :: Array String alsoAwesome = ["Quake", "The Simons"] allAwesome :: Array (Array String) allAwesome = [awesome, alsoAwesome] length :: forall a. Array a -> Int length n = length' 0 (tail n) where length' i Nothing = i length' i (Just k) = length' (i + 1) (tail k) isPalindrome :: String -> Boolean isPalindrome x = toCharArray x == reverse (toCharArray x) myAbs :: Int -> Int myAbs a = if a > 0 then a else -a f :: forall a b c d. Tuple a b -> Tuple c d -> Tuple (Tuple b d) (Tuple a c) f x y = Tuple (Tuple (snd x) (snd y)) (Tuple (fst x) (fst y)) f' :: forall a b. (Tuple a b) -> a f' (Tuple a b) = a