diff --git a/members-base.scm b/members-base.scm index 3e72612..dea3c93 100644 --- a/members-base.scm +++ b/members-base.scm @@ -38,6 +38,7 @@ members-base-stats get-free-members-ids gen-member-id + members-base-update ) (import scheme @@ -187,4 +188,13 @@ (vfids (list->vector fids))) (vector-ref vfids (pseudo-random-integer (vector-length vfids))))) + ;; Returns new members base with member records matching the + ;; predicate processed by proc. + (define (members-base-update mb pred? proc) + (map (lambda (mr) + (if (pred? mr) + (proc mr) + mr)) + mb)) + )