From 37f242874b1f2c488384281340376ac917cd9bfe Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 13 Jan 2012 18:01:38 -0500 Subject: [PATCH] Match state rather than straight binding it --- os-big-bang.rkt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/os-big-bang.rkt b/os-big-bang.rkt index b705388..47f498f 100644 --- a/os-big-bang.rkt +++ b/os-big-bang.rkt @@ -59,17 +59,19 @@ (define-syntax message-handlers (syntax-rules () - ((_ old-state [pattern body ...] ...) + ((_ old-state-pattern [pattern body ...] ...) (on-message (match-lambda [pattern #t] ... [_ #f]) (lambda (message old-state) + (match-define old-state-pattern old-state) (match message [pattern body ...] ...)))))) (define-syntax meta-message-handler (syntax-rules (=>) - ((_ old-state [(raw-pattern => pattern) body ...]) + ((_ old-state-pattern [(raw-pattern => pattern) body ...]) (on-meta-message raw-pattern (lambda (meta-message old-state) + (match-define old-state-pattern old-state) (match meta-message [pattern body ...]))))))