From 9566830bc1429cf9a9a32d1cc3da1d5db600d936 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Sat, 9 Aug 2014 19:05:27 -0700 Subject: [PATCH] Fix scope error in actor; fix general gestalt labelling error in actor --- minimart/actor.rkt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/minimart/actor.rkt b/minimart/actor.rkt index c49423b..9a43d73 100644 --- a/minimart/actor.rkt +++ b/minimart/actor.rkt @@ -37,8 +37,8 @@ (define-syntax (actor stx) (syntax-case stx () - [(_ forms ...) - (analyze-actor #'(forms ...))])) + [(_actor forms ...) + (analyze-actor #'_actor #'(forms ...))])) (define-syntax (observe-gestalt stx) (raise-syntax-error #f "Use of observe-gestalt outside actor form" stx)) (define-syntax (observe-subscribers stx) (raise-syntax-error #f "Use of observe-subscribers outside actor form" stx)) @@ -137,7 +137,7 @@ (struct participator (condition meta-level) #:transparent) - (define (analyze-actor forms-stx) + (define (analyze-actor actor-form-head-stx forms-stx) (define actor-name #f) ;; (Listof Identifier) @@ -289,7 +289,7 @@ (push! gestalt-updaters #`(begin - (define #,gestalt-init #,gestalt-stx) + (define #,gestalt-init (label-gestalt #,gestalt-stx #t)) #:update [#,gestalt-name #,gestalt-init])) (push! gestalt-fragments gestalt-name) @@ -446,7 +446,7 @@ (define (build-result) (let ((actor-name (or actor-name #'anonymous-actor))) (define state-struct-name - (datum->syntax actor-name (string->symbol (format "~a-state" (syntax->datum actor-name))))) + (datum->syntax actor-form-head-stx (string->symbol (format "~a-state" (syntax->datum actor-name))))) (define-temporaries [e-stx #'event] [state-stx #'state]