Hi

Haskell is great for equational reasoning.

blah the_v_in_scope blah
where (the_v_in_scope:_) =  [ v | (n,v) <- env, n==target ]

This piece of code isn't. If you used head then you could trivially
inline the_v_in_scope, this way is a lot harder. You might spot a
pointfree pattern and lift it up. You might move code around more
freely. Lots of patterns like this breaks the equational reasoning in
the style that most people are used to.

and it doesn't seem /that/ great an
imposition.

I disagree, this is a massive imposition, and requires lots of
refactoring, and is just a little bit ugly. What to go in a where
should be the programmers decision, not the decision based on which
hoops one has to hop through to write a debuggable Haskell program.

Thanks

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

Reply via email to