[EMAIL PROTECTED] wrote:
Tom, Then what will you do when naming operations in a class? Is it right that care has to be taken in order not to conflict with other classes?
Say, I have a Person class where I want to define an operation "getName". Is it wise to name it "getPersonName" instead?
Class method names support the small-modules-and-qualified-names approach too.
module C1 where class C1 a where c :: Int -> a
module C2 where class C2 a where c :: Int -> a
module UseBoth where import C1 import C2 f i = (C1.c i, C2.c i)
This can cause trouble if you use C1 extensively without C2, and *then* import C2: you'd have to change a lot of unqualified c to C1.c. But when you're using C1 in the first place, you can guess whether you should write C1.c in anticipation of clashes.
I notice that FiniteMap always names operations and functions xxxFM, although that looks ugly to me. Is that a general good thing to do when naming operations?
It's not my preferred approach, but opinions vary.
Regards, Tom
_______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell