Moving basic functions

David Luposchainsky dluposchainsky at
Wed Mar 13 16:54:02 CET 2013

On 2013-03-13 16:39, Johan Tibell wrote:
> We could reexported the function [Control.Monad.void] in both places 
> so we don't have to break code that depends on its current location.

That would not only not break code, it would also be a step towards
bringing Monad and Functor closer together. If the change is made, I
think this is the best way.

> Add [irrefutable swap] to Data.Tuple.

Seeing Henning's answer - "better expand libraries than importing
outcasts" - I'd be happy with that. It would also make a better case
against the "import Data.Tuple is one char less than defining swap
yourself" argument: if the module is larger, it makes more (often) sense
to import it.

> I don't think we should add any more functions to the Prelude. It's
> a module that's automatically put into scope into every module
> (unless you explicitly use NoImplicitPrelude). Putting things in a
> global namespace like that is bad.

I see and agree. Scratch the Prelude part.


More information about the Libraries mailing list