Six Ways to Implement Divisibility by Three in miniKanren
This paper explores options for implementing the relation $n \equiv 0 \ (\text{mod} \ 3)$ within miniKanren using miniKanren numbers and its arithmetic suite. We examine different approaches starting from straightforward implementations to more optimized versions. The implementations discussed inclu...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | This paper explores options for implementing the relation $n \equiv 0 \
(\text{mod} \ 3)$ within miniKanren using miniKanren numbers and its arithmetic
suite. We examine different approaches starting from straightforward
implementations to more optimized versions. The implementations discussed
include brute-force arithmetic methods, divisibility tricks, and derivation
from a finite automaton. Our contributions include an in-depth look at the
process of implementing a miniKanren relation and observations on benchmarking
\texttt{defrel}s. This study aims to provide practical insights for miniKanren
programmers on both performance and implementation techniques. |
---|---|
DOI: | 10.48550/arxiv.2408.16259 |