Язык программирования Birb, состоящий только из emoji-значков птиц
Дата публикации:Thu, 14 Sep 2023 08:03:59 +0300
Марвин Бёрнер (Marvin Borner), автор функционального языка программирования Bruijn, в котором применяется лямбда-исчисление на основе индекса Брюйна, позволяющего обойтись при построении программы без имён переменных, разработал новый язык программирования Birb, в котором программа формируется только из emoji-значков разных птиц. Код реализации написан на языке Haskell и распространяется под лицензией MIT.
Язык является полными по Тьюрингу и разработан по мотивам книги Рэймонда Смаллиана "Передразнить пересмешника и другие логические загадки, включая увлекательное путешествие в комбинаторную логику" ("To Mock a Mockingbird"), в которой комбинаторная логика поясняется с использованием типовых комбинаторов, которым присвоены названия птиц.
В языке Birb используется принцип комбинаторного программирования, в соответствии с которым любую вычислимую функцию можно представить в виде двух типовых комбинаторов. Таким образом, при написании кода программ можно обойтись лямбда-исчислением, в котором применяются только комбинаторы, ассоциированные с emoji-значками с изображением птиц. Например, сова "" определяет выражение "λab.b(ab)", утка "" - "λabc.c(ba)" и т.п.
Синтаксис программы сводится к шаблону "[birb]+: Birb". Числа задаются с использованием кодирования Чёрча, например, 0 можно представить как "", 1 как "🪽", а операцию 1+2 как "🪽". Все символы, отличные от emoji птиц, обрабатываются как комментарии. Пример программы на языке Bird:
wrapper for `1+(++0)`
wrapper for `add ++(++0)`
🪽 add
inc
inc
zero
inc
zero
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=59753