【发布时间】:2016-11-02 18:22:39
【问题描述】:
我对 sml 非常陌生。我看不出我正在尝试编写的这个简单的反向函数有什么问题。
fun reverse [] = [] |
reverse (v1::rest) = (reverse(tl(rest)) @ v1)
这是我尝试反向运行时的输出([1, 2, 3]);
poly: : error: Type error in function application.
Function: reverse : 'a list list -> 'a list
Argument: ([1, 2, 3]) : int list
Reason:
Can't unify int (*In Basis*) with 'a list (*In Basis*)
(Different type constructors)
Found near reverse ([1, 2, 3])
Static Errors
我可以看到这是一个类型错误。似乎反向正在寻找2个列表(我认为..'一个列表列表对我来说似乎是一种奇怪的类型)??我如何设置模式/参数有问题吗?感谢您的帮助。
【问题讨论】:
-
我现在看到应该有 :: 而不是 @,但我仍然收到类似的错误。
标签: sml