[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/stream a8aa25c 07/36: * packages/stream/stream.el: Upda
From: |
Stefan Monnier |
Subject: |
[elpa] externals/stream a8aa25c 07/36: * packages/stream/stream.el: Update stream.el to version 2.0.1. |
Date: |
Tue, 1 Dec 2020 17:22:48 -0500 (EST) |
branch: externals/stream
commit a8aa25ca506af832b2ef5a6ff67bde9d3afa04b9
Author: Nicolas Petton <nicolas@petton.fr>
Commit: Nicolas Petton <nicolas@petton.fr>
* packages/stream/stream.el: Update stream.el to version 2.0.1.
---
stream.el | 29 +++++++----------------------
1 file changed, 7 insertions(+), 22 deletions(-)
diff --git a/stream.el b/stream.el
index 5506f78..17ef877 100644
--- a/stream.el
+++ b/stream.el
@@ -4,7 +4,7 @@
;; Author: Nicolas Petton <nicolas@petton.fr>
;; Keywords: stream, laziness, sequences
-;; Version: 2.0.0
+;; Version: 2.0.1
;; Package-Requires: ((emacs "25"))
;; Package: stream
@@ -54,33 +54,18 @@
(eval-when-compile (require 'cl-lib))
(require 'seq)
+(require 'thunk)
(eval-and-compile
(defconst stream--identifier '--stream--
"Symbol internally used to identify streams."))
-(defmacro stream--delay (&rest body)
- "Delay the evaluation of BODY."
- (declare (debug t))
- (let ((forced (make-symbol "forced"))
- (val (make-symbol "val")))
- `(let (,forced ,val)
- (lambda ()
- (unless ,forced
- (setf ,val (progn ,@body))
- (setf ,forced t))
- ,val))))
-
-(defun stream--force (delayed)
- "Force the evaluation of DELAYED."
- (funcall delayed))
-
(defmacro stream-make (&rest body)
"Return a stream built from BODY.
BODY must return nil or a cons cell, which cdr is itself a
stream."
(declare (debug t))
- `(list ',stream--identifier (stream--delay ,@body)))
+ `(list ',stream--identifier (thunk-delay ,@body)))
(defmacro stream-cons (first rest)
"Return a stream built from the cons of FIRST and REST.
@@ -149,19 +134,19 @@ range is infinite."
(defun stream-empty ()
"Return an empty stream."
- (list stream--identifier (stream--delay nil)))
+ (list stream--identifier (thunk-delay nil)))
(defun stream-empty-p (stream)
"Return non-nil is STREAM is empty, nil otherwise."
- (null (stream--force (cadr stream))))
+ (null (thunk-force (cadr stream))))
(defun stream-first (stream)
"Return the first element of STREAM."
- (car (stream--force (cadr stream))))
+ (car (thunk-force (cadr stream))))
(defun stream-rest (stream)
"Return a stream of all but the first element of STREAM."
- (or (cdr (stream--force (cadr stream)))
+ (or (cdr (thunk-force (cadr stream)))
(stream-empty)))
- [elpa] externals/stream 18146ee 04/36: * packages/stream/stream.el: Update stream.el to v 1.1.0., (continued)
- [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, 2020/12/01
- [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 <=
- [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
- [elpa] externals/stream ac42cc1 18/36: Fix some quoting problems in doc strings, Stefan Monnier, 2020/12/01
- [elpa] externals/stream a36469b 17/36: Add some more basic stream operations, Stefan Monnier, 2020/12/01
- [elpa] externals/stream f8e6639 20/36: * stream/stream.el (stream--generalizer): Accept more arguments, Stefan Monnier, 2020/12/01
- [elpa] externals/stream 873ee4e 23/36: Fix errors detected by tests added in last commit, Stefan Monnier, 2020/12/01
- [elpa] externals/stream cbf7e78 30/36: * stream/stream-x.el: Update copyright, Stefan Monnier, 2020/12/01
- [elpa] externals/stream f1fce5e 35/36: * packages/stream/stream.el: Bump version to 2.2.5., Stefan Monnier, 2020/12/01
- [elpa] externals/stream 05b20e1 25/36: Add file "stream-x.el" to the stream package, Stefan Monnier, 2020/12/01
- [elpa] externals/stream 76ed94e 27/36: Fix seq-empty-p for streams, Stefan Monnier, 2020/12/01