import List steep xs = and $ zipWith (>) xs $ map sum $ tail $ tails xs
$ が多くてうっとうしいからがんばって無くしてみた。ついでに引数もなくなった。
import List steep2 = and . s (zipWith (>)) sums where s f g x = f x (g x) sums = map sum . tail . tails
なんかかえって解りにくいかも。
実行結果:
*Main> steep2 [32,16,8,4,2,1] True *Main> steep2 [31,16,8,4,2,1] False