base-unicode-symbols
base-unicode-symbols copied to clipboard
Added U+00A7, SECTION SYMBOL (for (<$>) or fmap)
Rationale:
-
(<$>)
orfmap
is easily a more fundamental Haskell operator than many of the operators that have already been provided. So it deserves its own Unicode character. - There are few available circled operators that make sense. At least, U+00A7 has a sort of circle in the center and also shares its overall S-like shape with the dollar sign from its Haskell counterpart, so it makes sense next to the other circled operators based on Haskell angle-bracketed counterparts. Furthermore, unlike those other counterparts, the dollar sign does not have a mathematical meaning related to its Haskell meaning; its usage as low-precedence function application is unique to Haskell and derivatives (I think), so giving U+00A7 another unique-to-Haskell meaning unrelated to its "section symbol" meaning is defensible.
- Finally, being a basic Latin-1 Supplement character, U+00A7 probably enjoys reasonably widespread support by coding fonts (unlike some of the other characters in this package...), which is especially important given the first point for potential adopters.
My only concern is that, given the character's commonness, some package on Hackage somewhere might use the symbol to mean something completely different and perhaps more meaningful. (I know e.g. hmatrix uses U+00BF INVERTED QUESTION MARK, U+00A6 BROKEN BAR, and U+2014 EM DASH.) But I haven't found a way to look for packages that use particular Unicode characters as operators, and I think the risk is low enough.
Also, I didn't know what to do for the copyright in the new file so I selfishly claimed all 37 lines of it for myself. You can change that if you want. (The other files' copyright years ought to be updated too.)