Make pattern-predicate an optional keyword argument to make-vm

This commit is contained in:
Tony Garnock-Jones 2012-01-16 18:29:53 -05:00
parent 16b4dc413e
commit ad7b823e6e
1 changed files with 3 additions and 3 deletions

6
os.rkt
View File

@ -144,8 +144,8 @@
;; TODO: enforce user-mode restrictions
;; TODO: timeouts
;; PatternPredicate BootK -> VM
(define (make-vm pattern-predicate boot)
;; BootK -> VM
(define (make-vm boot #:pattern-predicate [pattern-predicate default-pattern-predicate])
(vm (list)
(make-queue)
(make-queue)
@ -289,7 +289,7 @@
;; MetaMessage, MetaMessagePattern = not defined because there's no outer level
;; Runs its argument VM until it becomes (provably) inert.
(define (ground-vm boot #:pattern-predicate [pattern-predicate default-pattern-predicate])
(let loop ((transition (run-vm (make-vm pattern-predicate boot))))
(let loop ((transition (run-vm (make-vm boot #:pattern-predicate pattern-predicate))))
(for-each (lambda (thunk) (thunk)) (kernel-mode-transition-messages transition))
(when (not (nested-vm-inert? (kernel-mode-transition-subscription transition)))
(match transition