On 03/26/2012 05:50 PM, Johan Tibell wrote: > Normalization isn't quite enough unfortunately, as it does solve e.g. > > upcase = map toUppper > > You need all-at-once functions on strings (which we could add.) I'm > just pointing out that most (all?) list functions do the wrong thing > when used on Strings.
Hm, do you have any other examples besides toUpper/toLower? Also, that example is not really an argument against using list functions on strings (which, by any reasonable definition, seem to be "sequences of characters" -- whether that sequence is represented as a list, an array, or something else, seems more like an implementation detail to me). Rather, it indicates the fact that Char.toUpper may have to wrong type. If its type was Char -> String instead of Char -> Char, it could handle things like toUppper 'ß' == "SS" correctly. Then stuff like upcase = concatMap toUppper would work fine. As it is, the problem seems to be with Char, not with [Char]. Best regards Christian -- |------- Dr. Christian Siefkes ------- christ...@siefkes.net ------- | Homepage: http://www.siefkes.net/ | Blog: http://www.keimform.de/ | Peer Production Everywhere: http://peerconomy.org/wiki/ |---------------------------------- OpenPGP Key ID: 0x346452D8 -- Failure is just success rounded down. -- Ryan North
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Haskell-prime mailing list Haskell-prime@haskell.org http://www.haskell.org/mailman/listinfo/haskell-prime