Вопросы по теме '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 просмотров

Core.logic пропускает решение с fd/*, когда домен (правильный, целочисленный, неотрицательный) задан для умножаемого lvar, работает без домена
fd/* , кажется, имеет проблемы с обработкой отрицательных чисел, даже если они являются только константами. И это работает во многих ситуациях. Что я делаю неправильно? (require '[clojure.core.logic :as l] '[clojure.core.logic.fd :as...
113 просмотров
schedule 17.03.2023

Моделирование рецептов и доступных ингредиентов с логикой ограничений
Представьте, что у меня есть несколько рецептов различных блюд и кладовая с различными ингредиентами на кухне. Я хочу построить модель, используя core.logic , которая позволит мне ответить на следующий вопрос: для заданного набора ингредиентов (т.е....
142 просмотров

Создание операторов 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 просмотров

Синтезировать наименьшую карту, удовлетворяющую ограничениям 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 просмотров

Как переписать фрагмент 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