[Haskell-cafe] Weird defaulting on newEmptyTMVar
ruben.astud at gmail.com
Sun Feb 10 03:24:52 UTC 2019
Playing on ghci I encountered the following type
GHCi, version 8.6.3: http://www.haskell.org/ghc/ :? for help
Prelude> :m +Control.Concurrent.STM
Prelude Control.Concurrent.STM> var1 <- atomically $ newEmptyTMVar
Prelude Control.Concurrent.STM> :t var1
var1 :: TMVar GHC.Types.Any
I would think `var1 :: TMVar a` as the documentation says it should.
Reading on `GHC.Types` `Any` seems to be a type family related to some
laws on `unsafeCoerce`. Can anybody explain me why is this sensible
defaulting and how to obtain the expected result?
-- pgp: 4EE9 28F7 932E F4AD
More information about the Haskell-Cafe