From 3c1c36facc721f404b402edf33625254f6b554f4 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 13 Jan 2012 21:19:10 -0500 Subject: [PATCH] Flatten actions, to permit '() and lists of actions --- os-big-bang.rkt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/os-big-bang.rkt b/os-big-bang.rkt index 47f498f..caf644c 100644 --- a/os-big-bang.rkt +++ b/os-big-bang.rkt @@ -4,6 +4,7 @@ (require racket/set) (require racket/match) +(require racket/list) (require "os.rkt") (provide (struct-out subscribe) @@ -51,7 +52,7 @@ ;; -- a (transition WorldState ListOf) or ;; -- a WorldState (struct transition (state actions) #:transparent) -(define (make-transition state . actions) (transition state actions)) +(define (make-transition state . actions) (transition state (flatten actions))) ;; A World is a (world WorldState Map>), a ;; representation of a suspended world and its active subscriptions. @@ -124,4 +125,4 @@ (define (os-big-bang initial-state . initial-actions) (lambda () (transition->os-transition (world (void) (hash)) - (transition initial-state initial-actions)))) + (transition initial-state (flatten initial-actions)))))