Описание тега combinators

Комбинатор - это функция высшего порядка, которая использует только приложение функции и ранее определенные комбинаторы для определения результата из своих аргументов.
1 ответ

Проблемы с css combiner?

Я работаю с пользовательскими рамками. Когда я разрабатываю свои сайты, я делю правила CSS на несколько файлов, например typography.css links.css master.css tables.css так далее Теперь очевидная проблема заключается в том, что это означает несколько…
28 фев '11 в 00:29
2 ответа

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

Комбинаторы с фиксированной запятой дают возможность анонимным функциям ссылаться на себя или создавать взаимно рекурсивные структуры. Хотя они полезны в лямбда-исчислении, они по существу излишни в современных языках программирования, потому что б…
18 ответов

Что такое Y-комбинатор?

Y-комбинатор - это концепция информатики с "функциональной" стороны вещей. Большинство программистов вообще ничего не знают о комбинаторах, если они даже слышали о них. Что такое Y-комбинатор? Как работают комбинаторы? Для чего они хороши? Полезны л…
2 ответа

Вопросы memcpy; копирование неправильного блока и несколько раз

#include <iostream> #include <string.h> using namespace std; int sk00(char * a) //use to find length, in characters, of an expression { int b = 1, c = 0; while(b != 0) { if (a[c] == '`'){b++;} else{b--;} c++; } return c; } void sk07(char…
04 май '11 в 06:19
1 ответ

Как читать необязательные значения json в классе case с использованием комбинаторов scala

Я пытаюсь обработать JSON, который может иметь информацию и ее содержимое. Который захвачен в следующем классе case и комбинатор для чтения JSON в объекте. Но код не компилируется. Есть ли лучший способ справиться с этим? Информация может быть пусто…
30 янв '15 в 21:49
1 ответ

Составление Option<Enum> с замыканиями, которые сопоставляют аргументы с образцом

У меня есть enum с двумя различными "типами" и функцией, которая может возвращать любой из них, завернутый в Option: enum Possibilities { First(i32), Second(String), } use Possibilities::*; fn some_poss() -&gt; Option&lt;Possibilities&gt; { Some(Sec…
24 июн '17 в 09:20
1 ответ

Haskell: некоторые и многие

Что some а также many в Control.Applicative.Alternative хорош для? Если я напишу что-то вроде some $ Just 42кажется, вызывает бесконечную рекурсию, которая кажется не очень полезной...
30 апр '11 в 11:44
1 ответ

Невозможно получить реализацию Y комбинатора работает

Вот код ( также здесь): #lang racket (define poorY ((lambda length (lambda (ls) (cond [(null? ls) 0] [else (add1 ((length length) (cdr ls)))]))) (lambda length (lambda (ls) (cond [(null? ls) 0] [else (add1 ((length length) (cdr ls)))]))))) Когда я з…
4 ответа

Объясните эту реализацию Y комбинатора в Scala?

Это реализация Y-комбинатора в Scala: scala&gt; def Y[T](func: (T =&gt; T) =&gt; (T =&gt; T)): (T =&gt; T) = func(Y(func))(_:T) Y: [T](func: (T =&gt; T) =&gt; (T =&gt; T))T =&gt; T scala&gt; def fact = Y { | f: (Int =&gt; Int) =&gt; | n: Int =&gt; |…
13 янв '16 в 19:43
3 ответа

Полезные экземпляры "fix" для нефункциональных типов?

Каждый раз, когда я использовал fix :: (a -&gt; a) -&gt; aэто было в типе ((a -&gt; b) -&gt; a -&gt; b) -&gt; a -&gt; b для некоторых a а также b, Есть ли какое-то применение fix где его параметр типа не создается для типа функции, кроме тривиальной…
20 янв '15 в 01:08
3 ответа

Объединение двух строк в одну строку, которая исключает одинаковые буквы в C

Здравствуйте, я такой новичок в программировании и хочу научиться чему-то у вас:) Я делаю программу на.c и застрял в какой-то части. Я хочу получить 3 или более входных данных с максимальным размером 5 символов. (Например: HELLO, HI, GOOD, BYE) И я …
06 дек '14 в 18:00
5 ответов

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

Сейчас я прорабатываю 20 промежуточных упражнений на Хаскелле, и это довольно забавное упражнение. Это включает в себя реализацию различных экземпляров классов типов Functor а также Monad (и функции, которые занимают Functorс и Monadв качестве аргум…
2 ответа

Как создать K комбинатор в заколдованном лесу? (Издеваться над пересмешником)

Напомним, что комбинатор K является постоянной функцией. Он всегда возвращает свой первый аргумент: Kxy = x for all y В книге " Чтобы издеваться над пересмешником" автор представляет пример заколдованного леса с говорящими птицами. Птицы имеют повед…
2 ответа

Генерация всех возможных комбинаций с PHP

У меня есть последовательность чисел с подчеркиванием: _10_1_18_4_9_14_ _ Я хотел бы заменить подчеркивание буквами, не касаясь цифр, и сгенерировать полный список комбинаций, но я не знаю, как это сделать. Прямо сейчас у меня есть это: $alph = arra…
02 ноя '18 в 15:17
2 ответа

Как написать фолд ХОФ в Хаскеле

Я хочу добавить некоторые суммы, которые в моем кортеже. Я хочу взять это, подвести итог и показать. Я хочу использовать функцию Foldr. может кто-нибудь помочь мне, как это сделать
18 мар '10 в 16:47
2 ответа

Сворачивание flatMap/bind поверх списка функций (он же Name That Combinator!)

В процессе написания простого калькулятора RPN у меня есть следующие псевдонимы: type Stack = List[Double] type Operation = Stack =&gt; Option[Stack] ... и я написал любопытную строку кода Scala: val newStack = operations.foldLeft(Option(stack)) { _…
03 янв '12 в 18:05
3 ответа

Существуют ли "комбинаторы уровня типа"? Будут ли они существовать в будущем?

Многое из того, что делает haskell действительно хорошим для использования, на мой взгляд, это комбинаторы, такие как (.), flip, $ &lt;*&gt; и т. д. Такое ощущение, что я могу создать новый синтаксис, когда мне это нужно. Некоторое время назад я дел…
1 ответ

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

Предположим, у меня есть две функции f :: [a] -&gt; b а также g :: [a] -&gt; c, У меня есть следующие два вопроса: Если я выполню (f &amp;&amp;&amp; g) xs где xs :: [a] и если оба f а также g задействовать циклы, возможно ли компилятору оптимизирова…
08 фев '12 в 10:31
7 ответов

Карта Haskell / почтовый индекс Vs. понимание списка

Что из следующего вы, скорее всего, напишите? r = zip xs $ map sqrt xs или же r = [(x, sqrt x) | x &lt;- xs] Пример кода в Интернете, кажется, указывает на то, что первый является более распространенным и предпочтительным способом.
1 ответ

Как кодировать ограничение на формат значений String

Как я часто наблюдаю и как я часто реализую name атрибут, это просто моделировать его как String, Что теперь, если имя должно следовать определенному синтаксису, то есть формату? В Java я, вероятно, определил бы конструктор с проверкой его аргументо…
27 авг '11 в 19:47