Another great resource for Clojure is ClojureDocs.

The doc for 'future' has a simple example:
http://clojuredocs.org/clojure_core/clojure.core/future

Not only does it show you the doc string and an example,  if your
scroll down you can see the source code for the function.

You'll see that lot of language level constructs (future, promise,
etc) use some form of the java.util.concurrent stuff, but add on to
it.  Some stuff (agents, atoms, etc) can be found here:
https://github.com/clojure/clojure/tree/master/src/jvm/clojure/lang if
you want to look through the entire source (I definitely recommend
it!)

Paul



On Apr 28, 6:46 am, Jonathan Fischer Friberg <odysso...@gmail.com>
wrote:
> "So I have this question. I have heard that Clojure's data structures
> are immutable and it has support for promises, agents, atoms etc."
>
> It's not that clojure's data structures support promises, agents ...
> It's more like promises, agents ... support clojure's data structures.
>
> "Changing" something in an agent doesn't actually change the data itself, it
> only changes where the agent "points", so to speak.
> For example:
> (def a 3)
> (def b (agent a))
> (send b inc)
> a => 3 ; a is never changed!
> @b => 4 ; instead, a new value is created, which b now points to.
>
> Atom 
> source:https://github.com/richhickey/clojure/blob/master/src/jvm/clojure/lan...
>
> About 
> STM:http://java.ociweb.com/mark/stm/article.html#PersistentDataStructures
>
> On Thu, Apr 28, 2011 at 11:20 AM, MohanR <radhakrishnan.mo...@gmail.com>wrote:
>
>
>
>
>
>
>
> > The problem was elsewhere but I realized that Clojure has support for
> > futures at the level of the language even though it relies on
> > java.util.concurrent.
>
> > So I have this question. I have heard that Clojure's data structures
> > are immutable and it has support for promises, agents, atoms etc.
>
> > What exactly is meant by this ? Is it that all of these Clojure
> > language featues are based on java.util.concurrent ?
>
> > I am still learning FP and Clojure but I want to know if I am assuming
> > something totally wrong here. All of these language featues seem to
> > depend on java.util.concurrent.
>
> > What about STM ? Is that a new idea based on the same Java library ?
>
> > --
> > 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

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