On 27/09/2010 02:44 PM, Daniel Fischer wrote:
On Monday 27 September 2010 14:52:18, Henning Thielemann wrote:
data Foo a b =
Foo a
| Bar b
| Foobar a b
avoids this, at least for the type name "Foo".
Tastes vary, but I find that ugly. I much rather have the '=' aligned with
the '|'.
data Foo a b
= Foo a
| Bar b
| Foobar a b
deriving (Eq, Ord)
There, that looks good.
Tastes do indeed vary. To me, both of these are incorrect, and the
correct way is
data Foo a b =
Foo a |
Bar b |
Foobar a b
deriving (Eq, Ord)
It honestly annoys me that Haddock disagrees with me on this point...
(It also irritates me that almost all Haskell identifiers are
camel-case, but with an inital lowercase letter. IMHO, the correct thing
to do is use camel-case for identifiers that must begin with an
uppercase letter, and underscores for identifiers that must begin with a
lowercase letter. Of course, my opinion has no effect on the Prelude and
so forth.)
I generally try to structure my code so that all blocks indent by 2
spaces, and the size of indentation never depends on the length of an
identifier. In other words, none of this:
foo x y z = do
thing1 x
thing2 x y
thing3 z
...
Do that a few times and you rapidly end up with lines 300 characters
wide. (!) Instead, I prefer
foo x y z = do
thing1 x
thing2 x y
thing3 z
...
But, as they say, everybody has their own ideas about style. I think the
most important point must surely be that any style is applied
*consistently*...
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe