From a5b4863d9702a13e96665d118f9b974bb59ae7d6 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Thu, 2 May 2024 22:55:16 -0500 Subject: First commit --- util.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 util.scm (limited to 'util.scm') diff --git a/util.scm b/util.scm new file mode 100644 index 0000000..0a8906c --- /dev/null +++ b/util.scm @@ -0,0 +1,22 @@ +(declare (module (planet util)) + (import scheme + (chicken base) + (chicken condition)) + (export define-public)) + +(define-syntax define-public + (syntax-rules () + ((define-public (name . arg) forms ...) + (begin (export name) + (define (name . arg) forms ...))) + ((define-public (name args ...) forms ...) + (begin (export name) + (define (name args ...) forms ...))) + ((define-public name value) + (begin (export name) + (define name value))))) + +(define-public (false-on-error thunk) + (call/cc (lambda (k) + (with-exception-handler (lambda (x) (k #f)) + thunk)))) -- cgit 1.4.1-21-gabe81