(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))))