Strange "Not in scope" error message

I have a file with the following relevant lines: import qualified Control.Concurrent as C ... isCancelled = C.isEmptyMvar . stopConcurrentProcess Trying to compile this or run it in ghci yields a puzzling error message: Not in scope: `C.isEmptyMvar' Perhaps you meant one of these: `C.isEmptyMVar' (imported from Control.Concurrent), `C.isEmptyChan' (imported from Control.Concurrent) Any idea what could be going wrong?

You forgot to capitalize the 'V' in 'isEmptyMVar' :)
On Fri, 24 Apr 2015 at 09:49 Matthew Moppett
I have a file with the following relevant lines:
import qualified Control.Concurrent as C
...
isCancelled = C.isEmptyMvar . stopConcurrentProcess
Trying to compile this or run it in ghci yields a puzzling error message:
Not in scope: `C.isEmptyMvar' Perhaps you meant one of these: `C.isEmptyMVar' (imported from Control.Concurrent), `C.isEmptyChan' (imported from Control.Concurrent)
Any idea what could be going wrong?
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners

So I did. That's kind of embarrassing -- I could swear I stared at that
error message for ages trying to work out if there were any typos like that
and never saw it. Thanks for pointing it out.
On Sat, Apr 25, 2015 at 12:14 AM, Francesco Ariis
On Fri, Apr 24, 2015 at 11:49:15PM +0700, Matthew Moppett wrote:
Perhaps you meant one of these: `C.isEmptyMVar' (imported from Control.Concurrent),
Haskell is case sensitive, isEmptyMVar is different from isEmptyMvar (lowercase v) _______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
participants (3)
-
Alex Hammel
-
Francesco Ariis
-
Matthew Moppett