
Irmin: A distributed database written in OCaml - poga
https://irmin.org/
======
rixed
I wish the presentation page were not using lwt. I'm afraid many onlookers
will think: "I can see what's going on in the exemple that's 4 lines of shell
but those various sequencing operators in the OCaml source variant baffle me".

~~~
yawaramin
I think it would look better if they used OCaml's let-operators. Of course Lwt
already has a monadic syntax sugar PPX so they could have used that anyway if
they wanted to.

------
grizzles
Lately I've been thinking similar thoughts about how git ought to be at the
foundation of a lot more of the apps we use.

This is a nice try. Imo it doesn't offer enough functionality above git to
justify wide usage. I don't think custom storage backends is a good feature
since one of those backends is going to be storing it's data as a file anyway.

It would be nice if the custom merge function api was boiled down to it's
essentials and implemented in a few different languages for app coders who
want to write distributed version control aware apps. It's easy enough to do
with git natively but everyone loves a nice api.

------
cultus
Very cool stuff. I really think that versioned, functional-ish databases are
the future.

------
chairmanwow1
I think this is great for a certain kind of dataset. I love the idea, and I
think the idea to make it a KV store was a great design choice to make the
implementation simpler.

I'll be hunting for a reason to use this in the future~

------
mwcampbell
I wonder if LMDB [1] would be a good storage backend for this.

[1]: [https://symas.com/lmdb/](https://symas.com/lmdb/)

~~~
fnord123
Probably. AIUI, LMDB is the backend for Arakoon, another distributed DB
written in ocaml.

------
zomglings
I have been using SQLite as a decentralized metadata store (with hand-written
merges).

Would SQLite + git provide functionality overlapping with Irmin?

