J. Sims wrote 2 years ago
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
Hello,
guile-simple-iterators is a collection of macros to provide iteration inspired by Racket in Guile. I use them and find them delightful, so I thought other Guix users would appreciate ready access to them.
Thanks,
Juli
From 654847381613f558d80ad8fffb89b1361181d724 Mon Sep 17 00:00:00 2001
From: Juliana Sims <jtsims@protonmail.com>
Date: Wed, 25 Jan 2023 21:07:54 -0600
Subject: [PATCH] gnu: packages: Add guile-simple-iterators.
* gnu/packages/guile-xyz.scm (guile-simple-iterators): Add guile-simple-iterators.
---
gnu/packages/guile-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
Toggle diff (50 lines)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 0befff1576..340b2824c2 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2600,6 +2600,41 @@ (define-public guile-lib
;; details.
(license license:gpl3+)))
+(define-public guile-simple-iterators
+ (let ((commit "50f16a2b2aa57e657e52e19fb3c35bdc182cfa36")
+ (revision "0"))
+ (package
+ (name "guile-simple-iterators")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://gitlab.com/dustyweb/guile-simple-iterators")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1m1wirlnfwmp5a4rpszd5qsbwabz4ji033w6p2714p1r524ylah8"))))
+ (build-system guile-build-system)
+ (native-inputs (list guile-3.0))
+ (home-page "https://gitlab.com/dustyweb/guile-simple-iterators")
+ (synopsis "Simple iterators for Guile")
+ (description
+ "This is a collection of iteration macros for Guile. They are inspired by
+@code{racket}'s family of iterators. Specifically, the following iterators are
+available:
+@itemize
+@item @code{for}
+@item @code{for/map}
+@item @code{for/c}
+@item @code{for/fold}
+@item @code{for/fold-right}
+@item @code{for/folder}
+@item @code{folder}
+@end itemize")
+ (license license:expat))))
+
(define-public guile2.0-lib
(package
(inherit guile-lib)
base-commit: a84ceaa8b2e8e121957afea1d1d3fe7c8141cb8d
--
2.39.1