在评论 ghci 的新功能时,我希望 ghci 能够声明类型声明并声明新的 ADT 类型,有人告知这确实是可能的,经过搜索我发现这一页 https://stackoverflow.com/questions/3093133/how-to-provide-explicit-type-declarations-for-functions-when-using-ghci这告诉我我可以做
let numUniques' :: (Eq a) => [a] -> Int; numUniques' = length . nub
显然,相同类型的语法适用于模式匹配(例如,let a 1=True;a 2=False)。
创建 ADT 会让它几近完美吗?有谁知道目前是否可行?
我应该制作一个 ADT 临时文件并重新加载它吗?
附:有谁知道是否有这样做的计划?是否有 ghc(i) 的功能请求?
我也知道它是开源的,但我目前还不够聪明,无法破解 ghc(i)。
这是从发布的 GHC 7.4.1 版开始添加的早在二月 http://www.haskell.org/pipermail/glasgow-haskell-users/2012-February/021764.html:
jcp@butler:~$ ghci
GHCi, version 7.6.1: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> data Test = Foo | Bar | Baz deriving (Read, Show)
Prelude> Foo
Foo
Prelude> read "Bar" :: Test
Bar
Prelude> :t Baz
Baz :: Test
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)