<feed xmlns='http://www.w3.org/2005/Atom'>
<title>colitur.git/lib/kernel/date.mli, branch v0.5.0</title>
<subtitle>deterministic OCaml engine to compute and validate liturgical calendars for multiple rites, template-driven output to year 9999</subtitle>
<id>https://git.labunix.xyz/colitur.git/atom?h=v0.5.0</id>
<link rel='self' href='https://git.labunix.xyz/colitur.git/atom?h=v0.5.0'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/'/>
<updated>2026-08-11T09:15:18Z</updated>
<entry>
<title>kernel(date): ISO-8601 rendering, validating parse, sexp converters</title>
<updated>2026-08-11T09:15:18Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-11T09:15:18Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=d532c3b2cf941d2fe0c3c84f2c4090f14e869ef0'/>
<id>urn:sha1:d532c3b2cf941d2fe0c3c84f2c4090f14e869ef0</id>
<content type='text'>
Adds sexplib and ppx_sexp_conv to the project and wires the ppx into the
kernel library. Date's sexp form is an ISO-8601 atom rather than the opaque
rata die, so data files stay human-editable and parsing revalidates the
1583..9999 domain.
</content>
</entry>
<entry>
<title>kernel(date): proleptic Gregorian date, validated make + arithmetic</title>
<updated>2026-07-31T12:04:22Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-31T12:04:22Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=cdb7ffe804ca19aee935af090f76c9eb83cbce14'/>
<id>urn:sha1:cdb7ffe804ca19aee935af090f76c9eb83cbce14</id>
<content type='text'>
Hinnant civil&lt;-&gt;days rep (1970-epoch rata die); make validates month/day and
the 1583..9999 domain; of_rata/add_days are total arithmetic. Weekday, compare.
Tested: known weekdays, leap boundaries, rejects; qcheck round-trip / add-inverse
/ weekday-cycle properties over random in-range dates.
</content>
</entry>
</feed>
