14
PROMISE LISTS

Promise list

Embed Size (px)

Citation preview

Page 1: Promise list

PROMISE LISTS

Page 2: Promise list

(let [[reader writer] (open-plist)])

Page 3: Promise list

(append! writer (promise "puppies"))

Page 4: Promise list

(done

(first reader)

#(log "first: " %))

Page 5: Promise list

(done

(first reader)

!#(log "first (again): " %))

Page 6: Promise list

(done

!(nth reader 1)

!#(log "second: " %))

Page 7: Promise list

(append! writer (promise "ducklings"))

Page 8: Promise list

(close! writer)

Page 9: Promise list

(done

! (nth reader 2)

! #(log "after close nil?: " (nil? %)))

Page 10: Promise list

(done

!(first (closed-plist "owlet"))

!#(log "closed plist: " %))

Page 11: Promise list

(done

  (->> reader       (map (fmap #(str "baby " %)))       rest       first)

  #(log "mapped: " %))

Page 12: Promise list

(done

!(reduce (fmap +)!!(r/map (fmap inc)!!!(closed-plist 1 2 3 4)))

   #(log "reduced: " %))

Page 13: Promise list

(done

!(first!!(mapd* inc!!!(closed-plist 1 2 3 4)))

!#(log "mapd*: " %))

Page 14: Promise list

(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))