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.)

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to