aboutsummaryrefslogtreecommitdiff
path: root/gnu/gnunet/utils
diff options
context:
space:
mode:
authorMaxime Devos <maximedevos@telenet.be>2021-07-02 23:11:23 +0200
committerMaxime Devos <maximedevos@telenet.be>2021-09-21 12:08:47 +0200
commitdca2945177d21560fa9c5907103f44ed0d90de19 (patch)
tree20828490a24d9b34cd994805544f2f0a4f632549 /gnu/gnunet/utils
parent8250f73a805e20ef0bc7a6d1218bdce9e5840c2b (diff)
parent03527f83517dcbec20f084c02a04b2e27095071a (diff)
downloadgnunet-scheme-dca2945177d21560fa9c5907103f44ed0d90de19.tar.gz
gnunet-scheme-dca2945177d21560fa9c5907103f44ed0d90de19.zip
Merge branch 'master' into proper-mq
The 'hat-let' fix wil be used.
Diffstat (limited to 'gnu/gnunet/utils')
-rw-r--r--gnu/gnunet/utils/hat-let.scm12
1 files changed, 7 insertions, 5 deletions
diff --git a/gnu/gnunet/utils/hat-let.scm b/gnu/gnunet/utils/hat-let.scm
index 9382867..181ed5a 100644
--- a/gnu/gnunet/utils/hat-let.scm
+++ b/gnu/gnunet/utils/hat-let.scm
@@ -30,8 +30,10 @@
30;; with <--. 30;; with <--.
31;; * (2 1): Refer to '_' as a symbol, not as the _ from 31;; * (2 1): Refer to '_' as a symbol, not as the _ from
32;; (rnrs base) 32;; (rnrs base)
33;; * (2 2): Make (! (procedure-name argument) code code* ...)
34;; usable.
33 35
34(library (gnu gnunet utils hat-let (2 1)) 36(library (gnu gnunet utils hat-let (2 2))
35 (export let^) 37 (export let^)
36 ;; Avoid letting users of (gnu gnunet utils hat-let) 38 ;; Avoid letting users of (gnu gnunet utils hat-let)
37 ;; having to import _ from (rnrs base). 39 ;; having to import _ from (rnrs base).
@@ -50,15 +52,15 @@
50 (if x 52 (if x
51 (begin esc esc* ...) 53 (begin esc esc* ...)
52 (let^ (etc ...) code ...))) 54 (let^ (etc ...) code ...)))
53 ;; Bind y to x
54 ((: ((! x y) etc ...) code ...)
55 (let ((x y))
56 (let^ (etc ...) code ...)))
57 ;; Define a procedure 55 ;; Define a procedure
58 ((: ((! (x . args) body ...) etc ...) code ...) 56 ((: ((! (x . args) body ...) etc ...) code ...)
59 (let ((x (lambda args body ...))) 57 (let ((x (lambda args body ...)))
60 (let^ (etc ...) 58 (let^ (etc ...)
61 code ...))) 59 code ...)))
60 ;; Bind y to x
61 ((: ((! x y) etc ...) code ...)
62 (let ((x y))
63 (let^ (etc ...) code ...)))
62 ;; Assert it is true! 64 ;; Assert it is true!
63 ((: ((!! x) etc ...) code ...) 65 ((: ((!! x) etc ...) code ...)
64 (begin 66 (begin