From 4f63b36c9d6d86483b90ebeeeafb2fd87c76b63a Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 9 May 2012 16:24:16 -0400 Subject: [PATCH] prefix-transition --- indenting2.el | 2 +- os2.rkt | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/indenting2.el b/indenting2.el index f6b60c0..6f42fef 100644 --- a/indenting2.el +++ b/indenting2.el @@ -1,6 +1,6 @@ ;; Emacs indent settings (progn (mapcar #'(lambda (x) (put x 'scheme-indent-function 1)) - '(transition extend-transition)) + '(transition extend-transition prefix-transition)) (mapcar #'(lambda (x) (put x 'scheme-indent-function 2)) '(role role/fresh yield))) diff --git a/os2.rkt b/os2.rkt index 7a561e5..0126b9a 100644 --- a/os2.rkt +++ b/os2.rkt @@ -21,6 +21,7 @@ (except-out (struct-out transition) transition) (rename-out [make-transition transition]) extend-transition + prefix-transition role role/fresh @@ -212,6 +213,11 @@ [(transition state actions) (transition state (list actions more-actions))] [state (transition state more-actions)])) +(define (prefix-transition t . more-actions) + (match t + [(transition state actions) (transition state (list more-actions actions))] + [state (transition state more-actions)])) + ;;--------------------------------------------------------------------------- ;; Topics and roles