我有一个函数f op = (op 1 2, op 1.0 2.0),它需要像这样工作:
f (+)
(3, 3.0)
Run Code Online (Sandbox Code Playgroud)
但是没有声明f它的类型是这样的:
f (+)
(3.0, 3.0)
Run Code Online (Sandbox Code Playgroud)
我正在努力声明f. 它应该采用一个与Num. 在 Haskell 中甚至有可能吗?
polymorphism haskell types parametric-polymorphism rank-n-types