for/bag and for/bag/count
This commit is contained in:
parent
ee0033b6be
commit
8b36c52455
|
@ -12,6 +12,8 @@
|
||||||
bag-key-count
|
bag-key-count
|
||||||
in-bag
|
in-bag
|
||||||
in-bag/count
|
in-bag/count
|
||||||
|
for/bag/count
|
||||||
|
for/bag
|
||||||
set->bag
|
set->bag
|
||||||
bag->set)
|
bag->set)
|
||||||
|
|
||||||
|
@ -59,6 +61,9 @@
|
||||||
(define-syntax-rule (in-bag piece ...) (in-hash-keys piece ...))
|
(define-syntax-rule (in-bag piece ...) (in-hash-keys piece ...))
|
||||||
(define-syntax-rule (in-bag/count piece ...) (in-hash 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])
|
(define (set->bag s [count 1])
|
||||||
(for/hash [(e (in-set s))]
|
(for/hash [(e (in-set s))]
|
||||||
(values e count)))
|
(values e count)))
|
||||||
|
|
Loading…
Reference in New Issue