ref: 861e99a0e01196b026830428e7c71517c31fb2a4
parent: bceced6e4b829eb0b2e401c34a593ad37c99ff8d
author: Lennart Augustsson <lennart.augustsson@epicgames.com>
date: Fri Feb 2 06:44:35 EST 2024
Neater infix declarations.
--- a/lib/Control/Applicative.hs
+++ b/lib/Control/Applicative.hs
@@ -7,10 +7,7 @@
import Data.Functor
import Data.Function
-infixl 4 <*>
-infixl 4 *>
-infixl 4 <*
-infixl 4 <**>
+infixl 4 <*>, *>, <*, <**>
class Functor f => Applicative f where
pure :: forall a . a -> f a
--- a/lib/Control/Monad.hs
+++ b/lib/Control/Monad.hs
@@ -9,8 +9,8 @@
import Data.List_Type
--import Data.Maybe
-infixl 1 >>
-infixl 1 >>=
+infixl 1 >>, >>=
+infixr 1 <=<, >=>
class (Applicative m) => Monad m where
(>>=) :: forall a b . m a -> (a -> m b) -> m b
@@ -73,13 +73,11 @@
(=<<) :: forall m a b . Monad m => (a -> m b) -> m a -> m b
(=<<) = flip (>>=)
-infixr 1 <=<
(<=<) :: forall m a b c . Monad m => (b -> m c) -> (a -> m b) -> (a -> m c)
f <=< g = \ a -> do
b <- g a
f b
-infixr 1 >=>
(>=>) :: forall m a b c . Monad m => (a -> m b) -> (b -> m c) -> (a -> m c)
(>=>) = flip (<=<)
--
⑨