Cog*_*eel 3 f# functional-programming
我注意到它似乎表现得这样,但如果不是故意的话,我不想依赖它.这是有问题的代码:
let bestValuesUnder max =
allValues
>> List.partition (fun value -> value < max)
>> function
| ([], bad) -> [List.min bad]
| (good, _) -> good // |> List.sortBy (fun value -> -value)
Run Code Online (Sandbox Code Playgroud)
allValues
是一个返回int列表的函数.
规范没有说:
http://msdn.microsoft.com/en-us/library/ee353782(VS.100).aspx
但是FSharp.Core中的当前实现确实保留了顺序(它使用变量来创建结果列表,因为它在原始行程中行进;这是有效的).我会问,看看我们是否打算将此推广到规范,因为它似乎是一个有用的保证.