Erik de Castro Lopo wrote:
Vasili I. Galchin wrote:

     I am working with some existing code. "where/let" functions use the
same name for function parameters as the outer function and hence there is a
"shadow" warning from the compiler. To me it doesn't see totally
unreasonable to code like this .... the downside is the nasty ghc warnings.
Is there a coding consensus on this issue?

I'm relatively new to Haskell, but I know that in imperative
languages like C, a small percentage of "shadow" warnings are
often real bugs and hence always worth fixing if possible (sometimes the problem is in system header files and hence can't be fixed).

In Haskell there is an easy way around this. Variables can
be name a, a', a'' and so on. Since these aid in clarity
without forcing you to think up new variable names, I would
suggest that its a good idea to fix these warnings.

Speaking from experience it's good to fix all warnings, since otherwise there will be enough of them to cause a few "terminal pages" to scroll by when you compile and then there's a real danger of not noticing real errors. I'd pass '-Wall -Werror' to ghc to force myself to do this :-)

Also from experience, I get a good feeling about software that compiles without warnings. It suggests the author cares and is indicative of some level of quality.

/M

--
Magnus Therning                        (OpenPGP: 0xAB4DFBA4)
magnus@therning.org          Jabber: magnus@therning.org
http://therning.org/magnus         identi.ca|twitter: magthe

Attachment: signature.asc
Description: OpenPGP digital signature

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

Reply via email to