F# List.partition是否保证保持顺序?

F# List.partition是否保证保持顺序?,f#,functional-programming,F#,Functional Programming,我注意到它似乎是这样的,但如果不是故意的,我不想依赖它。下面是有问题的代码: let bestValuesUnder max = allValues >> List.partition (fun value -> value < max) >> function | ([], bad) -> [List.min bad] | (good, _) -> good // |> List.so

我注意到它似乎是这样的,但如果不是故意的,我不想依赖它。下面是有问题的代码:

let bestValuesUnder max =
    allValues
    >> List.partition (fun value -> value < max)
    >> function
        | ([], bad) -> [List.min bad]
        | (good, _) -> good // |> List.sortBy (fun value -> -value)
让最佳值超出最大值=
所有价值观
>>List.partition(乐趣值->值<最大值)
>>作用
|([],坏)->[List.min坏]
|(好,124;)->good//|>List.sortBy(乐趣值->-value)
allValues
是一个返回int列表的函数。

规范没有说明:


但是FSharp.Core中当前的实现确实保留了顺序(它使用引擎盖下的变异来按顺序创建结果列表,因为它走的是原始列表;这是高效的)。我会询问我们是否打算将其升级到规范中,因为这似乎是一个有用的保证。

充分利用您的RSS仪表板,我明白:)感谢您的输入。是的,这是规范的一部分,我们将更新文档。