Tristan Allwood wrote:

Just to follow those sentiments, the version I knocked out quickly
looked like:
(It's not quite the same as the original function, I think I'm lacking a
map (map (take 8)) on the first line).

showSystems :: Show a => [[a]] -> String
showSystems = unlines . zipWith showSystem [1..] where
    showSystem n as = "Eq" ++ (show n) ++ ": " ++ sum ++ " = " ++ val
      where
        sum = concat . intersperse " + " . zipWith showNum [1..] $ (init as)
        val = show . last $ as
        showNum n a = show a ++ " x" ++ show n


I'm puzzled - do we have 2 seperate where clauses?

Pointsfree and explicit lambda notation I find can be very concise in
places, but make it quite hard to reuse or refactor code later - if you
can't read it, make a function/variable with a useful name so you can
later.

Mmm, so just like every other programming language. Theoretically you could write a ten thousand line Pascal program on 1 line - but please don't! Hehe.

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

Reply via email to