Skip to content

Resolve import clashes with monads

It would be useful to resolve import clashes between iTasks combinators and (common) Platform modules. For example the JavaScript FFI has a monadic variant, but it's difficult to use because importing Control.Monad and iTasks leads to clashes.

For now I propose to rename these functions:

  • >>= to >>>= >>?
  • >>| to >>>| >?|

There are also clashes with normal names (not funny infix operators):

  • sequence
  • forever
  • return (to yield?)

But I'd propose to leave them as-is for now as they can be avoided more easily using qualified imports, and it's difficult to find good names.

Ideas, @baslijns @mlubbers @smichels?

Edited by Clean Importer