3 papers
cs.PL2026
Finite Functional Programming
Michael Arntzenius, Max Willsey
We unify functional and logic programming by treating predicatesas functions equipped with their support: the set of inputs whose output is nonzero. Datalog, for instance, is a lan…
cs.PL2025
Fair intersection of seekable iterators
Michael Arntzenius
miniKanren's key semantic advance over Prolog is to implement a complete yet efficient search strategy, fairly interleaving execution between disjuncts. This fairness is accomplish…
cs.PL2025
Stream programs are monoid homomorphisms with state
Tyler Hou, Michael Arntzenius, Max Willsey
We define a broad class of deterministic stream functions and show they can be implemented as homomorphisms into a "state" monoid. The homomorphism laws are simpler than the condit…