Библиотека программиста
Marvin Borner, автор функционального ЯП Bruijn, в котором применяется лямбда-исчисление на основе ин...
Marvin Borner, автор функционального ЯП Bruijn, в котором применяется лямбда-исчисление на основе индекса де Брёйна (позволяет обойтись при построении программы без имён переменных), разработал новый язык программирования Birb.
Новый ЯП написан на Haskell и является полным по Тьюрингу. В Birb используется принцип комбинаторного программирования, в соответствии с которым любую вычислимую функцию можно представить в виде двух типовых комбинаторов.
Таким образом, при написании кода можно обойтись лямбда-исчислением, в котором применяются только комбинаторы, ассоциированные с эмоджи птиц, например:
🔹Сова "🦉" определяет выражение "λab.b(ab)", утка "🦆" - "λabc.c(ba)" и т. п.
🔹Синтаксис программы на Birb сводится к шаблону "[birb]+: Birb". Числа задаются с использованием кодирования Чёрча, например, 0 можно представить как "🐥🐦", 1 как "🪽🐧", а операцию 1+2 как "🐦🐦🕊️🐧🕊️🐧🐦🐧🕊️🐧🕊️🪽🐧🦢🐧🦢🐧🐥🐦🦢🐧🐥🐦".
💬Вы спросите: «Зачем он вообще нужен?». Конечно, для фана. Хотя, может, у кого-то есть другие объяснения?
🔗Подробнее
#новости