> thread should own the memory that's created.  Each thread should have
> its own asynchronous stack to push local variables onto that no one
> else is allowed to see.

Just for the record, Clojure does support local variable that behave
exactly as you would expect them:
(with-local-vars [x 3]
  (while (> @x 0)
    (var-set x (- @x 1)))
  @x)
-> 0

Using an atom is unnecessary in this case because access is totally
local. Using an unsafe atom set is a bad habit, as discussed in detail
on another thread:
http://groups.google.com/group/clojure/browse_thread/thread/6497e7c8bc58bb4e/c5b3c9dbe6a1f5d5

However as you have already seen there are more elegant ways to write
the solution without either.


--~--~---------~--~----~------------~-------~--~----~
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
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