From b305116d15d9b809ee0601261565cc354cde88bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 16 Oct 2023 19:03:02 +0200 Subject: Move `false?` to type module. --- doc/ref/general/util-type.texi | 12 ++++++++++++ module/hnh/util/type.scm | 6 ++++++ module/vcomponent/base.scm | 4 +--- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/doc/ref/general/util-type.texi b/doc/ref/general/util-type.texi index 104b00b3..3a6cba3e 100644 --- a/doc/ref/general/util-type.texi +++ b/doc/ref/general/util-type.texi @@ -60,3 +60,15 @@ Useful at the start of procedures. Returns the current procedure name as a symbol, or @code{#f} if not found. @end defmac + +@defun false? x +An alias of @code{not}. Usefull in type predicates when introducing optional +types, since +@example +(or false? integer?) +@end example +is much clearer than +@example +(or not integer?) +@end example +@end defun diff --git a/module/hnh/util/type.scm b/module/hnh/util/type.scm index 800834e5..7e1c5a3d 100644 --- a/module/hnh/util/type.scm +++ b/module/hnh/util/type.scm @@ -2,6 +2,7 @@ :use-module ((srfi srfi-1) :select (every)) :export (build-validator-body list-of pair-of + false? typecheck current-procedure-name)) @@ -44,3 +45,8 @@ (list (quote variable) (quote type-clause) variable) #f))))) +;;; For use in typechecks, since +;;; (or false? integer?) +;;; is much clearer than +;;; (or not integer?) +(define false? not) diff --git a/module/vcomponent/base.scm b/module/vcomponent/base.scm index df47a5f5..2a607fc5 100644 --- a/module/vcomponent/base.scm +++ b/module/vcomponent/base.scm @@ -3,6 +3,7 @@ :use-module (srfi srfi-1) :use-module (srfi srfi-17) :use-module (srfi srfi-88) + :use-module ((hnh util type) :select (false?)) :use-module (hnh util object) :use-module (hnh util lens) :use-module (hnh util table) @@ -87,9 +88,6 @@ (serialize-vcomponent c) p)) - -(define false? not) - (define-type (vcomponent printer: print-vcomponent) (type type: symbol?) (vcomponent-children -- cgit v1.2.3