Описание тега combinatory-logic
Combinatory logic is a model of computation equivalent to the lambda calculus, but without abstraction.
2
ответа
Переводчик Haskell для языка System T Combinator
В предыдущем вопросе о компиляторе SystemT и работе с бесконечными типами в Haskell я спросил о том, как анализировать лямбда-исчисление SystemT в SystemT Combinators. Я решил использовать простые алгебраические типы данных для кодирования как лямбд…
01 янв '19 в 15:25
2
ответа
Утилита Haskell для освобождения функции
Я хотел бы быстро и правильно сократить функции, чтобы указывать свободную форму в Haskell. Я бы предпочел производить довольно читаемые результаты. Как я должен идти об этом?
24 янв '15 в 21:43
1
ответ
Эквивалентно методу #tap Руби в Scala
В Ruby есть метод, который позволяет нам наблюдать конвейер значений без изменения базового значения: # Ruby list.tap{|o| p o}.map{|o| 2*o}.tap{|o| p o} Есть ли такой метод в Scala? Я считаю, что это называется Kestrel Combinator, но не уверен.
24 май '13 в 19:10
1
ответ
Реализация комбинаторного исчисления
концепция Я реализую интерпретатор, который позволяет пользователю определять произвольные комбинаторы и применять их к произвольным терминам. Например, пользователь может определить кодировку Черча для пар, введя следующие определения комбинатора: …
10 июн '14 в 22:26
0
ответов
Понимание функции eval, используемой для определения комбинаторов и выражений (лямбда) в Haskell
Я нашел использование сопоставления с образцом для eval (App x y) избыточно, так как оба случая вернутся App x y, Интересно, если eval (App x y) нужен вообще, потому что у нас есть eval x = x в конце, который также должен включать eval (App x y) dat…
26 янв '19 в 06:58
1
ответ
Как разобрать строку в GADT
Я пытаюсь реализовать Combinatory Logic в Haskell, и я хотел бы написать в парсер для языка. У меня проблемы с получением парсера для работы через Parsec. Основная проблема заключается в том, что мне нужен способ обеспечить правильную типизацию объе…
17 окт '12 в 22:39
1
ответ
Экспресс XOR в комбайнах SKI
Я пытаюсь решить наверняка, но вы можете кататься на лыжах на Codewars. Это собирается выразить лямбда в комбинаторах SKI. Источник находится по адресу https://repl.it/@delta4d/SKI. После некоторых исследований, особенно в " Комбинаторной логике", я…
30 апр '18 в 07:37
3
ответа
Тип вывода для перегруженных функций - карри
Данный вызываемый объект (функция) aи аргумент b (или ряд аргументов), я хотел бы вывести тип, возвращаемый из f учитывая, что f перегружен множеством подписей. одна из моих многочисленных попыток #include <iostream> #include <cstdint> #…
05 дек '13 в 23:39
2
ответа
Представление лямбда-исчисления в NLTK CCG
Я пытаюсь реализовать вероятностный CGG с функциями лямбда-исчисления. В основном я хочу сделать следующий код: >> lex = parseLexicon(r''' :- S,NP He => NP {sem=\x.he(x)} [1.0] Walks => S\NP {sem=\X. walk(X)} [1.0] There => S\S {sem=\…
09 ноя '14 в 15:37
1
ответ
Шаблон в бессмысленном комбинаторе, как это связано с исчислением SKI
В качестве упражнения я преобразовал следующий комбинатор в бессмысленную запись: h f g x y z = f x (g y z) с обычным соглашением f, g, h как функции, и x, y, z как выражения. (Это не домашняя проблема, а просто для удовольствия и для того, чтобы по…
16 мар '14 в 14:00
1
ответ
Компилятор SystemT и работа с бесконечными типами в Haskell
Я слежу за этим сообщением в блоге: http://semantic-domain.blogspot.com/2012/12/total-functional-programming-in-partial.html Здесь показана небольшая программа компилятора OCaml для System T (простой тотальный функциональный язык). Весь конвейер при…
17 ноя '18 в 08:54
1
ответ
Реализация арифметических птиц Смулляна в Хаскеле
В поисках информации о книге Рэймонда Смулляна " Чтобы издеваться над пересмешником" я наткнулся на код Хаскелла Стивена Тетли для основных комбинаторов. Я подумал, что это интересная идея, и решил реализовать "птиц, которые могут делать арифметику"…
04 фев '14 в 19:37
1
ответ
Что делает этот комбинатор: s (s k)
Теперь я понимаю тип подписи s (s k): s (s k) :: ((t1 -> t2) -> t1) -> (t1 -> t2) -> t1 И я могу создавать примеры, которые работают без ошибок в инструменте Haskell WinGHCi: Пример: s (s k) (\g -> 2) (\x -> 3) возвращается 2, П…
12 мар '12 в 09:40
1
ответ
Как рекурсивно определить обобщенную функцию проекции?
Функции проекции, такие как id (1 P 1) и const (2 P 1) очень полезны в функциональном программировании. Однако иногда вам нужны более сложные проекционные функции, такие как 5 P 4. Вы можете написать это вручную в точечном стиле, как a => b =>…
29 июл '18 в 09:11
3
ответа
Сигнатура типа комбинатора не совпадает с сигнатурой типа эквивалентной лямбда-функции
Рассмотрим этот комбинатор: S (S K) Применим это к аргументам X Y: S (S K) X Y Он заключает контракт с: X Y Я преобразовал S (S K) в соответствующие лямбда-члены и получил такой результат: (\x y -> x y) Я использовал инструмент Haskell WinGHCi, ч…
06 мар '12 в 21:26
1
ответ
Найдите функции Хаскелла f, g такие, что f g = f . г
Изучая Haskell, я столкнулся с проблемой найти две функции f а также gтакой, что f g а также f . g эквивалентны (и всего, поэтому такие вещи, как f = undefined или же f = (.) f не в счет). Данное решение таково, что f а также g оба равны \x -> x …
26 янв '19 в 03:55
2
ответа
Определить форму как имя функции?
Я хотел бы знать, что этот код означает на схеме: (define ((K x) y) x) (define (((S x) y) z) ((x z) (y z))) Весь файл здесь. Это правовая схема? Является ли (K x) параметризованной функцией, что-то вроде универсальных функций в Java? Я посмотрел ссы…
25 окт '13 в 08:16
0
ответов
Тип рекурсивно-типизированных функций на Цейлоне
Есть ли способ добиться каких-то рекурсивно-типизированных функций на Цейлоне? Например, я могу определить комбинаторную логику на Цейлоне безопасным для типов способом, например, так: class Fi(shared Fi(Fi) o) { } Fi veritas = Fi((Fi t) => Fi((F…
31 окт '17 в 04:58
0
ответов
Комбинаторная логическая библиотека для корректоров?
Я работаю над некоторыми вводными упражнениями комбинаторной логики, используя Coq. Я написал для нее грубую библиотеку, но она не очень эффективна. Существует ли библиотека комбинаторной логики для Coq или других помощников? Определения комбинаторо…
29 сен '14 в 05:58
1
ответ
Вывод типа для модели данных исчисления скала-комбинатора
Я пробую очень легкое кодирование исчисления комбинаторов в scala. Изначально я просто реализую комбинаторы S и K, приложение и постоянные значения. Позже я надеюсь поднять функции scala и разрешить оценку выражения как функции scala. Однако это на …
25 дек '10 в 01:21