我正忙着在Haskell Book的"Typeclasses"一章中练习,我解决了以下问题:
data TisAnInteger =
TisAn Integer
instance Eq TisAnInteger where
(==) (TisAn x) (TisAn y) = x == y
Run Code Online (Sandbox Code Playgroud)
这样我就可以在GHCi REPL中使用它了:
?> TisAn 9 == TisAn 9
True
?> TisAn 9 == TisAn 8
False
Run Code Online (Sandbox Code Playgroud)
但在玩它的同时问"怎么办?" 问题,我已经意识到以下编译:
data TisAnInteger =
TisAn Integer
instance Eq TisAnInteger where
(==) x y = x == y
Run Code Online (Sandbox Code Playgroud)
当我尝试在GHCi中运行类似的东西时:
?> TisAn 9 == TisAn 8
Interrupted.
?> TisAn 9 == TisAn 9
Interrupted.
Run Code Online (Sandbox Code Playgroud)
好吧,Interrupted.因为我Ctrl+C几秒钟后就打了,GHCi没有打印任何东西.
我想了解两件事:
对我来说有任何提示,指向文档等等,以便我可以加深对上述现象的理解吗?
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |