I would make the graph immutable.
If performance is a objective it might not work though.
My tip for learning it:
Sit down and think about the problem. Consider your Clojure structures.


2011/6/16 Colin Yates <colin.ya...@gmail.com>

> (newbie warning)
>
> Our current solution is an OO implementation in Groovy and Java.  We
> have a (mutable) Project which has a DAG (directed acyclic graph).
> This is stored as a set of nodes and edges.  There are multiple
> implementations of nodes (which may themselves be Projects).  There
> are also multiple implementations of edges.
>
> My question isn't how to do this in a functional paradigm, my first
> question is *how do I learn* to do this in a functional paradigm.  I
> want to be able to get the answer myself ;).  To that end, are there
> any "domain driven design with functional programming" type resources?
>
> A more specific question is how do I model a graph?  These graphs can
> be quite extensive, with mutations on the individual nodes as well as
> the structure (i.e. adding or removing branches).  Does this mean that
> every every node would be a ref?  I think the general answer is that
> the aggregate roots are refs, meaning they are an atomic block, but is
> there any more guidance?
>
> --
> 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