18
ответов

Что такое Y-комбинатор? [закрыто]

Y-комбинатор - это концепция информатики от «функционала». сторона вещей. Большинство программистов вообще ничего не знают о комбинаторах, даже слышали ли они о них. Что я сказал-...
вопрос задан: 2 March 2018 08:09
8
ответов

Хорошее объяснение “Combinators” (Для не математики)

Кто-либо получил хорошее объяснение "combinators" (Y-combinators и т.д. а НЕ компания)? Я ищу один для практического программиста, который понимает рекурсию и функции высшего порядка, но...
вопрос задан: 2 March 2018 01:47
7
ответов

Карта/zip Haskell По сравнению с пониманием списка

Какое из следующего является Вами, скорее всего, для записи? r = архивируют xs карту $ sqrt xs или r = [(x, sqrt x) | x <-xs], Пример кода в Интернете, кажется, указывает, что первый более в изобилии и...
вопрос задан: 28 October 2013 20:01
6
ответов

Как foldr работает?

Кто-либо может объяснить, как foldr работает? Возьмите эти примеры: Вводная часть> foldr (-) 54 [10, 11] 53 Вводных части> foldr (\x y-> (x+y)/2) 54 [12, 4, 10, 6] 12.0 я смущен этим выполнением....
вопрос задан: 9 April 2017 14:22
6
ответов

Реализация Python Парсека?

Я недавно записал синтаксический анализатор в Python с помощью Сгиба (это - переопределение Python yacc). Когда я был почти сделан с синтаксическим анализатором, я обнаружил, что грамматика, которую я должен проанализировать, требует, чтобы я сделал некот
вопрос задан: 18 September 2008 18:12
5
ответов

foldl является хвостовой рекурсивной, так почему же foldr работает быстрее, чем foldl?

Я хотел проверить сложение против сложения. Из того, что я видел, вы должны использовать foldl over foldr, когда это возможно, благодаря оптимизации рекурсии хвоста. Это имеет смысл. Тем не менее, после запуска этого теста я ...
вопрос задан: 21 October 2012 07:51
4
ответа

foldl по сравнению с foldr поведением с бесконечными списками

Код для функции myAny в этом вопросе использует foldr. Это прекращает обрабатывать бесконечный список, когда предикат удовлетворен. Я переписал его с помощью foldl: myAny:: (-> Bool)->-> Bool...
вопрос задан: 23 May 2017 12:17
4
ответа

Что такое zygo/meta/histo/para/futu/dyna/whatever-morphisms?

Существует ли список их с примерами, доступными для человека без обширного ведома теории категорий?
вопрос задан: 17 April 2011 21:14
3
ответа

Срывание (&&) в Haskell

Быстрый вопрос, который прослушивал меня в последнее время. Haskell выполняет весь эквивалентный тест в функции, которая возвращает булевскую переменную, даже если Вы возвращаете ложное значение? Например, f b = ((a+b) ==...
вопрос задан: 13 March 2017 19:11
3
ответа

Zip реализации с помощью foldr

Я в настоящее время нахожусь на главе 4 Реального мира Haskell, и я пытаюсь перенести голову вокруг реализации foldl с точки зрения foldr. (Вот их код:) myFoldl:: (-> b-> a)->-> [b]-&...
вопрос задан: 14 August 2015 00:55
3
ответа

Haskell: удивительное поведение “groupBy”

Я пытаюсь выяснить поведение библиотечной функции groupBy (от Данных. Список), то, которое подразумевает группировать элементы списка "тестовой функцией" равенства, передало в как первый аргумент...
вопрос задан: 17 April 2011 21:36
3
ответа

Impementation Ruby <=> Combinator

Весьма часто каждый хочет реализовать <=> (сравнение или "космический корабль") оператор на типе данных продукта, т.е. класс с несколькими полями (весь из который (мы надеемся!) уже имеют <=>...
вопрос задан: 20 January 2011 12:03
3
ответа

Эти два combinators уже доступны в Haskell?

Мне нужен двоичный файл combinators типа (-> Bool)-> (-> Bool)->-> Bool или возможно [-> Bool]->-> Bool (хотя это просто было бы foldr1 первого, и я...
вопрос задан: 4 February 2010 18:16
2
ответа

Как создать ленивую-seq генерацию, анонимную рекурсивную функцию в Clojure?

Править: Я обнаружил частичный ответ на свой собственный вопрос в процессе записи этого, но я думаю, что это может легко быть улучшено так, я отправлю его так или иначе. Возможно, там существует лучшее решение?...
вопрос задан: 30 July 2010 16:27
1
ответ

Роль combinators на конкатенативных/молчаливых языках программирования

Какая точная роль делают combinators высшего порядка (или функционируйте производители), держите в конкатенативном и молчаливом программировании? Есть ли другой способ реализовать конкатенативный язык программирования, а не...
вопрос задан: 18 June 2012 02:13
1
ответ

Что такое суперкомбинаторы и постоянные аппликативные формы?

Я не могу понять, что такое суперкомбинаторы: Суперкомбинатор - это либо константа, либо комбинатор, который содержит только суперкомбинаторы в качестве подвыражений. А также с тем, что такое константа ...
вопрос задан: 30 November 2011 18:09
1
ответ

Scala: я могу пошагово переместить combinator синтаксический анализатор для локальной жадности?

Предположим, что мне выразили неоднозначный язык в combinator синтаксическом анализаторе. Существует ли способ сделать определенные выражения локально жадными? Вот пример того, что я имею в виду. импорт scala.util.parsing.combinator....
вопрос задан: 5 April 2010 03:24
1
ответ

Scala combinator синтаксические анализаторы - различает числовые строки и переменные строки

Я делаю combinator упражнения синтаксического анализатора Cay Horstmann, интересно о лучшем способе различать строки, которые представляют числа и строки, которые представляют переменные в операторе соответствия: определение...
вопрос задан: 2 November 2008 09:22
0
ответов

foldr и foldl дальнейшие объяснения и примеры

Я рассмотрел различные складки и складки в целом, а также некоторые другие, и они довольно хорошо это объясняют. У меня все еще возникают проблемы с тем, как лямбда будет работать в этом случае. foldr (\ y ys -> ...
вопрос задан: 15 December 2018 20:03
0
ответов

Обсуждение комбинатора Y в «Маленьком интригане»

Итак, я провел много времени, читая и перечитывая -окончание главы 9 в «Маленьком интригане», где аппликативное комбинатор Y разработан для функция длины. Я думаю, мое замешательство закипает...
вопрос задан: 29 December 2017 10:02
0
ответов

Комбинатор с фиксированной точкой для взаимно рекурсивных функций?

Есть ли комбинатор с фиксированной точкой для создания кортежей взаимно рекурсивных функций? Т.е. я ищу что-то вроде Y-Combinator, но который принимает несколько «рекурсивных» * функций и будет ...
вопрос задан: 14 November 2014 14:19
0
ответов

Какова общая схема написания функции в бесточечном стиле?

В данный момент я прорабатываю 20 промежуточных упражнений на Haskell, что является довольно забавным упражнением. Он включает в себя реализацию различных экземпляров классов типов Functor и Monad (и функций ...
вопрос задан: 11 August 2013 17:23
0
ответов

Может ли clojure оценить цепочку смешанных функций арности и при необходимости вернуть частичную функцию?

Предположим, у вас есть три функции арности 1, 2 и 3, как показано ниже:(определение I [x] x) (определение K [x y] x) (defn S [x y z] (x z (y z )))Есть ли в clojure функция оценки или идиома для оценки:(И К С...
вопрос задан: 13 August 2012 05:12
0
ответов

Что делает этот комбинатор: s (sk)

Теперь я понимаю сигнатуру типа s (sk): s (sk) :: ((t1 -> t2) -> t1) -> (t1 - > t2) -> t1 И я могу создать примеры, которые работают без ошибок в инструменте Haskell WinGHCi: ...
вопрос задан: 25 March 2012 16:16
0
ответов

Объяснение комбинаторов для рабочего

Что такое комбинатор ?? Это «функция или определение без свободных переменных» (как определено в SO)? Или как насчет этого: согласно Джону Хьюзу в его известной статье о Стрелках, «комбинатор - это ...
вопрос задан: 8 March 2012 19:50
0
ответов

Scala:Свести результат разбора (~)из анализатора комбинаторов в список?

Я написал парсер из комбинаторной библиотеки. Мне нужна универсальная функция, которая преобразует любой размер гнезда ~в список. Как это сделать? Вот мой пример парсера, который я использую (мой настоящий парсер имеет очень...
вопрос задан: 7 March 2012 01:07
0
ответов

Сигнатура типа комбинатора не соответствует сигнатуре типа эквивалентной ему лямбда-функции

Рассмотрите этот комбинатор: S (SK) Примените его к аргументам XY: S ( SK) XY Он сокращается до: XYI преобразовал S (SK) в соответствующие термины Lambda и получил следующий результат: (\xy -> xy) I ...
вопрос задан: 6 March 2012 21:28
0
ответов

Можно ли для представленного случая оптимизировать в один цикл?

Предположим, у меня есть две функции f :: [a] -> b и g :: [a ] -> c. У меня есть два следующих вопроса: Если я выполняю (f &&& g) xs where xs :: [a], и если и f, и g включают циклы, это ...
вопрос задан: 8 February 2012 10:38
0
ответов

Какие интересные применения функций высшего порядка?

В настоящее время я изучаю курс функционального программирования, и меня очень забавляет концепция функций и функций высшего порядка как граждане первого класса. Однако я пока не могу думать о многих практически ...
вопрос задан: 6 February 2012 21:40
0
ответов

Выражение лямбда-исчисления, реализующее применение функции

Я только что нашел следующее выражение лямбда-исчисления: (((λ f . (λ x . (f x)))) (λ a . a)) (λ b . b)) То есть это функция, которая принимает аргумент f и возвращает другую функцию, которая принимает аргумент ...
вопрос задан: 1 February 2012 11:01