Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SML中扁平化的简单实现有问题_Sml - Fatal编程技术网

SML中扁平化的简单实现有问题

SML中扁平化的简单实现有问题,sml,Sml,我正在尝试实现扁平化:“列表->”SML中的列表。 我认为这应该是一个相对简单的高阶函数。我的实现是 val flatten = List.reduce (op @) [] 然而,我收到了一条奇怪的错误消息:“append.sml:1.6-1.36警告:由于 值限制被实例化为虚拟类型(X1,X2,…)。因此,当我尝试展平整型列表时,会出现一个类型错误: :>展平[1,2],[3] stdIn:2.1-2.20错误:运算符和操作数不一致[文字] 操作员域:?.X1列表 操作数:int列表 在表达

我正在尝试实现扁平化:“列表->”SML中的列表。 我认为这应该是一个相对简单的高阶函数。我的实现是

val flatten = List.reduce (op @) []
然而,我收到了一条奇怪的错误消息:“append.sml:1.6-1.36警告:由于 值限制被实例化为虚拟类型(X1,X2,…)。因此,当我尝试展平整型列表时,会出现一个类型错误:

:>展平[1,2],[3]

stdIn:2.1-2.20错误:运算符和操作数不一致[文字]

操作员域:?.X1列表 操作数:int列表 在表达上:
展平((1::2::nil):(3::nil)::nil)

错误消息提示,您遇到了值限制--请参阅以获取解释。解决方案非常简单:只需“扩展”您的定义,即使参数显式,而不是依赖于部分应用程序:

fun flatten xs = List.reduce op@ [] xs

根据错误消息的提示,您遇到了值限制--请参阅以获取解释。解决方案非常简单:只需“扩展”您的定义,即使参数显式,而不是依赖于部分应用程序:

fun flatten xs = List.reduce op@ [] xs

根据错误消息的提示,您遇到了值限制--请参阅以获取解释。解决方案非常简单:只需“扩展”您的定义,即使参数显式,而不是依赖于部分应用程序:

fun flatten xs = List.reduce op@ [] xs

根据错误消息的提示,您遇到了值限制--请参阅以获取解释。解决方案非常简单:只需“扩展”您的定义,即使参数显式,而不是依赖于部分应用程序:

fun flatten xs = List.reduce op@ [] xs