Вопросы по теме 'combinators'

Как работают Data.MemoCombinators?
Я искал источник для Data.MemoCombinators , но я не могу понять, в чем его суть. Пожалуйста, объясните мне, в чем логика всех этих комбинаторов и механика того, как они на самом деле работают, чтобы ускорить вашу программу в реальном...
3039 просмотров
schedule 28.10.2021

Haskell: некоторые и многие
Для чего some и many в Control.Applicative.Alternative ? Если я напишу что-то вроде some $ Just 42 , это вызовет бесконечную рекурсию, что не очень полезно ...
2262 просмотров

Парсер Scala Combinator не работает с пробелами
Почему этот простой пример синтаксического анализатора комбинатора scala не работает? def test: Parser[String] = "&lt; " ~> ident <~ " &gt;" Когда я предоставляю следующую строку: "&lt; a &gt;" Я получаю такую...
89 просмотров
schedule 14.10.2021

Что это за комбинатор?
Я использовал комбинатор для вычисления среднего числа чисел ... const myCombinator = f => g => h => x => f(g(x))(h(x)); Тогда я мог бы использовать это как ... const div = a => b => a/b; const sum = a => a.reduce((a,...
51 просмотров
schedule 10.10.2021

Что такое zygo/meta/histo/para/futu/dyna/whatever-morphisms?
Есть ли их список с примерами, доступный человеку без обширных знаний теории категорий?
1488 просмотров

Как объединить два Observables, чтобы результат завершался, когда завершается любой из Observables?
У меня есть этот код: var s1 = new Subject<Unit>(); var s2 = new Subject<Unit>(); var ss = s1.Merge(s2).Finally(() => Console.WriteLine("Finished!")); ss.Subscribe(_ => Console.WriteLine("Next")); s1.OnNext(new Unit());...
5458 просмотров
schedule 25.04.2022

Ошибка проверки связанных переменных для комбинатора K
Недавно у меня появилась копия «Основы языков программирования», второе издание. На странице 29 в книге представлена ​​​​следующая грамматика для лямбда-исчисления со вкусом схемы: <expression> ::= <identifier> ::=...
78 просмотров

преобразовать флип-лямбда в термины SKI
У меня возникли проблемы с преобразованием лямбды для флипа в комбинаторы SKI (надеюсь, это имеет смысл). Вот моя конверсия: /fxy.fyx /f./x./y.fyx /f./x.S (/y.fy) (/y.x) /f./x.S f (/y.x) /f./x.S f (K x) /f.S (/x.S f) (/x.K x) /f.S (/x.S f) K /f.S...
718 просмотров

Роль комбинаторов в конкатенационных/молчаливых языках программирования
Какую именно роль выполняют комбинаторы высшего порядка (или производители функций) в конкатенации и неявное программирование ? Есть ли другой способ реализовать конкатенативный язык программирования, а не напрямую манипулировать стеком?...
2646 просмотров

Короткое замыкание (&&) в Haskell
Быстрый вопрос, который беспокоил меня в последнее время. Выполняет ли Haskell все проверки эквивалентности в функции, которая возвращает логическое значение, даже если оно возвращает ложное значение? Например f a b = ((a+b) == 2) &&...
3986 просмотров
schedule 06.08.2023

Откат в комбинаторах парсера scala?
Кажется, что комбинаторы синтаксического анализатора scala не отступают. У меня есть грамматика (см. внизу), которая не может правильно проанализировать следующий "stmt": copy in to out . Это должно быть легко разобрать с возвратом:...
1992 просмотров

У этого комбинатора есть имя?
Эта функция f принимает список аргументов и возвращает другой вызываемый объект с тем же списком аргументов, чтобы к нему можно было применить другие функции. from operator import add, mul def f(*a, **kw): return lambda g: g(*a, **kw)...
168 просмотров
schedule 26.01.2023

Версия без точек не компилируется, а версия с точечной компилируется?
Я хочу написать функцию Haskell, которая возвращает список, добавленный к самому себе, количество раз (например, lst * count в Python). Моя первая попытка: self_append_n :: Int -> [a] -> [a] self_append_n = concat . replicate Я...
140 просмотров

Как получить комбинатор Y через комбинатор S или другие?
У меня есть уравнение Y = FY (уравнение с фиксированной точкой). Как получить из него уравнение для F через другой комбинатор (в частности S-комбинатор с первым фиксированным параметром)?
59 просмотров

CSS + ~ › Комбинаторы не работают для изменения метки вкладки
Код ниже используется для создания вкладок: <ul class="tabs"> <li> <input type="radio" name="tabs" id="tab1" checked /> <label for="tab1">Campaigns</label> <div id="tab-content1" class="tab-content">...
310 просмотров
schedule 12.04.2023

Haskell: несоответствие типов композиции функций
У меня возникли проблемы с составом и типами функций. Я хотел бы составить filter (который возвращает список) с len , который принимает список в качестве аргумента (технически Foldable , но здесь я упрощаю). Глядя на типы, все, как и ожидалось:...
220 просмотров

Значение теряется слишком рано внутри замыкания и комбинатора, пока существует заем
Я столкнулся с проблемой, когда значение отбрасывается, пока оно все еще заимствовано внутри Option , в закрытии, но мне трудно понять, что именно происходит. Для иллюстрации вот рабочий пример того, чего я на самом деле пытаюсь достичь: fn...
960 просмотров

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