给定一个具有一个固定参数和可变参数的函数,只对 2 个元素进行评估就足够 apply 知道应该选择哪个参数,但它目前强求评估 3 个。
`
user=> (defn x ([a & b]))
'user/x
user=> (apply x (map println (iterate inc 0)))
0
1
2
nil
`
这使得使用 apply 的惰性函数(例如 mapcat)比可能的情况要懒。
提出的补丁使 RT.boundedLength 在序列计数大于最大固定参数后立即短路。
`
user=> (defn x ([a & b]))
'user/x
user=> (apply x (map println (iterate inc 0)))
0
1
nil
`