Tor*_*nny 0 haskell types class function instance
class A a
instance A (Int -> Float)
Run Code Online (Sandbox Code Playgroud)
不起作用
class B b
instance B Int
Run Code Online (Sandbox Code Playgroud)
如果将Haskell中的函数作为第一个类并且(Int - > Float)无疑是一个类型,尽管它不是(*)具体类型,为什么函数不能成为类的实例
是的,函数类型在Haskell中不是很特别:
module Test where
instance Show (a -> b) where
show _ = "(function)"
Run Code Online (Sandbox Code Playgroud)
正如shk在他的回答中所指出的,如果你想修复域或范围的类型,你需要像FlexibleInstances这样的扩展 - 但这与函数类型无关,并且对于其他类型的构造函数应用程序也是如此Maybe Int同样.
| 归档时间: |
|
| 查看次数: |
131 次 |
| 最近记录: |