The patch to export liftA2
from Prelude
has just landed in GHC.
This means that you can expect the change to come to you with the next major GHC release (likely 9.6).
This is a breaking change - please see the migration guide if you think it might affect you.
This change is motivated by a few things:
- liftA2 is an often used function, even more so than (<*>) for some
people. - When implementing Applicative, the compiler will prompt you for either
an implementation of (<*>), or of liftA2, but trying to use the latter
ends with an error, without further imports. This could be confusing
for newbies. - For teaching, it is often times easier to introduce liftA2 first,
as it is a natural generalisation of fmap. - This change seems to have been unanimously and enthusiastically
accepted by the CLC members, possibly indicating a lot of love for it. - This change causes very limited breakage.
Please see the discussion over at Export `liftA2` from `Prelude` · Issue #50 · haskell/core-libraries-committee · GitHub if you want more context.