@@ -1,7 +1,6 @@
1+||| Monads and Functors
1module Prelude.Monad
2module Prelude.Monad
5import Builtins
4import Builtins
6import Prelude.Functor
5import Prelude.Functor
7import public Prelude.Applicative
6import public Prelude.Applicative
@@ -28,11 +27,7 @@ interface Applicative m => Monad (m : Type -> Type) where
28||| define `return` and `pure` differently!
27||| define `return` and `pure` differently!
29return : Monad m => a -> m a
28return : Monad m => a -> m a
30return = pure
29return = pure
31−%deprecate return "Please use `pure`, which is equivalent."
30+%fragile return "`return` is provided for those coming from Haskell. Please use `pure` instead, which is equivalent."
33−flatten : Monad m => m (m a) -> m a
35−%deprecate flatten "Please use `join`, which is the standard name."
37||| Similar to `foldl`, but uses a function wrapping its result in a `Monad`.
32||| Similar to `foldl`, but uses a function wrapping its result in a `Monad`.
38||| Consequently, the final value is wrapped in the same `Monad`.
33||| Consequently, the final value is wrapped in the same `Monad`.