Use a real field instead of an icky `set!`

This commit is contained in:
Tony Garnock-Jones 2016-07-26 16:40:55 -04:00
parent eb27d6acc5
commit 05325c2699
1 changed files with 9 additions and 9 deletions

View File

@ -25,15 +25,15 @@
(assert (extract-snapshot (state))) (assert (extract-snapshot (state)))
(define/query-set client-seen-revs (client-seen-up-to $rev) rev) (define/query-set client-seen-revs (client-seen-up-to $rev) rev)
(let ((oldest-needed-rev #f)) (field [oldest-needed-rev #f])
(begin/dataflow (begin/dataflow
(define min-rev (define min-rev
(or (for/fold [(min-rev #f)] [(rev (client-seen-revs))] (or (for/fold [(min-rev #f)] [(rev (client-seen-revs))]
(min (or min-rev rev) rev)) (min (or min-rev rev) rev))
(server-state-revision (state)))) (server-state-revision (state))))
(when (not (equal? oldest-needed-rev min-rev)) (when (not (equal? (oldest-needed-rev) min-rev))
(set! oldest-needed-rev min-rev) (oldest-needed-rev min-rev)
(state (forget-operation-history (state) oldest-needed-rev))))) (state (forget-operation-history (state) min-rev))))
(begin/dataflow (begin/dataflow
(display-to-file (simple-document-text (server-state-document (state))) (display-to-file (simple-document-text (server-state-document (state)))