Overall, I don’t think about base
much. It’s fine, I can make it do stuff, I don’t usually get bitten by version upgrades. If you gave me a magic wand, I’d wish for the following unrealistic changes:
- I’d love to see
Num
split up:- Move
fromInteger
into its own class so that you can have (e.g.) libraries which can turn an integer literal into a HTTP status. - Make
(+)
the method ofclass Semigroup
. Similarly move(*)
into some other class:Semiring
may be too strong (must we require commutative(+)
?) - Make
(-)
a method ofclass Group
, I guess?
- Move
- Make
map
the method ofclass Functor
- Rename
mconcat
toconcat
I used to be pro-Profunctor
-in-base
to make it easier to write van Laarhoven Iso
s, but I think a small base
is better than a big base
. More generally, I’d like to see how Iceland_Jack’s FunctorOf
work pans out before baking in more of our current ___Functor
classes.
I’d also like to see some kind of smaller, teaching-style alternative to base
that educational material could depend upon.