Prelude Data.Void> :info Void
data Void -- Defined in `Data.Void'
instance [safe] Eq Void -- Defined in `Data.Void'
instance [safe] Ord Void -- Defined in `Data.Void'
instance [safe] Read Void -- Defined in `Data.Void'
instance [safe] Show Void -- Defined in `Data.Void'
What does [safe] mean?
It simply means that the datatype is defined in a module which is defined using safe extension. You can find the details of the extension in the user guide.
In fact, you can test that yourself by defining a module using the Safe
extension:
{-#LANGUAGE Safe#-}
data Test = Test deriving (Eq, Show)
And then trying it out in ghci
:
λ> :i Test
data Test = Test
instance [safe] Eq Test
instance [safe] Show Test
But note that in the current GHC (7.10.2), the safe extension cannot be relied of the trust guarantee because of this ghc bug.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With