Dear Haskellers, Could you, please, tell me what is the recent state of the Haskell Standard development?
I have a wish for the Standard Library: FiniteMap, Set (of GHC library). And I have a question on the function name overloading, and on the record field name overloading. A language should support a natural naming of objects. For example: data Operator = Operator{opName :: String, opWeight :: Int, opSortage :: ([String],[String],String), opOrd :: Int, opPrecedences :: (Int, Int) } is not good -- due to `op' prefix. And many other data also have name, weight, ord, and so on. So, one may try to introduce class WithName a where name :: a -> String set_name :: a -> String -> a class WithWeight a where weight :: a -> Int set_weight :: a -> Int -> a ... trivialOperator = Operator{ ... some trivial setting ...} , to change the names like opName to opName__, opWeight__, ... to show that the latter are local and not for usage, to introduce instance WithName Operator where name = opName__ ... , and then, use all this, for example, as follows: let nm = name opr opr' = set_name "foo" $ set_weight 1 $ set_ord 2 $ opr in ... This leads to following complications. * Class declarations add. * The Standard does not allow to define the instances like type BN = (String, Bool) instance WithName BN where name = fst * There are many operations that should be synonymic but have different kind. For example, weight :: a -> Int weight :: Table -> a -> Int This leads to adventures with multiple parameter classes, and so on. Similar difficulties arise with the function names. Is Haskell all right at this point? Reply, please, to [EMAIL PROTECTED] Thank you in advance for the explanation. ----------------- Serge Mechveliani [EMAIL PROTECTED] _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell