Subject: RE: bug#24014: 24.5; doc string of `cl-reduce'

From: Drew Adams <[email-masked]>
Date: Mon, 18 Jul 2016 07:02:30 -0700 (PDT)

> > Even providing a functional-programming definition of `reduce' is
> > better than just describing it in abstract terms, if we can't come
> > up with a more down-to-earth description.
> 
> What about adding a few examples? Something like this maybe?
> 
>     (cl-reduce f '(1 2 3 4 5))
>       ↔ (f (f (f (f 1 2) 3) 4) 5)
> 
>     (cl-reduce f '(1 2 3 4 5) :initial-value 0)
>       ↔ (f (f (f (f (f 0 1) 2) 3) 4) 5)
> 
>     (cl-reduce f '(1 2 3 4 5) :from-end t)
>       ↔ (f 1 (f 2 (f 3 (f 4 5))))
> 
>     (cl-reduce f '(1 2 3 4 5) :from-end t :initial-value 0)
>       ↔ (f 1 (f 2 (f 3 (f 4 (f 5 0)))))

LGTM - except that f should be quoted as an arg to `cl-reduce'.
E.g. (cl-reduce 'f '(1 2 3)).

And a shorter list makes things a tiny bit simpler: (1 2 3).

(And I'm not crazy about the too-short double arrow, personally.)