
25 Sep
2007
25 Sep
'07
9:11 a.m.
While using Haskell, I often find myself writing convoluted constructions such as this: show_system = unlines . zipWith (\l ms -> "Eq" ++ show l ++ ": " ++ (concat $ intersperse " + " $ zipWith (\n x -> x ++ " x" ++ show n) [1..] (init ms)) ++ " = " ++ last ms ) [1..] . map (map (take 8 . show)) And people complain that *Perl* is bad? This function is quite obviously absurd. I mean, it works, but can *you* figure out what it does without running it? The question is, can anybody think of a better way to write this function? (And more generally, functions like it.)