[Haskell-cafe] ANN: hit a reimplementation of git storage in haskell.

Conrad Parker conrad at metadecks.org
Wed Oct 5 02:58:31 CEST 2011

Hi Vincent,

great stuff!

I've also got an in-progress toy git clone called ght:
http://github.com/kfish/ght. It only reads, no write support and no
revspec parsing. I tried to keep close to the git design, using mmap
and Ptr-based binary search to read pack indices etc. Doing so seems
fairly un-Haskelly but turned out surprisingly neat, what with Haskell
being the world's finest imperative programming language and all.


On 5 October 2011 05:15, Vincent Hanquez <tab at snarc.org> wrote:
> Hi Haskellers,
> I just want to announce the hit project [1], which is a reimplementation of
> low level git operations to read *AND* write to a git repository. It support
> reading from anything i threw at it (loose objects, packed objects, deltas),
> a subset of revisions specifier (man gitrevisions), and writing new objects
> (blob, tree, commit, tag).
> I don't necessarily want to re-implement git itself (although patches
> welcome if someone want to go in this direction), and as such the project is
> a bit of a toy to investigate git storage (for another project of mine) and
> superseeding my own libgit project (for yet another project). Yet it should
> be completely functional and have good performance.
> A few word of the implementation: it's very IO based at the moment; The way
> things are done by git, doesn't necessarily cope with pure and nice stuff if
> performance need to follow. That said it should still be easier to
> understand than reading the git source :-)
> Any comments welcome,
> [1] http://hackage.haskell.org/package/hit/
> --
> Vincent
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe

More information about the Haskell-Cafe mailing list