From f9191264e3bf55521f295afaded8543a6aee9b70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Mon, 22 May 2023 16:24:07 +0200 Subject: [PATCH] Add predicates for organizational body memberships. --- src/brmember.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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