On 07/30/2012 12:47 PM, Rupert Swarbrick wrote:

Ah, OK, I think I understand. Presumably it would be possible for SBCL
to notice that (reduce f seq) calls f with only two arguments and thus
replace (reduce #'f seq) with the two-argument version? (I'm not
necessarily arguing that this optimisation is easy to implement / worth
implementing - I just want to check it makes sense)


But then the test for the 2-argument case would involve additional overhead affecting both cases. So it wouldn't be as fast as '+' alone and would slow down the > 2 case as well.