[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MirageOS-devel] irmin updates

Hi all,

Just a quick update on Irmin: I've created 
https://github.com/mirage/irmin/wiki/Roadmap to keep track of the missing bits 
before the 1.0 release. I'll use that to document progress on Irmin, and use it 
to structure my next updates on the list. 

A summary of what happened in the last weeks:

## Portability

Summary: both Javascript and Xen ports are making good progress (basically they 
both have forks which works fine). Need upstreaming efforts now.

- Javascript: Thomas Leonard managed to get a simple Irmin backend working on 
HTML5 local storage[1]. Need to make the SHA1 computation and the zlib 
compression a bit more modular in ocaml-git to be able to switch to pure OCaml 
implementation when available.

- Xen: I managed to "git clone" from a Mirage unikernel[2]. Few patches to 
upstream in conduit and cohttp, should be done hopefully soon.

- I've started a preliminary work on implementing of pure version of zlib in 
OCaml: I've played with Huffman codes[3] and LZ77[4]. These are needed for the 
related pioneer project[5] which is still looking for a volunteer (I don't plan 
to work much more on that on the next couple of weeks). This could help both 
the Javascript and the Xen port (but this is not in the critical path).

## Applications

- I've updated the merge-queues[6] to the new API. Was not as easy at it should 
be, because of some missing functors in mirage-tc for Either.

## API

Now that I have a very rough end-to-end demonstration of irmin+mirage, my 
current focus are (i) to upstream the changes to make it easier to deploy Irmin 
on top of Mirage and (ii) to fix the bugs that ThomasL found out while 
developing his application and improve parts of the API related to notification 
and high-level concurrency.


[1] https://github.com/talex5/cuekeeper
[2] https://github.com/samoht/mirmin
[3] https://github.com/samoht/ocaml-huffman-code
[4]  https://github.com/samoht/ocaml-lz77
[6] https://github.com/mirage/merge-queues/pull/5

MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.