[Haskell-cafe] Maximum bipartite matching: 24 lines

Stefan Klinger all-lists at stefan-klinger.de
Wed Oct 24 14:03:40 CEST 2012


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



More information about the Haskell-Cafe mailing list