Лямбда, которую мы потеряли
Apr. 3rd, 2008 03:06 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Пара задачек по лямбда-исчислению.
(1) Сконструируйте лямбда-терм F, такой что для любого терма M выполнялось бы
(2) Сконструируйте лямбда-терм G, такой что для любых термов M и N выполнялось бы
Ответы не скринятся, так что если хотите думать сами - не смотрите в комменты.
(1) Сконструируйте лямбда-терм F, такой что для любого терма M выполнялось бы
FM = MF
(2) Сконструируйте лямбда-терм G, такой что для любых термов M и N выполнялось бы
GMN = NG(NMG)
Ответы не скринятся, так что если хотите думать сами - не смотрите в комменты.
no subject
Date: 2008-04-03 01:54 pm (UTC)А что летом у вас было?
no subject
Date: 2008-04-03 02:06 pm (UTC)А откуда у тебя в журнале реклама? От неё фокс глючит.
no subject
Date: 2008-04-03 02:24 pm (UTC)Реклама у меня из-за улучшенного аккаунта, а он из-за желания иногда картинок выложить. Я бы и платный оплатил - только лень и не знаю как :)
no subject
Date: 2008-04-03 03:07 pm (UTC)no subject
Date: 2008-04-03 02:08 pm (UTC)Так?
no subject
Date: 2008-04-03 02:20 pm (UTC)На самом деле чтобы сошлось надо
но лучше не изобретать Y-подобный велосипед, а сразу им (Y) пользоваться, как
no subject
Date: 2008-04-03 03:08 pm (UTC)no subject
Date: 2008-04-03 03:26 pm (UTC)Теорема 1. Для любого терма F существует терм X, такой что
Этот X мудрецы зовут неподвижной точкой.
Доказательство: Введём
тогда искомая неподвижная точка
Воистину, это так
no subject
Date: 2008-04-03 03:34 pm (UTC)такой что для любого F
Доказательство: Из предыдущей теоремы замечаем, что
no subject
Date: 2008-04-06 07:24 pm (UTC)А дальше что? Зачем нужны все эти неподвижные точки и Y-ки? Почему все так носятся с ними? Что пытаются доказать или выразить?
no subject
Date: 2008-04-06 07:56 pm (UTC)no subject
Date: 2008-04-07 03:15 pm (UTC)no subject
Date: 2008-04-07 03:48 pm (UTC)Для меня ЛИ - это база, на основе которой скорее всего родится разумная универсальная нотация для записи вычислительных алгоритмов. Потому что современные массовые прикладные языки программирования - это, конечно, что-то типа римских цифр до изобретения арабских. По степени стройности общей концепции :-)
no subject
Date: 2008-04-07 04:12 pm (UTC)no subject
Date: 2008-04-07 04:43 pm (UTC)По-моему так задачек побольше решать надо: SICP, YAHT стоит прочесть и упражнения прорешать (ну второе, конечно, не такое заслуженно именитое как первое). Первое, кстати, многие люди делают не только на Схеме, но и, параллельно, на Хаскелле.
>Не является ли утопией моя задумка иметь конвертор (Haskell, например) -> (C, например)?
Не очень понятно, зачем. Компилятор GHC сам по себе и есть почти что такой конвертер. И потом Хаскелл всё-таки ленивый язык, ему сишная модель исполнения не очень подходит.
no subject
Date: 2008-04-07 07:38 pm (UTC)>Не очень понятно, зачем
В данном случае просто интересно провернуть такую комбинацию:
исходник на Haskell->конвертор->исходник на С->целевое окружение, для которого ещё нет (и скорее всего не будет в ближайшее время) поддержки Haskell runtime.
А эту ленивость можно обойти? Не пользоваться ей, например? Или без ленивости получится как в С без указателей? :-)
no subject
Date: 2008-04-07 08:02 pm (UTC)Обойти-то всё можно, только зачем тогда Хаскелл?