GNU bug report logs -
#59328
29.0.50; `seq-keep' implementation only valid for lists
Previous Next
Full log
View this message in rfc822 format
Eli Zaretskii <eliz <at> gnu.org> writes:
> > Without that change `seq-keep' would error for sequence types like
> > streams. Try for example
> >
> > #+begin_src emacs-lisp
> > (require 'stream)
> > (seq-keep
> > (lambda (x) (and (<= 0 x) x))
> > (stream (list -1 2 -3 4)))
> > #+end_src
>
> Didn't you just say that 'stream' is not in Emacs? If I try the above, the
> debugger kicks in right on the 'require' line.
Yes.
But seq-keep is not a generic function, so it would be broken for
sequence types defined elsewhere, and there is no way for those other
sequence types to fix this. Defining a generic interface for sequences
would not make much sense if it then only supports lists (and maybe
vectors).
So we want to support cases like streams. Since seq-keep can be
expressed and is semantically equivalent a simple concetanation of
existing sequence operations there is probably no need to define it as
generic function. We just need to implement it correctly to support any
otherwise supported type of sequences.
Michael.
This bug report was last modified 124 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.