Version française
Home     About     Download     Resources     Contact us    
Browse thread
node.ocaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jeffrey Barber <jeff@m...>
Subject: Re: [Caml-list] node.ocaml
Hello,

No I haven't, thanks for the link. In looking through the docs, it seems
similiar at some level to what I am doing. I'm trying to get away from the
language of threading (In my code, I use chain and io_pumps for context
storage) since I'm thinking of node.ocaml as an event based io library. This
is probably just a marketing decision, :/, rather than a technical decision.

More context on node.ocaml:

I was recently inspired by unix, memcache, and redis and realized that all
you need as a packet format is a single line, so I'm taking that as the
packet format and am going to try to build some neat things with it for both
my own research/education.

For my research, I want to build a fault tolerant JSON data store where I
can get the performance benefits of Redis/Memcache but also have
transactional transformations over indexed sets. But not only that, I want
it to be easy to build them so it can be extended down the road. I've
noticed that from using Redis, there are a lot of design patterns emerging
that would be better migrated from the application server to a redis-like
server.

For my education, I really want to do something with Paxos that's useful.
I'm not sure what, but I've yet to master it and it sounds fun. I'm tempted
to build a chubby clone for distributed locking, but who knows.

Oh, I may also cause the universe to explode since I may enable OCaml to
call JavaScript via v8... In case it does, I'm sorry now.

On Mon, Aug 23, 2010 at 4:31 PM, Jake Donham <jake@donham.org> wrote:

> On Sat, Aug 21, 2010 at 8:27 PM, Jeffrey Barber <jeff@mathgladiator.com>
> wrote:
> > example code:
> > http://github.com/mathgladiator/node.ocaml/blob/master/test/kvp.ml
>
> Have you considered using Lwt (http://ocsigen.org/lwt) as a layer on
> top of raw continuation-passing style? It has a lot of nice functions
> for writing asynchronous code, as well as a syntax extension to make
> it look more like direct-style code. It provides a select loop
> already, but you don't need to use it, or you could integrate
> libevent2 with Lwt's event loop.
>
> Jake
>