base: Add documentation that liftA2 used to not be a typeclass method
authorAndrew Martin <andrew.thaddeus@gmail.com>
Fri, 4 Jan 2019 17:01:25 +0000 (12:01 -0500)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Wed, 3 Apr 2019 04:41:05 +0000 (00:41 -0400)
libraries/base/GHC/Base.hs

index 60a485c..cf9fd81 100644 (file)
@@ -543,6 +543,9 @@ class Functor f => Applicative f where
     -- efficient than the default one. In particular, if 'fmap' is an
     -- expensive operation, it is likely better to use 'liftA2' than to
     -- 'fmap' over the structure and then use '<*>'.
+    --
+    -- This became a typeclass method in 4.10.0.0. Prior to that, it was
+    -- a function defined in terms of '<*>' and 'fmap'.
     liftA2 :: (a -> b -> c) -> f a -> f b -> f c
     liftA2 f x = (<*>) (fmap f x)