From deee127a0e7d1803436033ff40d62f9bdf478c35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sat, 9 Jul 2022 23:18:16 +0200 Subject: Extend type-clauses with not. --- module/hnh/util/type.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'module/hnh') diff --git a/module/hnh/util/type.scm b/module/hnh/util/type.scm index 800834e5..f35f7839 100644 --- a/module/hnh/util/type.scm +++ b/module/hnh/util/type.scm @@ -22,9 +22,10 @@ ;; DSL for specifying type predicates ;; Basically a procedure body, but the variable to test is implicit. (define-syntax build-validator-body - (syntax-rules (and or list-of) + (syntax-rules (and or not) ((_ variable (and clauses ...)) (and (build-validator-body variable clauses) ...)) ((_ variable (or clauses ...)) (or (build-validator-body variable clauses) ...)) + ((_ variable (not clause)) (not (build-validator-body variable clause))) ((_ variable (proc args ...)) (proc variable args ...)) ((_ variable proc) (proc variable)))) -- cgit v1.2.3