Adding an ignore function to Control.Monad

Isaac Dupree ml at
Wed Jul 1 23:11:46 EDT 2009

Gwern Branwen wrote:
> Since then, Don Stewart has pointed out
> that there is a very
> similar function specified in the FFI standard
> - '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?


More information about the Libraries mailing list