詳細設計書
ネタ元:詳しすぎる詳細設計書 - SiroKuro Page
自分だったらこんな風に書きたかったりするので、やっぱりまだ詳細設計書が邪魔だと思いました。:p
あ、詳細設計書なんて要らんだろ、という話には激しく同意です。
import Control.Arrow import Data.List data Sex = Man | Woman deriving (Eq, Show) type Height = Double data Person = P {sex :: Sex, height :: Height} main = print $ calc [P Man 50, P Woman 40, P Woman 50, P Man 70, P Man 90] calc :: [Person] -> Height calc = uncurry (-) . (avg *** avg) . partition ((== Man) . sex) avg :: [Person] -> Height avg = uncurry (/) . (sum . map height &&& toEnum . length)