shithub: MicroHs

Download patch

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 (<=<)
 
--