sequence-transitions0, sequence-transitions0*, and sequence-transitions*
This commit is contained in:
parent
4876a60f93
commit
c7870086c5
|
@ -272,8 +272,23 @@
|
||||||
[(transition state1 actions1) (transition state1 (cons actions0 actions1))])]))
|
[(transition state1 actions1) (transition state1 (cons actions0 actions1))])]))
|
||||||
|
|
||||||
(define (sequence-transitions t0 . steps)
|
(define (sequence-transitions t0 . steps)
|
||||||
|
(sequence-transitions* t0 steps))
|
||||||
|
|
||||||
|
(define (sequence-transitions* t0 steps)
|
||||||
(foldl transition-bind t0 steps))
|
(foldl transition-bind t0 steps))
|
||||||
|
|
||||||
|
(define (sequence-transitions0 state0 . steps)
|
||||||
|
(sequence-transitions0* state0 steps))
|
||||||
|
|
||||||
|
(define (sequence-transitions0* state0 steps)
|
||||||
|
(match steps
|
||||||
|
['() #f]
|
||||||
|
[(cons step rest)
|
||||||
|
(match (step state0)
|
||||||
|
[#f (sequence-transitions0* state0 rest)]
|
||||||
|
[(? quit? q) q]
|
||||||
|
[(? transition? t) (sequence-transitions* t rest)])]))
|
||||||
|
|
||||||
(define (inert? w)
|
(define (inert? w)
|
||||||
(and (queue-empty? (world-pending-action-queue w))
|
(and (queue-empty? (world-pending-action-queue w))
|
||||||
(set-empty? (world-runnable-pids w))))
|
(set-empty? (world-runnable-pids w))))
|
||||||
|
|
Loading…
Reference in New Issue