On Feb 20, 2006, at 12:48 PM, Christian Maeder wrote:
Hi,
haskell admits many programming styles and I find it important that
several developers of a prject agree on a certain style to ease
code review.
I've set up guidelines (still as plain text) for our (hets) project in
http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/
CoFI/hets/src-distribution/versions/HetCATS/docs/Programming-
Guidelines.txt
These were inspired by C programming guidelines, http://haskell.org/
hawiki/ThingsToAvoid and the problems I came across myself.
It like to get comments or proposals for our or other haskell
grogramming guidelines.
I personally disagree with your preference for custom datatypes with
a value representing failure to lifting types with Maybe. I tend to
like using the Maybe monad for composing large partial functions from
smaller ones, but your suggestion makes that impossible. Also, if
you bake in your failure case into your datatype, you can't use the
type system to differentiate explicitly partial functions (which use
Maybe X), from ones that are not expected to be partial (which just
use X). Final point, using Maybe gives you an easy route to go to
"Either String X" or some other richer monad to represent failure.
Rob Dockins
Speak softly and drive a Sherman tank.
Laugh hard; it's a long way to the bank.
-- TMBG
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe