[Haskell-cafe] Monad of no `return` Proposal (MRP): Moving `return` out of `Monad`

Michał Antkiewicz mantkiew at gsd.uwaterloo.ca
Tue Oct 6 00:49:37 UTC 2015

All I am saying is that these various *compat packages manage to
encapsulate the ifdefs to some degree.

Here's the record of my struggle [1]. Then came Edward K. and told me
to use transformers-compat [2]. Then Adam B. chimed in suggesting
mtl-compat [3]. That's it. All my IFDEFs related to this topic were

I looked at base-compat [4] and it's very interesting. The big question is:

**Why cannot normal base be written the same way as base-compat? **
It would then automatically provide compatibility across all GHC versions.


[1] https://www.reddit.com/r/haskell/comments/3gqqu8/depending_on_both_mtl2131_for_stackage_lts2_and/
[2] https://www.reddit.com/r/haskell/comments/3gqqu8/depending_on_both_mtl2131_for_stackage_lts2_and/cu0l6nf
[3] https://www.reddit.com/r/haskell/comments/3gqqu8/depending_on_both_mtl2131_for_stackage_lts2_and/cu5g73q
[4] https://hackage.haskell.org/package/base-compat

On Mon, Oct 5, 2015 at 6:18 PM, Bryan Richter <b at chreekat.net> wrote:
> On Mon, Oct 5, 2015 at 06:43-0700, mantkiew wrote:
>> Well, there are the *compat packages:
>> Base-compat
>> Transformers-compat
>> Mtl-compat
>> Etc. They do centralize the ifdefs and give you compatibility with
>> GHC 7.*. I recently adopted the last two ones and they work like
>> a charm. I am yet to adopt base-compat, so I don't know what the
>> experience is with it.
> Hang on a moment, are you saying that all the people writing to argue
> that these changes would require them to write dozens more #ifdef's
> actually don't have to write any at all? I never knew what the *-compat
> packages were all about. If that's what they're designed to do, I have a
> feeling they have not gotten *nearly* enough exposure.
> [Apologies for possible cross-posting; this thread jumped into my inbox
> from I-know-not-where and already has half a dozen CCs attached.]

More information about the Haskell-Cafe mailing list