Re: [Haskell-cafe] Persistent Concurrent Data Structures

2011-11-01 Thread dokondr
On Wed, Nov 2, 2011 at 3:12 AM, dokondr wrote: > Thanks everybody for advice! > I'll try to clarify what I mean by persistence and concurrent access that > preserves "happens-before" relationship. > 1) Persistence - imagine Haskell run-time executing in infinite physical > memory. My idea is to i

Re: [Haskell-cafe] Persistent Concurrent Data Structures

2011-11-01 Thread dokondr
Thanks everybody for advice! I'll try to clarify what I mean by persistence and concurrent access that preserves "happens-before" relationship. 1) Persistence - imagine Haskell run-time executing in infinite physical memory. My idea is to implement really huge, "almost infinite memory" in the clou

Re: [Haskell-cafe] Persistent Concurrent Data Structures

2011-11-01 Thread Alberto G. Corona
hi Dimitri Take a look at TCache. It is a transactional cache with configurable persistence. http://hackage.haskell.org/package/TCache It defines persistent TVars (DBRef`s) with similar primitives. Persistence can be defined by the user for each datatype by an instance declaration. There is a

Re: [Haskell-cafe] Persistent Concurrent Data Structures

2011-11-01 Thread David Barbour
Several of the Haskell web server frameworks (Yesod, HAppS, etc.) come with persistence support. I believe you're taking the wrong approach here, with respect to `modified concurrently` and the like. What does it mean for a Data.List to be 'modified concurrently'? If you need concurrency, first fi

Re: [Haskell-cafe] Persistent Concurrent Data Structures

2011-11-01 Thread Evan Laforge
So I guess you're talking about imperative mutated data structures (which is btw the opposite of what "persistence" usually means in haskell). It seems like switching data storage would be as easy or hard as you've been able to abstract it, e.g. if you can put everything through 'get' and 'put' th

Re: [Haskell-cafe] Persistent Concurrent Data Structures

2011-11-01 Thread Jeremy Shaw
If I have a list [a], and I want to make that persistence, then I have to have some way to serialize values of type 'a'. If I then modify my type, then the serialized structure will be out of sync with the new version of the type -- so I will need some sort of migration feature. safecopy addresses

[Haskell-cafe] Persistent Concurrent Data Structures

2011-11-01 Thread dokondr
Hi, Please comment on the idea and advise on steps to implement it. Real world applications need persistent data, that can be accessed and modified concurrently by several clients, in a way that preserves "happen-before" relationship. Idea: Design and implement Persistent Concurrent Data Types in H