couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Anderson <>
Subject Re: Roadmap discussion
Date Tue, 10 Feb 2009 18:25:52 GMT
On Tue, Feb 10, 2009 at 8:53 AM, Paul Davis <> wrote:
> On Tue, Feb 10, 2009 at 11:46 AM, Kerr Rainey <> wrote:
>> Is there still interest in stabilising  a native erlang interface?
>> --
>> Kerr
> Definitely. I was contemplating this a bit the other day. I wonder if
> it wouldn't be beneficial to create a couch_api.erl and just define an
> erlang api that maps to what other client libraries look like. Then if
> someone wants to peek into the internals they're free and we can
> maintain that we only support compatibility on that one file.

I've been interfacing with the raw Erlang API for a commercial
project. It works like a charm, the only trouble being that it isn't
documented, and that it could change out from under me with no
warning. (Although the second caveat isn't as bad as it sounds,
because it probably won't change much.)

>From my experience, I'm having a hard time seeing how any additional
code could help make the Erlang API "official". The project I'm
working on has a very specific data model (no updates, lots of
parallel attachment writing, using the HTTP API for everything but the
critical path...) and using the Erlang API has allowed me to cut out a
lot of code paths (eg rev checking etc). Doing this wouldn't be safe
for a general purpose API, but when you are interfacing in Erlang,
you're not using a general purpose API anyway.

I'm happy to have an Erlang API, but maybe it should wait til sometime
after 0.9. I think the best way to ensure that it's maintained as
stable would be to have an Erlang integration suite, which could
double as documentation. It certainly wouldn't hurt to have more
Erlang tests, so maybe we can file this feature under testing for now,
and hope we get an Erlang test suite created by interested parties.
Once we have the test suite we'll know what the Erlang API is.

Chris Anderson

View raw message