unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* streams are cool, you could stream virtually anything!
@ 2015-11-04 12:39 Nicolas Petton
  2015-11-04 15:50 ` John Wiegley
                   ` (2 more replies)
  0 siblings, 3 replies; 209+ messages in thread
From: Nicolas Petton @ 2015-11-04 12:39 UTC (permalink / raw)
  To: emacs-devel, Damien Cassou

[-- Attachment #1: Type: text/plain, Size: 708 bytes --]

Hi guys,

Aren't you tired of writing the same for loops in various contexts?
I know I was, and there's a better way!

I just added a function `stream-regexp' to stream.el to stream the
search of a regexp in a buffer:


    (let ((str (stream-regexp buf ".*foo\\(.*\\)$")))
      (seq-map (lambda (match-data)
                 ...)
               str))

(I still have to document it and test it properly)

Because streams are lazy and immutable, you can reuse such a stream
forever or keep it for later, move around in a buffer or modify the
buffer and re-evaluate the stream (you'll get new match data), or map
the result, etc.

All the credit goes to Damien Cassou for giving me the idea :-)

Cheers,
Nico

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 512 bytes --]

^ permalink raw reply	[flat|nested] 209+ messages in thread
[parent not found: <<87ziyuaqhl.fsf@petton.fr>]

end of thread, other threads:[~2015-11-18 10:12 UTC | newest]

Thread overview: 209+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-04 12:39 streams are cool, you could stream virtually anything! Nicolas Petton
2015-11-04 15:50 ` John Wiegley
2015-11-04 16:59   ` Damien Cassou
2015-11-04 18:06   ` Michael Heerdegen
2015-11-04 19:17     ` Michael Heerdegen
2015-11-04 21:58     ` Nicolas Petton
2015-11-04 23:20       ` T.V Raman
2015-11-04 23:31         ` Nicolas Petton
2015-11-05  0:27         ` John Wiegley
2015-11-05  0:38           ` T.V Raman
2015-11-05  0:48             ` ELPA policy (Was: streams are cool, you could stream virtually anything!) John Wiegley
2015-11-05  0:52               ` T.V Raman
2015-11-08 17:18               ` ELPA policy Achim Gratz
2015-11-08 17:49                 ` Eli Zaretskii
2015-11-08 20:52                   ` Aaron Ecay
2015-11-09  3:42                     ` Eli Zaretskii
2015-11-09  3:51                       ` Dmitry Gutov
2015-11-09 11:15                         ` New ELPA policy proposal (was: ELPA policy) Oleh Krehel
2015-11-09 13:51                           ` Artur Malabarba
2015-11-09 15:02                             ` New ELPA policy proposal Oleh Krehel
2015-11-09 16:22                               ` Artur Malabarba
2015-11-09 15:41                             ` Wolfgang Jenkner
2015-11-09 15:50                               ` Dmitry Gutov
2015-11-09 16:13                                 ` Wolfgang Jenkner
2015-11-09 21:50                                   ` Richard Stallman
2015-11-09 16:25                               ` Artur Malabarba
2015-11-09 16:11                           ` New ELPA policy proposal (was: ELPA policy) Eli Zaretskii
2015-11-10  7:26                             ` New ELPA policy proposal Oleh Krehel
2015-11-10 14:24                               ` John Wiegley
2015-11-10 16:36                                 ` Eli Zaretskii
2015-11-09 16:05                         ` ELPA policy Eli Zaretskii
2015-11-09 16:15                           ` Dmitry Gutov
2015-11-09 16:20                             ` Eli Zaretskii
2015-11-09 16:26                               ` Dmitry Gutov
2015-11-09 16:44                                 ` Eli Zaretskii
2015-11-09 17:46                                   ` Dmitry Gutov
2015-11-09 16:35                               ` Artur Malabarba
2015-11-09 19:52                               ` John Wiegley
2015-11-09 20:17                                 ` Achim Gratz
2015-11-09 21:38                                   ` John Wiegley
2015-11-10 20:07                                     ` Achim Gratz
2015-11-09 21:51                                 ` Richard Stallman
2015-11-09 22:06                                   ` John Wiegley
2015-11-09 23:05                                     ` Artur Malabarba
2015-11-10 18:18                                       ` Richard Stallman
2015-11-11 15:11                                         ` Nicolas Petton
2015-11-11 17:03                                           ` Richard Stallman
2015-11-09 23:47                                     ` Nicolas Petton
2015-11-09 23:44                                   ` Nicolas Petton
2015-11-09 23:42                                 ` Nicolas Petton
2015-11-09 23:52                                 ` Aaron Ecay
2015-11-10  0:04                                   ` John Wiegley
2015-11-10 18:06                                 ` Stephen Leake
     [not found]                                   ` <"<87lha5snji.fsf"@isaac.fritz.box>
     [not found]                                     ` <"<87d1vhsmuj.fsf"@isaac.fritz.box>
     [not found]                                       ` <"<878u65slue.fsf"@isaac.fritz.box>
     [not found]                                         ` <"<874mgtsjwn.fsf"@isaac.fritz.box>
2015-11-10 18:28                                   ` John Wiegley
2015-11-10 18:32                                     ` Dmitry Gutov
2015-11-10 18:35                                       ` John Wiegley
2015-11-10 18:44                                         ` David Engster
2015-11-10 18:49                                           ` John Wiegley
2015-11-10 20:00                                           ` Dmitry Gutov
2015-11-11 15:15                                             ` xref and GNU Global (Re: ELPA policy) Nicolas Petton
2015-11-11 15:22                                               ` Dmitry Gutov
2015-11-11 23:19                                                 ` Stephen Leake
2015-11-11 23:32                                                   ` Dmitry Gutov
2015-11-12  7:07                                                     ` Stephen Leake
2015-11-11 23:12                                               ` Stephen Leake
2015-11-11 23:52                                                 ` Nicolas Petton
2015-11-12  7:05                                                   ` Stephen Leake
2015-11-10 19:15                                         ` ELPA policy Eli Zaretskii
2015-11-10 22:44                                           ` xref CEDET (was ELPA policy) Stephen Leake
2015-11-10 21:52                                         ` ELPA policy Dmitry Gutov
2015-11-10 18:37                                       ` David Engster
2015-11-10 19:57                                         ` Dmitry Gutov
2015-11-10 20:01                                           ` Eli Zaretskii
2015-11-10 20:19                                             ` Dmitry Gutov
2015-11-10 20:34                                               ` Eli Zaretskii
2015-11-10 21:16                                                 ` Dmitry Gutov
2015-11-10 21:27                                                   ` Dmitry Gutov
2015-11-10 22:40                                               ` Stephen Leake
2015-11-10 20:45                                           ` David Engster
2015-11-10 21:07                                             ` Dmitry Gutov
2015-11-10 18:43                                     ` David Engster
2015-11-10 18:52                                       ` John Wiegley
2015-11-10 18:58                                         ` David Engster
2015-11-10 19:03                                           ` John Wiegley
2015-11-10 19:20                                             ` David Engster
2015-11-10 19:43                                               ` John Wiegley
2015-11-10 20:02                                                 ` David Engster
2015-11-10 20:24                                                   ` John Wiegley
2015-11-10 23:08                                                     ` Stephen Leake
2015-11-10 23:31                                                       ` John Wiegley
2015-11-11  0:32                                                         ` Drew Adams
2015-11-11  0:36                                                           ` John Wiegley
2015-11-11  9:25                                                             ` Stephen Leake
2015-11-11 13:52                                                               ` Filipp Gunbin
2015-11-11 21:22                                                                 ` Stephen Leake
2015-11-12 13:24                                                                   ` Filipp Gunbin
2015-11-12 17:11                                                                     ` John Wiegley
2015-11-12 19:17                                                                       ` Filipp Gunbin
2015-11-12 19:31                                                                         ` John Wiegley
2015-11-14 10:16                                                                         ` Stephen Leake
2015-11-12 19:52                                                                     ` Stephen Leake
2015-11-13 13:06                                                                       ` Filipp Gunbin
2015-11-14 10:30                                                                         ` Stephen Leake
2015-11-17 13:01                                                                           ` Filipp Gunbin
2015-11-17 16:18                                                                             ` Stephen Leake
2015-11-17 15:51                                                                           ` Tom Tromey
2015-11-11 17:02                                                               ` Richard Stallman
2015-11-11 17:24                                                                 ` John Wiegley
2015-11-12 14:02                                                                   ` Phillip Lord
2015-11-12 17:11                                                                     ` John Wiegley
2015-11-12 19:59                                                                     ` Stephen Leake
2015-11-13 21:58                                                                     ` Richard Stallman
2015-11-14  1:15                                                                       ` JJ Asghar
2015-11-14 17:23                                                               ` Jorge A. Alfaro-Murillo
2015-11-15 16:37                                                                 ` John Wiegley
     [not found]                                                             ` <<86bnb06g7g.fsf@stephe-leake.org>
     [not found]                                                               ` <<E1ZwYnH-0004b0-Gu@fencepost.gnu.org>
2015-11-11 17:47                                                                 ` Drew Adams
2015-11-11 19:23                                                                   ` John Wiegley
2015-11-11 19:58                                                                     ` Drew Adams
2015-11-11 23:27                                                                     ` Richard Stallman
2015-11-12  0:35                                                                       ` Artur Malabarba
2015-11-12  0:42                                                                         ` Dmitry Gutov
2015-11-12 22:34                                                                         ` Richard Stallman
2015-11-13  0:49                                                                           ` Artur Malabarba
2015-11-12  6:49                                                                       ` Stephen Leake
2015-11-12 15:09                                                                         ` Drew Adams
2015-11-12 17:29                                                                           ` Alex Schröder
2015-11-12 22:33                                                                         ` Richard Stallman
2015-11-14 10:33                                                                           ` Stephen Leake
2015-11-14 21:05                                                                             ` Richard Stallman
     [not found]                                                                       ` <<86oaezemp9.fsf@stephe-leake.org>
     [not found]                                                                         ` <<E1Zx0QR-0004QE-Ga@fencepost.gnu.org>
2015-11-12 23:05                                                                           ` Drew Adams
2015-11-13  7:51                                                                             ` Eli Zaretskii
2015-11-13 22:00                                                                             ` Richard Stallman
     [not found]                                                                             ` <<E1ZxMOr-0004hb-VH@fencepost.gnu.org>
2015-11-13 23:03                                                                               ` Drew Adams
2015-11-14  1:44                                                                                 ` Richard Stallman
2015-11-15  9:28                                                                                   ` Michael Heerdegen
2015-11-15 15:44                                                                                     ` Drew Adams
2015-11-17 22:55                                                                                       ` Richard Stallman
2015-11-17 23:17                                                                                         ` John Wiegley
2015-11-18  9:53                                                                                           ` Artur Malabarba
2015-11-18 10:12                                                                                             ` David Kastrup
2015-11-14  9:57                                                                                 ` Achim Gratz
     [not found]                                                                   ` <<m2twosgx1m.fsf@Vulcan.attlocal.net>
     [not found]                                                                     ` <<E1Zwent-0000bG-9i@fencepost.gnu.org>
2015-11-12  0:22                                                                       ` Drew Adams
2015-11-10 23:01                                                   ` Stephen Leake
2015-11-10 22:53                                                 ` Stephen Leake
2015-11-10 19:17                                         ` Eli Zaretskii
2015-11-10 23:10                                           ` Stephen Leake
2015-11-10 22:52                                         ` Stephen Leake
2015-11-10 18:49                                     ` Eli Zaretskii
2015-11-10 18:54                                       ` John Wiegley
2015-11-10 19:21                                         ` Eli Zaretskii
2015-11-10 19:26                                           ` Eli Zaretskii
2015-11-10 19:29                                             ` John Wiegley
2015-11-10 20:06                                           ` Dmitry Gutov
2015-11-10 23:25                                           ` Stephen Leake
2015-11-10 23:23                                         ` Stephen Leake
2015-11-10 20:03                                       ` Dmitry Gutov
2015-11-10 23:16                                       ` Stephen Leake
2015-11-10 22:36                                     ` Stephen Leake
2015-11-10 22:54                                       ` John Wiegley
2015-11-10 23:01                                         ` Drew Adams
2015-11-11  9:13                                           ` Stephen Leake
2015-11-11 14:58                                             ` Drew Adams
2015-11-09 18:22                       ` Achim Gratz
2015-11-09 18:45                         ` Eli Zaretskii
2015-11-09 18:58                           ` David Engster
2015-11-09 19:08                             ` Eli Zaretskii
2015-11-09 19:35                               ` David Engster
2015-11-09 20:12                                 ` Eli Zaretskii
2015-11-09 19:53                           ` Rasmus
2015-11-09 19:58                           ` Achim Gratz
2015-11-05 17:06           ` streams and generators (was: streams are cool, you could stream virtually anything!) Michael Heerdegen
2015-11-05 22:36             ` streams and generators Dmitry Gutov
2015-11-04 23:34       ` streams are cool, you could stream virtually anything! Michael Heerdegen
2015-11-05  9:27         ` Nicolas Petton
2015-11-05 11:26           ` Artur Malabarba
2015-11-05 11:52             ` Nicolas Petton
2015-11-05 16:31               ` raman
2015-11-05 16:48                 ` Michael Heerdegen
2015-11-05 21:58                   ` Nicolas Petton
2015-11-05 23:05                     ` Artur Malabarba
2015-11-05 23:34                       ` T.V Raman
2015-11-06  0:02                         ` Artur Malabarba
2015-11-06  0:39                           ` T.V Raman
2015-11-05 23:52                       ` Michael Heerdegen
2015-11-06  2:19                         ` John Wiegley
2015-11-06  2:47                           ` Michael Heerdegen
2015-11-06 15:09                             ` Filipp Gunbin
2015-11-06 10:49                           ` Nicolas Petton
2015-11-06 13:09                             ` Artur Malabarba
2015-11-06 13:43                               ` Nicolas Petton
2015-11-06 15:41                                 ` John Wiegley
2015-11-06 16:13                                   ` John Wiegley
2015-11-06 17:36                                   ` Nicolas Petton
2015-11-06 10:47                         ` Nicolas Petton
2015-11-06  2:08                   ` John Wiegley
2015-11-06 15:33                     ` Nicolas Petton
2015-11-06 16:08                       ` John Wiegley
2015-11-06 17:12                         ` Nicolas Petton
2015-11-05 23:06               ` Artur Malabarba
2015-11-05 14:12             ` Michael Heerdegen
2015-11-04 17:00 ` Phillip Lord
2015-11-04 22:00   ` Nicolas Petton
2015-11-05 12:28     ` Phillip Lord
2015-11-05 13:45       ` Nicolas Petton
2015-11-05 15:15         ` Michael Heerdegen
2015-11-05 16:35       ` Eli Zaretskii
2015-11-06  9:54         ` Phillip Lord
2015-11-04 17:57 ` Michael Heerdegen
2015-11-04 22:00   ` Nicolas Petton
     [not found] <<87ziyuaqhl.fsf@petton.fr>

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).