2
ответа

Церковная цифра для дополнения

Я застреваю в следующем шаге. Будет замечательно, если кто-то может выручить меня: 2 = λfx.f (f x) 3 = λfx.f (f (f x)) ADD = λm n f x. m f (n f x) Мои шаги: (λm n f x. m f (n f x)) (λf x.f (f (f x)...
вопрос задан: 25 October 2017 12:08
1
ответ

Закрытия и универсальная квантификация

Я пытался разработать, как реализовать закодированные церковью типы данных в Scala. Кажется, что это требует типов разряда-n, так как Вам была бы нужна первоклассная функция константы forAll a. типа-> (...
вопрос задан: 2 August 2016 16:06
0
ответов

Как использовать церковное кодирование для свободных монад?

Я использую бесплатный тип данных в Control.Monad.Free из бесплатного пакета. Сейчас я пытаюсь преобразовать его для использования F в Control.Monad.Free.Church, но не могу понять, как отобразить функции. За ...
вопрос задан: 9 May 2019 00:36
0
ответов

Практические причины церковного кодирования

Церковное кодирование (он же Visitor Pattern) - это способ представления данных в виде функций: вместо данных T = C1 F1 F2 | C2 F3 F4 вы можете определить данные T = T (для всего r. (F1 -> F2 -> r) -> (F3 -> ...
вопрос задан: 9 December 2018 04:03
0
ответов

Арифметика с церковными числами

Я работаю через SICP, и проблема 2.6 поставила меня в затруднительное положение. Имея дело с числами Чёрча, концепция кодирования нуля и 1 как произвольных функций, удовлетворяющих определенным ...
вопрос задан: 14 May 2014 12:17
0
ответов

Списки церквей в Haskell

Мне пришлось реализовать функцию отображения haskell для работы со списками церквей, которые определяются следующим образом: type Churchlist tu = (t->u->u)->u->u In lambda В лямбда-исчислении списки кодируются как ...
вопрос задан: 16 September 2012 22:29
0
ответов

Вычитание церковных цифр в haskell

Я пытаюсь реализовать церковные цифры в Haskell, но у меня возникла небольшая проблема. Haskell жалуется на бесконечный тип с проверкой Occurs: не удается построить бесконечный тип: t = (t -> t1) -> (...
вопрос задан: 6 July 2011 11:38