SML中扁平化的简单实现有问题
我正在尝试实现扁平化:“列表->”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列表 在表达
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