Логотип Глаголицы

Глаголица

Функциональный язык программирования с синтаксисом на кириллице, написанный на F#.

О проекте

Глаголица (Glagol) — собственный функциональный язык программирования, реализованный в виде интерпретатора на F#. Все ключевые слова — на русском языке, что делает код читаемым и узнаваемым. Несмотря на необычный фасад, под ним — полноценный функциональный язык: рекурсия, замыкания, сопоставление с образцом, монадическая обработка ошибок, асинхронные и недетерминированные вычисления.

В рамках проекта разработаны: интерпретатор языка, набор примеров программ (вместе с эквивалентами на F#) и расширение для VS Code с подсветкой синтаксиса.

Реализованные возможности языка

Разделы документации

Документация языка

Синтаксис, типы, операторы, конструкции и встроенные функции.

Техническая реализация

Как устроен интерпретатор изнутри: парсер, AST, вычислитель, List-монада.

Примеры программ

15 программ на Глаголице с эквивалентами на F# — от факториала до асинхронности.

Расширение VS Code

Подсветка синтаксиса, иконка файлов .gl, запуск программ из редактора.

Команда разработчиков

Имя Группа Роль в проекте
Мартыч Иван М8О-203БВ-24 Тимлид, документация, расширение для VS Code, программист
Бахолдин Иван М8О-203БВ-24 Программист, примеры программ на языке Глаголица и F#
Романов Богдан М8О-203БВ-24 Программист, отладка языка, исправление багов

Предыстория языка

«Восстань, пророк, и виждь, и внемли,
Исполнись волею моей,
И, обходя моря и земли,
Глаголом жги сердца людей»

— А. С. Пушкин, «Пророк»

Глаголица — это функциональный язык программирования, написанный на F#. Когда мы обсуждали, каким будет наш функциональный язык, то сошлись на мнении, что он будет на русском языке, на кириллице — благо кодировка UTF-8 внутри F# это позволяет.

Название для языка родилось из простой мысли: в программировании всё строится на функциях, а функция — это действие. В русском языке часть речи, обозначающая действие, — это глагол. Так и появилась «Глаголица» — язык, где само название говорит о своей сути.

Но помимо названия, одна из самых запоминающихся деталей любого языка программирования — это его логотип. Поэтому мы не могли оставить «Глаголицу» без такого элемента, благодаря которому её будут узнавать.

Логотип Глаголицы