Minor comments on Draft #3. Sudarshan S Chawathe (25 Oct 2015 21:53 UTC)
Re: Minor comments on Draft #3. John Cowan (26 Oct 2015 02:50 UTC)

Minor comments on Draft #3. Sudarshan S Chawathe 25 Oct 2015 21:53 UTC

Some minor comments on SRFI 127 Draft #3 (2015/10/25):

  * lseq-second is used but not defined (though it is easy to infer
    the intent as a generalization from SRFI-1).

  * The in-order property of lseq-for-each may be more obvious with a
    slightly modified example, something like:

      (let ((v (make-vector 5)))
        (lseq-for-each (let ((count 0))
                         (lambda (i)
                           (vector-set! v count (* i i))
                           (set! count (+ count 1))))
                       '(0 1 2 3 4))
        v)

  * lseq-filter and lseq-remove: Is it true that the dynamic order in
    which pred is applied is unspecified, as it is for lseq-map?

  * For some of the searching procedures (lseq-find, lseq-find-tail,
    lseq-memq, ...,  and lseq-assq, ...), is there a guarantee the
    predicate is evaluated on the lseq elements in sequence order and,
    further, only when necessary (i.e., short-circuiting)?  (The
    descriptions of lseq-any, lseq-every, and lseq-index do specify
    in-order short-circuiting applications.)

  * The expression just before lseq-take-while is introduced seems
    like it belongs closer to the comment about "general-predicate
    variant of the lseq-member function."

Regards,

-chaw