From 8b36c52455c747623fd0463024b6f2022e5d4428 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 3 May 2018 22:09:13 +0100 Subject: [PATCH] for/bag and for/bag/count --- syndicate/bag.rkt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/syndicate/bag.rkt b/syndicate/bag.rkt index 3d84fd6..451b13a 100644 --- a/syndicate/bag.rkt +++ b/syndicate/bag.rkt @@ -12,6 +12,8 @@ bag-key-count in-bag in-bag/count + for/bag/count + for/bag set->bag bag->set) @@ -59,6 +61,9 @@ (define-syntax-rule (in-bag piece ...) (in-hash-keys piece ...)) (define-syntax-rule (in-bag/count piece ...) (in-hash piece ...)) +(define-syntax-rule (for/bag/count iters expr ...) (for/hash iters expr ...)) +(define-syntax-rule (for/bag iters expr ...) (for/bag/count iters (values (begin expr ...) 1))) + (define (set->bag s [count 1]) (for/hash [(e (in-set s))] (values e count)))