I'm confused by the "promised" behaviour of the documentation of deliver:

---

user=> (doc deliver)
-------------------------
clojure.core/deliver
([promise val])
  Alpha - subject to change.
  Delivers the supplied value to the promise, releasing any pending
  derefs. A subsequent call to deliver on a promise will throw an exception.
nil
user=> (def p (promise))
#'user/p
user=> (deliver p "hi")
#<core$promise$reify__6153@b24e8de: "hi">
user=> (deliver p "hi")
nil
user=>

---

I expected a thrown exception for the second deliver, but instead I get a 
returned nil…

Has that behaviour changed maybe?
Am I doing something wrong here?

Thanks, Frank.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to