Описание тега functional-logic-progr
Функционально-логическое программирование (или кратко ФЛП) - это составная парадигма, объединяющая парадигмы функционального программирования и логического программирования.
3
ответа
Обсуждение программирования на основе абдуктивной логики и программирования набора ответов
Я хочу уточнить некоторые моменты, касающиеся программирования с использованием абдуктивной логики и программирования набора ответов. Я с одноклассниками создаю игру. В этой игре есть "герои" (особые нпс). У героев есть цели и поведение. (Все это ос…
22 дек '16 в 01:55
1
ответ
Генерация парсера с помощью `inverse` с ограничениями по грамматике
Недавно я изучил A Taste of Curry и впоследствии решил протестировать пример простого арифметического синтаксического анализатора, написав несколько более содержательный анализатор: примитивный, но правильный и функциональный анализатор HTML. Я зако…
09 ноя '15 в 07:36
2
ответа
Компактное или полное / подробное определение обратного комбинатора / оператора в карри
Довольно захватывающая вводная статья 2013 года о реализации Curry KiCS2 на Haskell, написанная Вольфгангом Йельчем, "Вкус Curry", дает следующее определение для inverse комбинатор: inverse :: (a -> b) -> (b -> a) inverse f y | f x =:= y = …
04 ноя '15 в 15:42
2
ответа
Как мне спроектировать мультиплексор 2-1 с включением, используя только вентили NAND?
Итак, мне удается что-то спроектировать, но мне нужно подтверждение, и мой настоящий вопрос заключается в следующем: Как я могу спроектировать мультиплексор 4-1, используя 2 мультиплексора, спроектированных как в названии вопроса (используя только N…
17 авг '16 в 12:21
1
ответ
Требуется разъяснение в понимании пользовательского ограничения core.logic
Я пытался понять обычай core.logic ограничение, как определено ниже, (defne lefto "x appears to the left of y in collection l." [x y l] ([_ _ [x . tail]] (membero y tail)) ([_ _ [_ . tail]] (lefto x y tail))) Как интерпретировать _ а также . в конте…
07 июл '19 в 18:19
1
ответ
Haskell: объединение экзистенциальных и универсальных квантификаторов неожиданно не удается
Я пытаюсь смоделировать следующее логическое следствие в Haskell с GHC версии 8.6.5: (∀ a. ¬ Φ (a)) → ¬ (∃ a: Φ (a)) Я использовал следующие определения: {-# LANGUAGE RankNTypes, GADTs #-} import Data.Void -- Existential quantification via GADT data…
18 янв '20 в 18:01
0
ответов
Найдите количество успехов из списка условий / целей
Я написал следующий предикат exactly/2 это будет успешным, если точно N номеров в списке L равны 1: :- pred exactly(int, list(int)). :- mode exactly(in, in) is semidet. :- mode exactly(out, in) is det. exactly(N, L) :- length(filter(pred(X::in) is s…
18 мар '20 в 22:10
1
ответ
If & Else & Pattern Matching в SML все вместе?
Я пытался скомпилировать этот фрагмент кода в течение 3 часов, и ничего не улучшилось. Я знаю, что мой тип данных компилируется без проблем, а также первый случай сопоставления с образцом. Но когда приходит второй случай (узел с двумя узлами для дет…
16 июн '21 в 17:41
2
ответа
Инвертирование члена в Curry (PAKCS) не дает ответов
С этим определением: member _ [] = False member x (h:t) = if x == h then True else member x t PAKCS 2.0.1 (из Ubuntu 18.04) не дает ответов, предупреждений или ошибок: Top-level binding with no type signature: member :: Prelude.Eq a => a -> [a…
18 дек '20 в 13:18
0
ответов
Можно ли вставить оператор Clojure в середину серии вызовов core.logic «а-ля Prolog»?
Пролог смешивает логические (ошибочные) цели и (безошибочные) процессы, такие как write/2или же assert/1. Можно ли сделать это с помощью core.logic Clojure? Например: (pldb/with-db myFacts (l/run* [x y] (person x) (println "we found a person!") (lik…
01 июн '22 в 06:55