Post #4119655
2026-05-29 13:31 UTC
@mevenlennonbertrand@lipn.info indeed, but what if I don't have negation :P
(I am less-than-half-joking. If you squint, miniKanren's search strategy implements parallel or. But miniKanren very definitely does not have arbitrary negation. I have heard that Andorra Prolog has something like "parallel and" but I have not investigated further.)
Replies (1)
-
@mevenlennonbertrand@lipn.info 2026-05-29 13:40
@rntz@recurse.social I think the "not" I mean here is a very innocuous operation (pattern-matching on a datatype), which is not the nasty negation you likely have in mind. In domains the logic programmer's "not" would rather correspond to the operation on the Sierpinsky space \( 1_{\bot} := \{\bot, \star\}\) (with \(\bot < \star\)) , which exchanges \(\bot\) and \(\star\), and is also not valid since it's not monotone. But I don't see any fundamental difference between por and pand, both evaluate their two branches in parallel and shortcut evaluation whenever one of them returns. What values are returned is not very relevant, what is is the parallel nature of evaluation.