在ghci
中,我声明了一种数据类型如下。
data Example = MakeExample deriving Show
然后,当我调用:info Example
以查看派生的Show
实例被识别时,我得到以下输出。
> :i Example
data Example = MakeExample -- Defined at <interactive>:17:1
instance [safe] Show Example -- Defined at <interactive>:17:37
Show
实例按预期识别。但是,我不明白为什么[safe]
存在。
相比之下,当我在[safe]
上致电:info
时,Bool
没有出现。
> :i Bool
data Bool = False | True -- Defined in ‘GHC.Types’
instance Bounded Bool -- Defined in ‘GHC.Enum’
instance Enum Bool -- Defined in ‘GHC.Enum’
instance Eq Bool -- Defined in ‘GHC.Classes’
instance Ord Bool -- Defined in ‘GHC.Classes’
instance Read Bool -- Defined in ‘GHC.Read’
instance Show Bool -- Defined in ‘GHC.Show’
instance [safe]
ghci
输出中:info
的含义是什么?