promise list
TRANSCRIPT
PROMISE LISTS
(let [[reader writer] (open-plist)])
(append! writer (promise "puppies"))
(done
(first reader)
#(log "first: " %))
(done
(first reader)
!#(log "first (again): " %))
(done
!(nth reader 1)
!#(log "second: " %))
(append! writer (promise "ducklings"))
(close! writer)
(done
! (nth reader 2)
! #(log "after close nil?: " (nil? %)))
(done
!(first (closed-plist "owlet"))
!#(log "closed plist: " %))
(done
(->> reader (map (fmap #(str "baby " %))) rest first)
#(log "mapped: " %))
(done
!(reduce (fmap +)!!(r/map (fmap inc)!!!(closed-plist 1 2 3 4)))
#(log "reduced: " %))
(done
!(first!!(mapd* inc!!!(closed-plist 1 2 3 4)))
!#(log "mapd*: " %))
(done
(reduce (fmap conj) (promise []) (for-plist [a (closed-plist 1 2 3) b (closed-plist 4 5 6) v (closed-plist a b)] v))
(comp log clj->js))