Hi,
I'm post the question at clojure group because I am looking for way to 
solve a problem which clojure's persistent data structure seem fit.
I am use CLR (C#) as programming language and I'm developing a simulation 
application. Without going to much into detail the simulation involve 
activities with properties and executing them using some algorithm in a 
loop.
Each cycle of the loop is a single step in the simulation and I would like 
to keep all the information of each step, without killing the application 
memory or CPU.
This is where the persistent data structure seem like a good fit, the both 
persist and have great performance.

My problem is how to manage the rest of the data. I each step I have list 
of activities, because the might change on each step, and the list of 
properties of each activity. Taking Clojure (and Rich's) attitude to the 
limit both activities and properties should be immutable as well as the 
data structures holding them.
But (there's always a but) the data should be able to change inside a 
single step. So it means every change I made to activity I should replace 
the old activity with the new activity in the current step vector. Also 
each change the activity's property I should copy the activity (because it 
is immutable) and replace the old activity with the new one again.

Is that a good way to go? I couldn't find much documentation about how to 
create full immutable application.
I understand I'm mixing functional and OO principles, I hope I'm not to 
wrong about it.

Thank you,
Ido. 

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