Вопросы по теме 'clojure-core.logic'
Clojure, core.logic, мини-канрен, Reasoned Schemer
Код
(defn ex20 []
(run*
[x]
(resto '(c o r n) (list x 'r 'n))))
(defn ex20a []
(run*
[x]
(resto '(c o r n) `(~x r n))))
Результаты
(ex20) -> (o)
(ex20a) -> ()
Вопрос:
Почему? Что происходит? Есть ли...
271 просмотров
schedule
21.11.2022
Факториал в Clojure core.logic
Я хотел бы написать факториал, используя core.logic. Я нашел этот фрагмент пролога
factorial(0, 1).
factorial(N, M):- N1 is N - 1, factorial (N1, M1), M is N*M1.
и попытался перевести его в core.logic следующим образом
(defne factorialo...
699 просмотров
schedule
12.07.2023
Есть ли лучший способ доступа к вложенным картам и векторам в Clojure?
Я беру json из здесь, на бесплатной базе (осторожно, вы можете запросить это только несколько раз, не используя &key=your-key ).
Я хочу преобразовать ответ во что-то похожее на это:
({:case "Roe v. Wade", :plaintiffs ("Norma...
607 просмотров
schedule
26.10.2022
Clojure core.logic CLP(FD), проецирующий переменные FD
Я работаю над наивным алгоритмом квадратной упаковки, используя библиотеку Clojure core.logic CLP(FD) (core.logic версии 0.8.3).
Квадраты представлены так:
[[[x11 y11] [x12 y12]]
[[x21 y21] [x22 y22] ...]]
где каждый квадрат представлен...
470 просмотров
schedule
13.02.2023
Core.logic пропускает решение с fd/*, когда домен (правильный, целочисленный, неотрицательный) задан для умножаемого lvar, работает без домена
fd/* , кажется, имеет проблемы с обработкой отрицательных чисел, даже если они являются только константами. И это работает во многих ситуациях. Что я делаю неправильно?
(require '[clojure.core.logic :as l]
'[clojure.core.logic.fd :as...
113 просмотров
schedule
17.03.2023
Моделирование рецептов и доступных ингредиентов с логикой ограничений
Представьте, что у меня есть несколько рецептов различных блюд и кладовая с различными ингредиентами на кухне. Я хочу построить модель, используя core.logic , которая позволит мне ответить на следующий вопрос: для заданного набора ингредиентов (т.е....
142 просмотров
schedule
27.05.2022
Создание операторов core.logic с помощью макросов
Я пытаюсь динамически создать оператор core.logic, «заполнив пробелы». Вот простой пример:
(def number 42)
(def stmt `(run* [q] (== q ~number))
(eval stmt)
Однако я получаю clojure.lang.Compiler$CompilerException:...
126 просмотров
schedule
10.04.2024
core.logic запрос для строки содержит
Мне любопытно, возможно ли (и если да, то как реализовать) что-то вроде
string-containso
в core.logic.
пример использования будет что-то вроде
(db-rel person x)
(def database
(db
[person "John"]
[person "Jane"]
[person...
159 просмотров
schedule
02.04.2023
Есть ли логика для всех в clojure.core.logic?
Я пытаюсь решить первую головоломку в книге Смаллиана «Издеваться над пересмешником» с помощью clojure.core.logic не потому, что это особенно сложно, а скорее в качестве упражнения. В загадке говорится, что есть сад с цветами трех цветов: красный,...
202 просмотров
schedule
14.12.2022
Синтезировать наименьшую карту, удовлетворяющую ограничениям featurec в core.logic?
В core.logic есть ли способ перевести выходные данные такой программы, как
(run 2 [q]
(fresh [a]
(featurec q {:foo a})
(membero a '(5))
(conde
((featurec q {:bar 2}))
((featurec q {:baz 2})))))
в наименьшие карты,...
98 просмотров
schedule
22.04.2022
Как переписать фрагмент core.logic?
Я пытаюсь переписать приведенный ниже фрагмент кода core.logic .
(run* [x y]
(fd/in x (fd/domain 1 2))
(fd/in y (fd/domain 1 2)))
п/п,
([1 1] [2 1] [1 2] [2 2])
Я пробовал следующие версии, но ни одна из них не...
88 просмотров
schedule
12.03.2023