
For distributed execution you can look at the recent work on "CloudHaskell":
https://github.com/jepst/CloudHaskell
http://groups.google.com/group/cloudhaskell
As for a programming model -- Philip Trinder et. al have a version of
monad-par that works in a distributed way over CloudHaskell, likewise
CloudHaskell itself provides a simple "Task" layer.
For a NOSQL layer -- I'm looking for the answer to that same question
myself! We've been experimenting with Cassandra (used via the hscassandra
package based in turn on cassandra-thrift). Already it's clear that there
are many areas that need work. The Haskell code generated by Thrift itself
has a lot of room for improvement (for the intrepid hacker: cycles there
would be well-spent).
We haven't tried CouchDB yet. Please keep us posted on what you find.
I don't know if any one has a clean way for hooking a simple Haskell-ish
interface (e.g. Data.Map) up to a persistence layer. But it seems like
there have been a bunch of papers on "database supported haskell" and the
like. One of them must have solved this!
http://hackage.haskell.org/package/DSH
Cheers,
-Ryan
On Mon, Oct 31, 2011 at 4:53 PM, dokondr
On Mon, Oct 31, 2011 at 6:50 PM, John Lenz
wrote: CouchDB works great, although I decided to go with SimpleDB since then it is amazon's problem to scale and allocate disk and so forth, which I like better. For couchdb, you can use my package couchdb-enumerator on hackage.
Regarding CouchDB. So far I have my records keyed by Id and stored in Data.Map which I serialize to text file. Using Data.Map functions I do many operations with these records including mapping functions over keys and values, accumulation, lookup, intersection, union etc. When I move this data to CouchDB and start using couchdb-enumerator to work with it, how natural will it be to implement all these functions that I use from Data.Map? Or maybe it makes more sense to store my serialized Data.Map as a blob in CouchDB? And do not use views or similar CouchDB / SimpleDB interfaces at all? Just retrieve necessary blob and deserialize it to Data.Map, update and then store modified blob to CouchDB again?
It would be great if somebody had time to implement Data.List, Data.Map, etc on top of generic NoSQL DB interface with specific instances for CouchDB, SimpleDB, etc.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe