
Gwern Branwen wrote:
Since then, Don Stewart has pointed out http://hackage.haskell.org/trac/ghc/ticket/3292 that there is a very similar function specified in the FFI standard http://www.cse.unsw.edu.au/~chak/haskell/ffi/ffi/ffise5.html#x8-350005.10 - 'void :: IO a -> IO ()'.
Are we willing to change (generalize) the type of Foreign.Marshal.Error.void? If so, we could export (void :: Functor m => m a -> m ()) from both Control.Monad and F.M.E (if we wanted to). If we're not willing, then I think it would be a bit more convenient to name them different things (so that if you import both modules you don't get a name-conflict for using 'void'). I vote to just name it Control.Monad.ignore . Many people independently invented the name "ignore" in their own projects. Also I suspect the name "void" in FFI has some etymology in C's equivalent, casting expressions to void (eg: (void)printf(something); ) which I doubt most haskell coders care about most of the time? -Isaac