Почему имена miniKanren всегда заканчиваются на `o`? - PullRequest
7 голосов
/ 06 февраля 2012

Все отношения miniKanren заканчиваются буквой o. Какова мотивация для этого? Я вижу, что библиотека Clojure core.logic также делает это.

Ответы [ 2 ]

11 голосов
/ 06 февраля 2012

В предисловии к Разумному интригану они объясняют это так:

Отношение, функция, которая возвращает цель в качестве значения, оканчивает свое имя верхним индексом ' o ' (например, car o и нуль о ).

Итак, это обозначение для обозначения отношения.

5 голосов
/ 08 февраля 2012

Это потому, что авторы The Reasoned Schemer хотели, чтобы обозначения отношений miniKanren напоминали обычные предикаты Scheme, которые заканчиваются на ? (например, null?, pair?) по соглашению. Верхний индекс o , если вы достаточно щурились (и слышали эту историю раньше), выглядит как измененный ?.

...