
On Sun, 18 Mar 2012, Bas van Dijk wrote:
On 16 March 2012 05:38, Evan Laforge
wrote: So now that we have void in Control.Monad, can we remove it from Foreign.Marshal.Error? Or at least make them the same function? It's mildly annoying when importing both Control.Monad and Foreign winds up with ambiguous symbol errors.
+1 for first making it the same function and then removing it from Foreign.Marshal.Error.
You could skip the step of making Foreign.Marshal.Error.void and Control.Monad.void the same function and deprecate Foreign.Marshal.Error.void immediately. However I generally think that explicit or qualified imports are the best way to avoid name clashes. There are many programmers out there that do not program Haskell every day and do not know where 'void' is defined when they read a Haskell program.