[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/stream 1a61660 11/36: * stream.el: Implement `seqp' ins
From: |
Stefan Monnier |
Subject: |
[elpa] externals/stream 1a61660 11/36: * stream.el: Implement `seqp' instead of `seq-p' |
Date: |
Tue, 1 Dec 2020 17:22:48 -0500 (EST) |
branch: externals/stream
commit 1a616604e1a406f56c49ed895c29825393723398
Author: Nicolas Petton <nicolas@petton.fr>
Commit: Nicolas Petton <nicolas@petton.fr>
* stream.el: Implement `seqp' instead of `seq-p'
---
stream.el | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/stream.el b/stream.el
index 61d99ee..edfb3c5 100644
--- a/stream.el
+++ b/stream.el
@@ -4,7 +4,7 @@
;; Author: Nicolas Petton <nicolas@petton.fr>
;; Keywords: stream, laziness, sequences
-;; Version: 2.0.5
+;; Version: 2.1.0
;; Package-Requires: ((emacs "25"))
;; Package: stream
@@ -156,6 +156,14 @@ range is infinite."
"Return a stream of all but the first element of STREAM."
(or (cdr (thunk-force (cadr stream)))
(stream-empty)))
+
+(defmacro stream-pop (stream)
+ "Return the first element of STREAM and set the value of STREAM to its rest."
+ (unless (symbolp stream)
+ (error "STREAM must be a symbol"))
+ `(prog1
+ (stream-first ,stream)
+ (setq ,stream (stream-rest ,stream))))
;;; cl-generic support for streams
@@ -176,7 +184,7 @@ range is infinite."
;;; Implementation of seq.el generic functions
-(cl-defmethod seq-p ((_stream stream))
+(cl-defmethod seqp ((_stream stream))
t)
(cl-defmethod seq-elt ((stream stream) n)
- [elpa] branch externals/stream created (now 0055487), Stefan Monnier, 2020/12/01
- [elpa] externals/stream 6a47b33 02/36: * packages/stream/stream.el: Require Emacs 25, Stefan Monnier, 2020/12/01
- [elpa] externals/stream 6bc197b 01/36: Add stream.el to ELPA, Stefan Monnier, 2020/12/01
- [elpa] externals/stream c92d3b4 08/36: * packages/stream/stream.el: Update to version 2.0.2., Stefan Monnier, 2020/12/01
- [elpa] externals/stream 11f19ab 10/36: Update stream.el to v2.0.5, Stefan Monnier, 2020/12/01
- [elpa] externals/stream 8af657a 12/36: * packages/stream/stream.el (streamp): Tiny optimization., Stefan Monnier, 2020/12/01
- [elpa] externals/stream 8239285 13/36: Fix compliler warnings in stream-tests.el, Stefan Monnier, 2020/12/01
- [elpa] externals/stream 18146ee 04/36: * packages/stream/stream.el: Update stream.el to v 1.1.0., Stefan Monnier, 2020/12/01
- [elpa] externals/stream 01fc059 03/36: * packages/stream/stream.el: Update stream to v 1.0.1., Stefan Monnier, 2020/12/01
- [elpa] externals/stream 1a61660 11/36: * stream.el: Implement `seqp' instead of `seq-p',
Stefan Monnier <=
- [elpa] externals/stream 5762f78 21/36: Pinpoint semantics of `seq-subseq's implementation for streams, Stefan Monnier, 2020/12/01
- [elpa] externals/stream f384660 22/36: Add systematic tests against bogus element generation, Stefan Monnier, 2020/12/01
- [elpa] externals/stream ec86243 24/36: Some details in the documentation, Stefan Monnier, 2020/12/01
- [elpa] externals/stream b0c8949 28/36: Implement `seq-mapn' method for streams, Stefan Monnier, 2020/12/01
- [elpa] externals/stream 7874a25 05/36: * packages/stream/tests/stream-tests.el: New tests., Stefan Monnier, 2020/12/01
- [elpa] externals/stream d77b733 09/36: Update stream.el to v2.0.2., Stefan Monnier, 2020/12/01
- [elpa] externals/stream fbe7ebd 06/36: Update stream.el to version 2.0.0, Stefan Monnier, 2020/12/01
- [elpa] externals/stream a8aa25c 07/36: * packages/stream/stream.el: Update stream.el to version 2.0.1., Stefan Monnier, 2020/12/01
- [elpa] externals/stream 2b2ba28 14/36: update stream.el to the latest version, Stefan Monnier, 2020/12/01
- [elpa] externals/stream 00e523f 15/36: Add stream stream-delay and stream-of-directory-files, Stefan Monnier, 2020/12/01