Compare commits

..

No commits in common. "letrec2" and "master" have entirely different histories.

View file

@ -136,10 +136,13 @@
(let ([next-st (update-stats incr-stats (step st))]) (let ([next-st (update-stats incr-stats (step st))])
(cons st (eval-state next-st))))) (cons st (eval-state next-st)))))
(: data-node? (-> Node Boolean))
(define data-node? integer?)
(: final-state? (-> State Boolean)) (: final-state? (-> State Boolean))
(define (final-state? st) (define (final-state? st)
(match (State-stack st) (match (State-stack st)
[(list n) (integer-node? (lookup-node (State-heap st) n))] [(list n) (data-node? (lookup-node (State-heap st) n))]
[_ #f])) [_ #f]))
(: step (-> State State)) (: step (-> State State))