diff --git a/src/brmember.scm b/src/brmember.scm index 56798a4..4d54fb5 100644 --- a/src/brmember.scm +++ b/src/brmember.scm @@ -59,6 +59,12 @@ brmember-active? brmember-student? brmember-existing? + + brmember-chair? + brmember-council? + brmember-revision? + brmember-grant? + brmember-flags brmember-nick @@ -314,6 +320,18 @@ (cal-month-in-periods? (brmember-info mr 'member))) + ;; Returns predicate for given organizational body membership + (define (brmember-body? body) + (lambda (mr) + (cal-day-in-periods? + (brmember-info mr body '())))) + + ;; Predicates for all organizational bodies recognized + (define brmember-chair? (brmember-body? 'chair)) + (define brmember-council? (brmember-body? 'council)) + (define brmember-revision? (brmember-body? 'revision)) + (define brmember-grant? (brmember-body? 'grant)) + ;; Returns a list of flags of given member record. (define (brmember-flags mr) (filter identity