Brandon Allbery wrote:
> Probably an alias for backward compatibility; isAlpha is C-style <ctype.h>
> stuff, which was ASCII only, whereas isLetter is Unicode style.
Prelude Data.Char> all (\c -> isLetter c == isAlpha c) [minBound..maxBound]
True
Whew! You had me worried my code had unicode bugs.
I phrased it as "*alias* for backward compatibility" for a reason. It should be the same thing, but I expect older versions of Haskell used the older name because it was well established in the pre-Unicode era. (I couldn't say whether it was ever *native*; Haskell did not evolve in a vacuum, there are other languages in its background.)
--