
On 2012-Oct-22 14:23 (-0700), Eugene Kirpichov wrote with possible deletions:
fwd = foldr (\(x,y) -> M.insertWith (++) x [y]) M.empty $ S.toList g
Use foldl' here, foldr is absolutely useless here and it only consumes the stack space as your operation is strict.
Thank you very much for that. I'll review the code under strictness aspects.
As for the actual code: I'd prefer the code itself to be more readable, rather than have a lot of literate comments around it;
I like comments documenting why something's done, complementing the code which tells what's done.
currently, IMO all the uncurry's, flips, eithers, maybes and point-free style hurt readability heavily.
I agree. Between babbling bloated and incomprehensible terse, my code is certainly towards the terse extreme. For me, that's a balancing act that I find hard to do right.
I'll probably try to write my own version as an exercise :)
Cool! I'd like to see that... Cheers! Stefan -- Stefan Klinger o/klettern /\/ bis zum send plaintext only - max size 32kB - no spam \ Abfallen http://stefan-klinger.de