<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Indexing dif/2 · HackerPapers discussions</title><link>https://hackerpaper.kaipfister.de/p/1607.01590/</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/1607.01590/feed.xml" rel="self" type="application/rss+xml" /><item><title>Indexing dif/2 — mentioned by triska</title><link>https://news.ycombinator.com/item?id=34195182</link><guid isPermaLink="false">urn:hackerpapers:mention:1607.01590:34195182</guid><pubDate>Sat, 31 Dec 2022 10:22:55 GMT</pubDate><description>&lt;p&gt;These are valid concerns, arising mostly from inadequate implementations and a lack of modern features in early (and also current) Prolog systems. In the past 20 years, many new language constructs and implementation improvements were introduced and have become widely available in newer Prolog systems to address precisely these problems among others. For example, inspired by pioneering systems such as XSB Prolog, modern Prolog systems such as Scryer Prolog support alternative execution strategies, internally implemented via delimited continuations as described by Desouter et al., and thus…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1607.01590/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Indexing dif/2 — mentioned by grose</title><link>https://news.ycombinator.com/item?id=32737841</link><guid isPermaLink="false">urn:hackerpapers:mention:1607.01590:32737841</guid><pubDate>Tue, 06 Sep 2022 14:51:07 GMT</pubDate><description>&lt;p&gt;That&amp;#x27;s super cool. I&amp;#x27;m definitely not an expert on the subject but this paper about dif/2 intrigues me: https://arxiv.org/abs/1607.01590 And perhaps Ciao&amp;#x27;s paper could offer some hints? http://cliplab.org/papers/hermenegildo11:ciao-design-tplp.pd... You&amp;#x27;re probably already aware of it but Scryer Prolog seems like an interesting place to borrow ideas from. Both Scryer and Trealla have efficient string (list of characters) representations.&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1607.01590/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Indexing dif/2 — mentioned by triska</title><link>https://news.ycombinator.com/item?id=21391279</link><guid isPermaLink="false">urn:hackerpapers:mention:1607.01590:21391279</guid><pubDate>Tue, 29 Oct 2019 19:50:44 GMT</pubDate><description>&lt;p&gt;In general, using any of the mentioned predicates (-&amp;gt;)/2, (\+)/1 or !/0 in Prolog code destroys essential properties we expect from classical logic, and therefore complicates declarative reasoning about the code to such an extent that it can be said to prevent it entirely. For example, both versions of foo/2 that are shown above suffer from the same core deficiency: If some_condition/1 has multiple solutions, then they are cut away and not generated at all. Therefore, for the most general query, ?- foo(X, Y). only a single answer, or a proper subset of all answers one would expect when…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1607.01590/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Indexing dif/2 — HN submission</title><link>https://news.ycombinator.com/item?id=17124370</link><guid isPermaLink="false">urn:hackerpapers:submission:1607.01590:17124370</guid><pubDate>Tue, 22 May 2018 08:03:44 GMT</pubDate><description>&lt;p&gt;Pure efficient “if” in Prolog&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1607.01590/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Indexing dif/2 — mentioned by zmonx</title><link>https://news.ycombinator.com/item?id=14440713</link><guid isPermaLink="false">urn:hackerpapers:mention:1607.01590:14440713</guid><pubDate>Mon, 29 May 2017 18:53:32 GMT</pubDate><description>&lt;p&gt;Have you been exposed to more recent research on Prolog language constructs? In particular, I recommend the following publication: https://arxiv.org/abs/1607.01590 if_/3 and other declarative predicates like dif/2 are more general alternatives and likely good solutions in the cases you mention. They are still quite recent, at least if we ignore the fact that dif/2 was even available in the very first Prolog system, sometimes called Prolog 0.&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1607.01590/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item></channel></rss>
