隣り合う二項の差 どう書く?org
なんのひねりもない。
$cat diff.hs diff (x:[]) = [] diff (x:y:ys) = (:) (y-x) $ diff $ y:ys $ ghci diff.hs ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.6, for Haskell 98. / /_\\/ __ / /___| | http://www.haskell.org/ghc/ \____/\/ /_/\____/|_| Type :? for help. Loading package base ... linking ... done. [1 of 1] Compiling Main ( diff.hs, interpreted ) Ok, modules loaded: Main. *Main> diff [3,1,4,1,5,9,2,6,5] [-2,3,-3,4,4,-7,4,-1] it :: [Integer]