[Haskell-cafe] Amazon AWS storage best to use with Haskell?

Ryan Newton rrnewton at gmail.com
Mon Oct 31 22:07:21 CET 2011


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 <dokondr at gmail.com> wrote:

> On Mon, Oct 31, 2011 at 6:50 PM, John Lenz <lenz at math.uic.edu> 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20111031/f0f52c51/attachment.htm>


More information about the Haskell-Cafe mailing list