Haskell 在ghci中,[安全]标记是什么意思?
[safe]是什么意思?它只是指数据类型是在使用safe扩展定义的模块中定义的。您可以找到扩展的详细信息 事实上,您可以通过使用Haskell 在ghci中,[安全]标记是什么意思?,haskell,ghci,Haskell,Ghci,[safe]是什么意思?它只是指数据类型是在使用safe扩展定义的模块中定义的。您可以找到扩展的详细信息 事实上,您可以通过使用Safe扩展定义一个模块来测试这一点: 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 `D
Safe
扩展定义一个模块来测试这一点:
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'
然后在ghci中试用:
{-#LANGUAGE Safe#-}
data Test = Test deriving (Eq, Show)
但请注意,在当前的GHC(7.10.2)中,由于更新了到的链接,因此不能依赖信托担保的安全扩展
λ> :i Test
data Test = Test
instance [safe] Eq Test
instance [safe] Show Test