2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Поиграть с лямбда-исчислением
Сообщение23.02.2026, 18:17 
Когда-то давно (2008) написал странную приблуду: манипулятор для лямбда-выражений в графической нотации.
Я тогда думал, что если сделать нотацию полностью графической (без букв), то это поможет понять лямбда-исчисление даже не умеющим ещё читать детям.
Такие надежды конечно не оправдались.
Но среда эта осталась, и теперь получилось выложить её в веб, и можно поиграть в браузере: https://bntr.itch.io/visual-lambda
Думаю, может заинтересовать IT студентов, например.
Может, на кружке программирования старшеклассникам предложить. Там в т.ч. задания есть порешать: https://bntre.github.io/visual-lambda/# ... ce=puzzles
Еще песня про факториал получилась: https://www.youtube.com/watch?v=aRgu8S3Pnb8

 
 
 
 Re: Поиграть с лямбда-исчислением
Сообщение02.03.2026, 11:50 
Можно строить свои задания и делиться по урл, например: https://bntre.github.io/visual-lambda/# ... ezFuTJAAAA

 
 
 
 Re: Поиграть с лямбда-исчислением
Сообщение04.03.2026, 02:47 
Да, помню пузыри. По-моему, я на хабре это видел?

-- 04.03.2026, 02:57 --

Это прекрасно, но не упрощает:)

-- 04.03.2026, 03:04 --

Повычислял комбинатор неподвижной точки, веселюсь. Ещё была штука под названием "лямбдаскоп"(и пакет на Хаскеле)

 
 
 
 Re: Поиграть с лямбда-исчислением
Сообщение04.03.2026, 04:35 
Порекомендовал знакомым логикам.

 
 
 
 Re: Поиграть с лямбда-исчислением
Сообщение04.03.2026, 08:37 
george66 в сообщении #1719389 писал(а):
Порекомендовал знакомым логикам.

Спасибо. Наверное в ЖЖ видели. Как я до Хабра не догадался, туда же еще не совал это.

Картинку lambdascope вспомнил: http://rochel.info/lambdascope.jpg
https://web.archive.org/web/20051212005 ... ascope.pdf
До оптимальных редукций я не доходил.

Вот здесь каталог тоже хороший: https://github.com/prathyvsh/lambda-cal ... alizations

-- 04.03.2026, 08:44 --

george66 в сообщении #1719387 писал(а):
Это прекрасно, но не упрощает:)

Дал тут сыну 8-класснику порешать эти задачи: https://github.com/bntre/visual-lambda#puzzles
Он сходу решил половину. Как-то воодушевило. Вряд ли он в текстовом виде стал бы решать.

 
 
 
 Re: Поиграть с лямбда-исчислением
Сообщение04.03.2026, 21:16 
На хабре точно был обзор, потому что помню пузырьковую нотацию, хемлямбду и картинку с крокодилами.

 
 
 
 Re: Поиграть с лямбда-исчислением
Сообщение06.03.2026, 21:45 
Про разницу редукций где-то написано? А то я забыл, что такое applicative.
P.S. Нашёл, прошу прощения
https://bntr.planet.ee/lambda/work/visual_lambda.pdf

 
 
 
 Re: Поиграть с лямбда-исчислением
Сообщение07.03.2026, 06:47 
А подстановку
$let\,\, x=A\,\,in\,\, E$
нельзя ли изобразить по тому же принципу: рисовать
$A\,E$ или $A-E$
и окружать $A$ или $A-E$ в какой-нибудь, допустим, квадратик, покрашенный в тот же цвет, что переменная $x$? Или порядок действий с аппликацией будет неясен? Вы пробовали?

 
 
 
 Re: Поиграть с лямбда-исчислением
Сообщение09.03.2026, 10:36 
george66 в сообщении #1719557 писал(а):
Про разницу редукций где-то написано?

В вики тоже есть: https://en.wikipedia.org/wiki/Lambda_ca ... strategies
Если коротко: normal - сначала внешние, а applicative - сначала внутренние.

(normal неудобно, если не lazy: аргументы - если множатся - каждый потом считать заново;
а applicative неудобно, когда считается аргумент, а потом оказывается ненужным.)

-- 09.03.2026, 10:55 --

george66 в сообщении #1719563 писал(а):
Или порядок действий с аппликацией будет неясен? Вы пробовали?

Реализовать я смог только текущий вариант (все let референсы окрашены одинаково, а при deref получают уникальную окраску).

Но здесь в Future work пытался предложить вариант получше: visual_lambda.pdf#page=29
хотя шаг lift выглядит для нотации неестественно (аргумент N как-то чудно переползает с заднего плана на передний).

 
 
 [ Сообщений: 9 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group