Описание тега curry
Curry - экспериментальный язык программирования функциональной логики, основанный на языке Haskell. Он объединяет элементы функционального и логического программирования, включая интеграцию программирования в ограничениях.
2
ответа
Самый полезный и поучительный функционально-логический язык для изучения
Я был очень удивлен силой Пролога. Потребовалось некоторое время, чтобы разобраться, но мне показалось, что это был самый крутой декларативный язык. Вот почему недавно, после двух лет некоторого функционального программирования в Scala, я решил снов…
16 июл '13 в 11:18
1
ответ
Почему недетерминированная функция выбора в std lib Карри определяется не просто, а с помощью вспомогательной функции с двумя аргументами?
Рассмотрим функцию choose на языке программирования карри с указанием, что "(choose xs) недетерминированно выбирает один элемент из списка xs". Я реализовал бы это прямо через два альтернативных недетерминированных правила: choose :: [a] -> a cho…
01 мар '11 в 12:12
1
ответ
Арго: Тип не соответствует протоколу "Декодируемый"
Я только начинаю с Арго, чтобы разобрать мой ответ json на объекты. У меня следующий код (см. Ниже), но он выдает следующие ошибки: Тип "Приложение" не соответствует протоколу "Декодируемый" Невозможно вызвать 'curry' со списком аргументов типа '((a…
24 май '16 в 09:16
1
ответ
Какие проблемы решает выбор карри?
Я знаком с тем, какой выбор оператора ((?)), принимает два аргумента и соответствует им обоим. Мы могли бы определить это следующим образом: a?_=a _?b=b Это может быть использовано для введения недетерминизма между двумя значениями. Однако, что я не…
24 апр '18 в 06:29
1
ответ
Как ограничить пространство поиска в карри?
Ниже моя первая программа на карри. Он печатает последовательность шагов, необходимых для достижения желаемого решения (пройти через закрытую дверь). Evaluating expression: main Done (Just [Open,Walk,Close]) Как я могу сделать это прекратить при пои…
05 июл '14 в 23:30
1
ответ
Генерация парсера с помощью `inverse` с ограничениями по грамматике
Недавно я изучил A Taste of Curry и впоследствии решил протестировать пример простого арифметического синтаксического анализатора, написав несколько более содержательный анализатор: примитивный, но правильный и функциональный анализатор HTML. Я зако…
09 ноя '15 в 07:36
1
ответ
ActionScript 3: Как работают функции карри?
Я только недавно начал смотреть на код ActionScript (например, я буквально только что узнал, что ActionScript был вчера). Мой единственный опыт связан с Java, поэтому я понятия не имею, как работает этот код: public static function curry(func:Functi…
25 июн '18 в 05:30
0
ответов
Ошибка времени выполнения PHP карри
Я пытаюсь следовать учебнику под названием "Roll Your Own Templating System". Это очень неряшливо, но мне удалось исправить большинство ошибок автора. Я предполагаю, что ошибка исходит от метода generate_markup, который вызывает метод _parse_templat…
14 мар '16 в 00:18
1
ответ
Каков тип этой двойной функции в haskell?
t2 = (\x y z-> x.y.x) GHCI показывает мне это: t2 :: (b1 -> b2) -> (b2 -> b1) -> p -> b1 -> b2 Я не могу понять, как эта сигнатура типа появляется. До сих пор я полагал, что самый правый х в основном является функцией, которая п…
09 янв '19 в 19:31
2
ответа
Отсутствует тип параметра для расширенной функции при создании частично примененной функции
Я новичок в Scala и читал о частично примененных функциях в Scala. У меня есть общая функция "обтекание", которая может объединять три строки. def wrap(prefix: String)(html: String)(suffix: String) = prefix + html + suffix Когда я пытаюсь сделать сп…
03 янв '19 в 07:17
5
ответов
Карринг в javascript для функции с n параметрами
Если f:: (a, b) -> c, мы можем определить curry(f), как показано ниже: карри (f):: ((a, b) -> c) -> a -> b -> c const curry = f => a => b => f(a, b); const sum = curry((num1, num2) => num1 + num2); console.log(sum(2)(3)); //5 Как мы реал…
28 июл '16 в 13:58
4
ответа
"foop": соглашение об именах? Это вспомогательная рекурсивная функция для "foo"; что означает суффикс "p"?
Я наткнулся на следующий фрагмент кода (определение функции): choose (x:xs) = choosep x xs where choosep x [] = x choosep x (_:_) = x choosep _ (x:xs) = choosep x xs на языке программирования Curry в "стандартной библиотеке" -/usr/lib/curry-0.9.11/S…
11 мар '11 в 22:59
1
ответ
Почему компилятор Мюнстера считает, что сопоставление с образцом в ++ недетерминировано?
Недавно я установил Münster Curry Compiler, чтобы заменить гораздо более медленную PAKCS, которую я использовал. Первым делом я хотел проверить, могу ли я использовать некоторые функции сопоставления с образцом из PAKCS, потому что я знаю, что некот…
04 апр '18 в 03:04
1
ответ
Какие системы типов могут предотвратить приостановку цели в логических языках?
Из раздела 3.13.3 учебника по карри: Остаточные операции называются жесткими, а узкие - гибкими. Все определенные операции являются гибкими, в то время как большинство примитивных операций, таких как арифметические операции, являются жесткими, так к…
12 янв '11 в 00:29
1
ответ
Не включайте функцию ramdajs
У меня есть следующая структура данных: const cluster = { processes: [ { color: 'test', x: 0, y: 0 }, ... ], }; А теперь я хочу сделать функцию со следующими обозначениями: // getProcess :: (Cluster, number) -> Process getProcess(cluster, 0); // …
30 сен '18 в 07:06
1
ответ
Как связать второй параметр в функции scala curry?
//a curry function def find(a: Seq[Int])(sort: (Int, Int) => Boolean) //My attempt val findWithBiggerSort = find(_)((a,b) => a > b) findWithBiggerSort не может работать, произошла ошибка компилятора: scala> def find(a: Seq[Int])(sort: (I…
25 янв '16 в 11:24
1
ответ
PAKCS REPL считает что-то неопределенным, но модуль, определяющий это, загружен
Эта проблема Мой код содержит модуль Tests, который определяет следующее: broken :: SetRBT Int broken = insertRBT 1 $ emptySetRBT (<) Я могу оценить broken в REPL: All> broken RedBlackTree.RedBlackTree (_impl#==#Prelude.Eq#Prelude.Int) (_impl#…
29 ноя '18 в 20:50
4
ответа
Что интереснее или мощнее: карри, ртуть или лямбда-пролог?
Я хотел бы спросить вас о том, какую формальную систему было бы более интересно реализовать с нуля / реверс-инженера. Я просмотрел некоторые существующие и открытые проекты систем логического / декларативного программирования. Я решил придумать что-…
01 июн '10 в 16:11
0
ответов
"readline" (или "haskeline") для карри?
Какой самый практичный способ написать программу на языке программирования Curry, которая бы имела консольный интерфейс с достойным редактированием строк? На самом деле, мне нужно передать строку в качестве предложения для ввода пользователя, затем …
20 апр '11 в 22:02
0
ответов
Будет ли весь Хаскелл частью Карри?
Я нашел Карри в Википедии. Это говорит, что Карри - почти суперсет, но не из-за нехватки чего-то. Я бы хотел, чтобы это поддержало весь Хаскелл. Планировали ли они реализовать Haskell как часть Curry?
03 дек '11 в 21:00