<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>A Categorical Theory of Patches · HackerPapers discussions</title><link>https://hackerpaper.kaipfister.de/p/1311.3903/</link><description>Collected HN comments and submissions linking this paper.</description><language>en</language><lastBuildDate>Mon, 02 Nov 2026 11:16:22 GMT</lastBuildDate><atom:link href="https://hackerpaper.kaipfister.de/p/1311.3903/feed.xml" rel="self" type="application/rss+xml" /><item><title>A Categorical Theory of Patches — HN submission</title><link>https://news.ycombinator.com/item?id=26249236</link><guid isPermaLink="false">urn:hackerpapers:submission:1311.3903:26249236</guid><pubDate>Wed, 24 Feb 2021 12:38:23 GMT</pubDate><description>&lt;p&gt;A Categorical Theory of Patches (2013)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;49 points; 17 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item><item><title>A Categorical Theory of Patches — HN submission</title><link>https://news.ycombinator.com/item?id=25995651</link><guid isPermaLink="false">urn:hackerpapers:submission:1311.3903:25995651</guid><pubDate>Mon, 01 Feb 2021 23:38:00 GMT</pubDate><description>&lt;p&gt;A Categorical Theory of Patches (2013)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;13 points; 2 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item><item><title>A Categorical Theory of Patches — mentioned by cb321</title><link>https://news.ycombinator.com/item?id=25035272</link><guid isPermaLink="false">urn:hackerpapers:mention:1311.3903:25035272</guid><pubDate>Mon, 09 Nov 2020 14:44:04 GMT</pubDate><description>&lt;p&gt;No big deal from my perspective. I was just explaining my cautious wording. I know you&amp;#x27;ve been open about working with/from &amp;quot;ideas/people&amp;quot; in the darcs community, and good about the shoulders [1] the pijul work stands on/improves, and I also dislike people not giving credit where it is due. Sometimes a few bad apples ruin many things. FWIW, I liked the name &amp;quot;Anu&amp;quot; better. :-/ EDIT: and thanks for all your hard work on Pijul! [1] https://arxiv.org/abs/1311.3903&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item><item><title>A Categorical Theory of Patches — mentioned by creata</title><link>https://news.ycombinator.com/item?id=24601415</link><guid isPermaLink="false">urn:hackerpapers:mention:1311.3903:24601415</guid><pubDate>Sat, 26 Sep 2020 19:20:32 GMT</pubDate><description>&lt;p&gt;In the vaguest sense, sure. But if a file is a list of lines, this &amp;quot;ambiguous file&amp;quot; is a digraph of lines. If a file is instead a tree of strings, what does an &amp;quot;ambiguous file&amp;quot; look like? See this paper which was the source of some of the main ideas of Pijul, and in particular, note that its extension to structured data is listed as &amp;quot;future work&amp;quot;, which means it probably hasn&amp;#x27;t been done yet. https://arxiv.org/pdf/1311.3903.pdf&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item><item><title>A Categorical Theory of Patches — mentioned by lioeters</title><link>https://news.ycombinator.com/item?id=23807702</link><guid isPermaLink="false">urn:hackerpapers:mention:1311.3903:23807702</guid><pubDate>Sun, 12 Jul 2020 01:02:50 GMT</pubDate><description>&lt;p&gt;I have no real understanding of this, but following the bread crumbs, I found this in Pijul&amp;#x27;s site (my emphasis below): &amp;gt; In that paper, and in Pijul, the definition of a file is slightly expanded, to included these cases, and “artificially add” all pushouts of all possible patches to the space of files. &amp;gt; The resulting structure is a graph of byte chunks (which can be for instance binary blocks, lines, or smaller parts, such as indentation). &amp;gt; The relation between them, described by the graph edges, is the order in which they appear in the files. This graph acts as a “cache” of applied…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item><item><title>A Categorical Theory of Patches — mentioned by potiuper</title><link>https://news.ycombinator.com/item?id=22022979</link><guid isPermaLink="false">urn:hackerpapers:mention:1311.3903:22022979</guid><pubDate>Sat, 11 Jan 2020 22:58:16 GMT</pubDate><description>&lt;p&gt;Rust or any procedural language seems not to be the most apt lang to do a first implementation / rewrite of a patch theory. Patches themselves have already been generalized to paths using HOTT ref: https://www.cs.cmu.edu/~rwh/papers/htpt/paper.pdf. The takeaway from https://arxiv.org/abs/1311.3903 is the use of commutation to allow for push out while the HOT ref discusses pseudocommutation regarding merges. See the footnote about commutation being inaccurate term regarding darts model. With the addition of ojo &amp;quot;ghost&amp;quot; deletes and pseudo edges, a formal implementation should provide a…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item><item><title>A Categorical Theory of Patches — mentioned by pdobsan</title><link>https://news.ycombinator.com/item?id=19885459</link><guid isPermaLink="false">urn:hackerpapers:mention:1311.3903:19885459</guid><pubDate>Sat, 11 May 2019 10:08:36 GMT</pubDate><description>&lt;p&gt;Pijul (https://pijul.org/) is based on a categorical theory of patches (https://arxiv.org/abs/1311.3903). It is similar to Darcs but written in Rust. They claim that Pijul has solved the exponential merge problem. The docs, FAQ, and blogs, in particular the last one, are interesting readings.&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item><item><title>A Categorical Theory of Patches — mentioned by gunnihinn</title><link>https://news.ycombinator.com/item?id=19705445</link><guid isPermaLink="false">urn:hackerpapers:mention:1311.3903:19705445</guid><pubDate>Sat, 20 Apr 2019 08:37:00 GMT</pubDate><description>&lt;p&gt;I am a mathematician and generally bearish on category theory in programming. The best argument for it I&amp;#x27;ve seen so far is that it can inform the design of your system to give it desirable properties, like how the DVCS Pijul [1] bases its data structures on patches and its merge operation on categorical pushouts [2] -- also explained at length in a series of blog posts [3]. I found the whole idea and reasoning behing the merge system very convincing, and am not sure it could have been arrived at or explained as clearly without category theory guiding the way. [1] https://pijul.org/ [2]…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item><item><title>A Categorical Theory of Patches — mentioned by chalst</title><link>https://news.ycombinator.com/item?id=19299682</link><guid isPermaLink="false">urn:hackerpapers:mention:1311.3903:19299682</guid><pubDate>Mon, 04 Mar 2019 08:31:22 GMT</pubDate><description>&lt;p&gt;This article has led me to Shapiro &amp;amp; Preguiça (2007) https://arxiv.org/pdf/0710.1784.pdf The whole idea that commutativity gives you a better-behaved transition to consistency reminds me of how the theory of patches gives DARCS/Pijul better handling of branches than Git. Cf. Mimram &amp;amp; Giusto (2013) https://arxiv.org/pdf/1311.3903.pdf&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item><item><title>A Categorical Theory of Patches — mentioned by lixtra</title><link>https://news.ycombinator.com/item?id=19084527</link><guid isPermaLink="false">urn:hackerpapers:mention:1311.3903:19084527</guid><pubDate>Tue, 05 Feb 2019 12:01:36 GMT</pubDate><description>&lt;p&gt;&amp;gt; Pijul is the only version control system based on a complete mathematical theory of patches. [1] Can someone please provide a link to that theory? [1] https://nest.pijul.com/ EDIT: This? https://arxiv.org/abs/1311.3903&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item><item><title>A Categorical Theory of Patches — mentioned by erkin</title><link>https://news.ycombinator.com/item?id=18236335</link><guid isPermaLink="false">urn:hackerpapers:mention:1311.3903:18236335</guid><pubDate>Wed, 17 Oct 2018 05:30:06 GMT</pubDate><description>&lt;p&gt;Yeah, the logic behind it is based on patch theory (a subset of category theory) as put forth in this paper: https://arxiv.org/abs/1311.3903 It&amp;#x27;s a really interesting idea.&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item><item><title>A Categorical Theory of Patches — mentioned by openfuture</title><link>https://news.ycombinator.com/item?id=15878648</link><guid isPermaLink="false">urn:hackerpapers:mention:1311.3903:15878648</guid><pubDate>Fri, 08 Dec 2017 14:03:57 GMT</pubDate><description>&lt;p&gt;Thanks for mentioning &amp;#x27;Dat Project&amp;#x27;, hadn&amp;#x27;t heard of it before. Do you know if any of these distributed file stores are making use of this[1] result like Pijul? It&amp;#x27;d be amazing if these projects converge on making version control, package management and any sort of information distribution (internet) into the same thing. Currently it feels like they are all working in separate corners on what they consider to be &amp;#x27;the abstraction that will eat the world&amp;#x27; so to speak.. [1]: https://arxiv.org/abs/1311.3903&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item><item><title>A Categorical Theory of Patches — mentioned by tupshin</title><link>https://news.ycombinator.com/item?id=13645861</link><guid isPermaLink="false">urn:hackerpapers:mention:1311.3903:13645861</guid><pubDate>Tue, 14 Feb 2017 18:32:57 GMT</pubDate><description>&lt;p&gt;This might be deeper than you are looking for, but this is the theory it&amp;#x27;s based on, and even has diagrams. :) https://arxiv.org/abs/1311.3903&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1311.3903/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.LO</category></item></channel></rss>
