4 ms·
From your description I'm not quite sure where in the stack Irmin belongs? Is this to be used by web application developers? I assume note, as this looks like i
by marknadal 11y ago
From your description I'm not quite sure where in the stack Irmin belongs? Is this to be used by web application developers? I assume note, as this looks like it is targeting more OS level development work?
Pretty cool stuff. I am also working on a distributed database, https://github.com/amark/gun https://github.com/amark/gun , that operates at the high level (web/javascript) rather than the low level. Although it looks like Irmin can be used in the browser? https://github.com/talex5/irmin-js https://github.com/talex5/irmin-js ? Would love to hear some clarification.
- amirmc 11y ago[ To avoid any confusion, the submitter is not the author of the post :) ] I don't really understand the question about the stack. Where it belongs should only limited by its features. It certainly can be used by people developing browser-based apps. For example, Cuekeeper [1] is a version-controlled TODO manager which uses Irmin. It's also been used with Xenstore [2], which is a different use-case (there are other examples in the readme of the Irmin repo). [1] https://github.com/talex5/cuekeeper https://github.com/talex5/cuekeeper [2] https://github.com/djs55/ocaml-xenstore/tree/irminsule https://github.com/djs55/ocaml-xenstore/tree/irminsule
- eriangazag 11y agoAs for the rest of MirageOS, Irmin is a "library" database, means that you have a bunch of components than you can re-use in different contexts. Two interesting contexts are: - the browser, where some components of Irmin are transpiled to JavaScript using js_of_ocaml (http://ocsigen.org/js_of_ocaml/ http://ocsigen.org/js_of_ocaml/). Cuekeeper (http://roscidus.com/blog/blog/2015/04/28/cuekeeper-gitting-things-done-in-the-browser/ http://roscidus.com/blog/blog/2015/04/28/cuekeeper-gitting-t...) is an interesting use-case for that. - the kernel, where some components of Irmin can be compiled into a unikernel and be run on top of Xen/baremetal, bypassing the OS completely. Irmin-ARP (http://somerandomidiot.com/blog/2015/04/24/what-a-distributed-version-controlled-ARP-cache-gets-you/ http://somerandomidiot.com/blog/2015/04/24/what-a-distribute...) is an interesting step is the direction of exposing kernel data and do interesting stuff with it.
- talex5 11y agoLike most OCaml libraries, Irmin can be used in the browser by compiling your program with js_of_ocaml. My `irmin-js` experiment provides a Javascript API to Irmin, so you can write your application in Javascript too, rather than OCaml. My JS isn't very good though; here's what my example code ended up looking like: https://github.com/talex5/irmin-js/blob/master/examples/tests.js https://github.com/talex5/irmin-js/blob/master/examples/test...