-- compute length of list listlen :: [a] -> Int listlen2 :: [a] -> Int -> Int listlen ( x:xs ) = listlen2 xs 1 listlen2 ( x:xs ) n = listlen2 xs (n + 1) listlen2 [] n = n myReverse (x:xs) = myReverse xs ++ [x] myReverse [] = [] makePalin x = x ++ myReverse x