Thicket data repository for the EEG
1{
2 "id": "https://www.tunbury.org/2025/03/17/irmin",
3 "title": "Irmin Database",
4 "link": "https://www.tunbury.org/2025/03/17/irmin/",
5 "updated": "2025-03-17T00:00:00",
6 "published": "2025-03-17T00:00:00",
7 "summary": "After Thomas’ talk today I wanted to try Irmin for myself.",
8 "content": "<p>After Thomas’ talk today I wanted to try <a href=\"https://irmin.org\">Irmin</a> for myself.</p>\n\n<p>In a new switch I installed Irmin via opam <code>opam install irmin-git</code> and then built the <a href=\"https://irmin.org/tutorial/getting-started/\">example code</a></p>\n\n<div><div><pre><code><span>open</span> <span>Lwt</span><span>.</span><span>Syntax</span>\n<span>module</span> <span>Git_store</span> <span>=</span> <span>Irmin_git_unix</span><span>.</span><span>FS</span><span>.</span><span>KV</span> <span>(</span><span>Irmin</span><span>.</span><span>Contents</span><span>.</span><span>String</span><span>)</span>\n<span>module</span> <span>Git_info</span> <span>=</span> <span>Irmin_unix</span><span>.</span><span>Info</span> <span>(</span><span>Git_store</span><span>.</span><span>Info</span><span>)</span>\n\n<span>let</span> <span>git_config</span> <span>=</span> <span>Irmin_git</span><span>.</span><span>config</span> <span>~</span><span>bare</span><span>:</span><span>true</span> <span>\"./db\"</span>\n<span>let</span> <span>info</span> <span>message</span> <span>=</span> <span>Git_info</span><span>.</span><span>v</span> <span>~</span><span>author</span><span>:</span><span>\"Example\"</span> <span>\"%s\"</span> <span>message</span>\n\n<span>let</span> <span>main_branch</span> <span>config</span> <span>=</span>\n <span>let</span><span>*</span> <span>repo</span> <span>=</span> <span>Git_store</span><span>.</span><span>Repo</span><span>.</span><span>v</span> <span>config</span> <span>in</span>\n <span>Git_store</span><span>.</span><span>main</span> <span>repo</span>\n\n<span>let</span> <span>main</span> <span>=</span>\n <span>let</span><span>*</span> <span>t</span> <span>=</span> <span>main_branch</span> <span>git_config</span> <span>in</span>\n <span>(* Set a/b/c to \"Hello, Irmin!\" *)</span>\n <span>let</span><span>*</span> <span>()</span> <span>=</span>\n <span>Git_store</span><span>.</span><span>set_exn</span> <span>t</span> <span>[</span> <span>\"a\"</span><span>;</span> <span>\"b\"</span><span>;</span> <span>\"c\"</span> <span>]</span> <span>\"Hello, Irmin!\"</span>\n <span>~</span><span>info</span><span>:</span><span>(</span><span>info</span> <span>\"my first commit\"</span><span>)</span>\n <span>in</span>\n <span>(* Get a/b/c *)</span>\n <span>let</span><span>+</span> <span>s</span> <span>=</span> <span>Git_store</span><span>.</span><span>get</span> <span>t</span> <span>[</span> <span>\"a\"</span><span>;</span> <span>\"b\"</span><span>;</span> <span>\"c\"</span> <span>]</span> <span>in</span>\n <span>assert</span> <span>(</span><span>s</span> <span>=</span> <span>\"Hello, Irmin!\"</span><span>)</span>\n\n<span>let</span> <span>()</span> <span>=</span> <span>Lwt_main</span><span>.</span><span>run</span> <span>main</span>\n</code></pre></div></div>\n\n<p>I’m pretty excited about the possibilities.</p>",
9 "content_type": "html",
10 "author": {
11 "name": "Mark Elvers",
12 "email": "mark.elvers@tunbury.org",
13 "uri": null
14 },
15 "categories": [
16 "irmin",
17 "tunbury.org"
18 ],
19 "source": "https://www.tunbury.org/atom.xml"
20}