[Haskell-cafe] code review?

Niklas Broberg niklas.broberg at gmail.com
Wed May 25 11:20:32 CEST 2011

On Tue, May 24, 2011 at 7:18 PM, Neil Mitchell <ndmitchell at gmail.com> wrote:

> >> Before doing a code review I always demand that the author runs over
> >> the code with HLint (http://community.haskell.org/~ndm/hlint) - they
> >
> > Very good point.  In fact you just inspired me to finally download it
> > and run it on my own code.  Thanks for the great tool!
> Glad you like it.
> > While I'm on the topic, I recently wrote a tool that wanted to
> > traverse deep data structures as produced by haskell-src-exts.  I
> > wound up with about 50 lines of case expressions and around the time
> > my hands were literally beginning to hurt decided that enough was
> > enough and I should try a generic approach.  I heard uniplate was
> > pretty easy to use, and was pretty pleased to turn the entire thing
> > into a single line.  It took me a little longer to figure out I needed
> > to use universeBi since all the examples were monotyped, but once I
> > did it Just Worked.  Amazing.  So thanks again!  And maybe you could
> > mention universeBi in the instant introduction?
> Yes, I probably should - I'll try and get to that. Of course, I'd also
> happily accept a patch against
> http://community.haskell.org/~ndm/darcs/uniplate
> I use Uniplate inside HLint, and it's invaluable - there are a lot of
> times when List Comp + universeBi really hits the spot.

+1 on that, I use uniplate for pretty much all my haskell-src-exts tasks
these days, works like a charm!

I'd love to include some standard traversal functionality in
haskell-src-exts that depends on uniplate, but hesitate to do so because of
HP aspirations for haskell-src-exts. Neil, what do you reckon the chances of
getting uniplate in the HP are? :-)


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110525/64f63c5f/attachment.htm>

More information about the Haskell-Cafe mailing list