Use for-trie/list in file-system-lll
This commit is contained in:
parent
5d2cb21d29
commit
95456a4fd5
|
@ -36,35 +36,22 @@
|
||||||
(match e
|
(match e
|
||||||
[(? patch? p)
|
[(? patch? p)
|
||||||
(transition files
|
(transition files
|
||||||
(for/list [(name (project-assertions (patch-added p)
|
(for-trie/list [((observe (file $name _)) (patch-added p))]
|
||||||
(observe (file (?!) ?))))]
|
(let ()
|
||||||
(printf "At least one reader exists for ~v\n" name)
|
(printf "At least one reader exists for ~v\n" name)
|
||||||
(define initial-content (hash-ref files name #f))
|
(define initial-content (hash-ref files name #f))
|
||||||
(spawn (file-observation-event-handler name)
|
(spawn (file-observation-event-handler name)
|
||||||
initial-content
|
initial-content
|
||||||
(patch-seq (core:assert (file name initial-content))
|
(patch-seq (core:assert (file name initial-content))
|
||||||
(sub (observe (file name ?)))
|
(sub (observe (file name ?)))
|
||||||
(sub (save (file name ?)))
|
(sub (save (file name ?)))
|
||||||
(sub (delete name))))))]
|
(sub (delete name)))))))]
|
||||||
[(message (save (file name new-content)))
|
[(message (save (file name new-content)))
|
||||||
(transition (hash-set files name new-content) '())]
|
(transition (hash-set files name new-content) '())]
|
||||||
[(message (delete name))
|
[(message (delete name))
|
||||||
(transition (hash-remove files name) '())]
|
(transition (hash-remove files name) '())]
|
||||||
[_ #f]))
|
[_ #f]))
|
||||||
|
|
||||||
;; (transition files
|
|
||||||
;; (for-trie/list [((observe (file $name _))
|
|
||||||
;; (patch-added p))]
|
|
||||||
;; (let ()
|
|
||||||
;; (printf "At least one reader exists for ~v\n" name)
|
|
||||||
;; (define initial-content (hash-ref files name #f))
|
|
||||||
;; (spawn (file-observation-event-handler name)
|
|
||||||
;; initial-content
|
|
||||||
;; (patch-seq (core:assert (file name initial-content))
|
|
||||||
;; (sub (observe (file name ?)))
|
|
||||||
;; (sub (save (file name ?)))
|
|
||||||
;; (sub (delete name)))))))]
|
|
||||||
|
|
||||||
(spawn file-system-event-handler
|
(spawn file-system-event-handler
|
||||||
(hash)
|
(hash)
|
||||||
(patch-seq (sub (observe (file ? ?)))
|
(patch-seq (sub (observe (file ? ?)))
|
||||||
|
|
Loading…
Reference in New Issue