@@ -154,6 +154,20 @@ module Prelude
155 return (f' a')
155 return (f' a')
157+ instance functorArr :: Functor ((->) r) where
160+ instance applyArr :: Apply ((->) r) where
161+ (<*>) f g x = f x (g x)
163+ instance applicativeArr :: Applicative ((->) r) where
166+ instance bindArr :: Bind ((->) r) where
167+ (>>=) m f x = f (m x) x
169+ instance monadArr :: Monad ((->) r)
157 infixl 7 *
171 infixl 7 *
158 infixl 7 /
172 infixl 7 /
159 infixl 7 %
173 infixl 7 %
@@ -443,6 +457,9 @@ module Prelude
443 instance semigroupString :: Semigroup String where
457 instance semigroupString :: Semigroup String where
444 (<>) = concatString
458 (<>) = concatString
460+ instance semigroupArr :: (Semigroup s') => Semigroup (s -> s') where
461+ (<>) f g = \x -> f x <> g x
446 infixr 5 ++
463 infixr 5 ++
448 (++) :: forall s. (Semigroup s) => s -> s -> s
465 (++) :: forall s. (Semigroup s) => s -> s -> s