ordo/modules/ordo/handler.scm

24 lines
566 B
Scheme

(define-module (ordo handler)
#:use-module (ice-9 match)
#:use-module (srfi srfi-9) ; records
#:use-module (logging logger)
#:export (handler
handler?
handler-name
handler-action
run-handler))
(define-record-type <handler>
(make-handler name action)
handler?
(name handler-name)
(action handler-action))
(define (handler name action)
(make-handler name action))
(define (run-handler c h)
(match h
(($ <handler> name action)
(log-msg 'NOTICE "Running handler: " name)
(action c))))