<feed xmlns='http://www.w3.org/2005/Atom'>
<title>colitur.git/lib/kernel/citation.mli, branch v1.2.1</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=v1.2.1</id>
<link rel='self' href='https://git.labunix.xyz/colitur.git/atom?h=v1.2.1'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/'/>
<updated>2026-08-11T09:54:16Z</updated>
<entry>
<title>kernel: fix sexp deriving, add missing tests, canonicalize remove</title>
<updated>2026-08-11T09:54:16Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-11T09:54:16Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=8b6c0036cb6c7f0e48a9370f53be25fd2bb243f4'/>
<id>urn:sha1:8b6c0036cb6c7f0e48a9370f53be25fd2bb243f4</id>
<content type='text'>
Use [@@deriving sexp] with open Sexplib0.Sexp_conv instead of hand-rolling
converters (fixes non-standard Citation shape and missing field validation).
Names.t_of_sexp wraps derived version to enforce canonical sort on load.

Add tests:
- Names of_list duplicate handling
- Names sexp canonical sort guarantee (identical serialization)
- Names and Date_spec sexp roundtrips

Fix Names.remove to canonicalize output (defensive against non-canonical input).
</content>
</entry>
<entry>
<title>kernel: Names, Citation and Date_spec</title>
<updated>2026-08-11T09:37:32Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-11T09:37:32Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/colitur.git/commit/?id=57322e766a0ece579dafcddcfe2572676a98fca8'/>
<id>urn:sha1:57322e766a0ece579dafcddcfe2572676a98fca8</id>
<content type='text'>
Names is an open language-keyed assoc kept in canonical order so equal name
sets serialise identically. Citation carries references only, never text.
Date_spec ships the one form the EF sanctoral needs; 29 February is
constructible and resolves to None in common years.
</content>
</entry>
</feed>
