[Haskell-cafe] Weird defaulting on newEmptyTMVar
Ruben Astudillo
ruben.astud at gmail.com
Sun Feb 10 03:24:52 UTC 2019
Dear list
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
Prelude Control.Concurrent.STM>
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?
--
-- Ruben
-- pgp: 4EE9 28F7 932E F4AD
More information about the Haskell-Cafe
mailing list