module Exercise_8 where import Data.List import Data.Char import Data.Ratio import Control.Monad import Control.Arrow import GHC.Num {-WETT-} shoefa :: (Num a, Ord a) => [a] -> Int shoefa = length . filter (/=0) <<< map (uncurry (-)) <$> ap zip tail <<< liftM signum <$> filter (/=0) {-TTEW-}