
At 2001-08-21 20:31, Dean Herington wrote (on the Haskell list):
Now realizing that the "where" keyword is optional when there are no accompanying declarations, I think it would be preferable to omit the "where" keyword to indicate that the absence of declarations is intentional.
Personally I prefer the explicit braces/semicolons syntax rather than worrying about whitespace: module DeepSeq where { class DeepSeq a where { deepSeq :: a -> b -> b; deepSeq = seq; -- default, for simple cases }; ... instance DeepSeq Ordering; instance DeepSeq Integer; instance DeepSeq Int; instance DeepSeq Float; instance DeepSeq Double; } ...or if you prefer... module DeepSeq where { class DeepSeq a where { deepSeq :: a -> b -> b; deepSeq = seq; -- default, for simple cases }; ... instance DeepSeq Ordering; instance DeepSeq Integer; instance DeepSeq Int; instance DeepSeq Float; instance DeepSeq Double; } etc. Basically you put a braced block after every 'do', 'in' and 'where', and semicolons after every declaration. When I was first learning Haskell, I got massively confused by the whitespace rules, especially with mixed tabs/spaces etc. I reckon the braces style is more readable to anyone used to C/C++/Java etc. -- Ashley Yakeley, Seattle WA
participants (1)
-
Ashley Yakeley