From dc21dc06718f65e8588149231d5bbf5cac5b46aa Mon Sep 17 00:00:00 2001 From: Brady McDonough Date: Mon, 5 Apr 2021 23:32:31 -0600 Subject: [PATCH] added (display-if-not) --- tk/listlogic.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tk/listlogic.scm b/tk/listlogic.scm index 801db55..a1797b4 100644 --- a/tk/listlogic.scm +++ b/tk/listlogic.scm @@ -1,5 +1,6 @@ (define-module (tk listlogic) - #:export (flatten + #:export (display-if-not + flatten lp& l& if-some @@ -57,3 +58,14 @@ (syntax-rules () ((if-some-else $cond $else) (if $cond $cond $else)))) + +;; Prints the message if condition is #f, otherwise prints nothing +(define-syntax display-if-not + (syntax-rules () + ((display-if-not $cond) + (syntax-error "Must provide a string to (display-if-not)")) + ((display-if-not $cond $message) + (begin (if (not $cond) (display $message)) + (newline))) + ((display-if-not $cond . $messages) + (display-if-not $cond (string-concatenate/shared '$messages)))))