Recto – A Truly 2D Language
Recto — язык, где код — это вложенные прямоугольники. Он не читается сверху вниз, а воспринимается пространственно: структура и рекурсия задаются формой, а не текстом.
Идея
Большинство языков — линейны: слова идут одно за другим. Recto отказывается от этой традиции и возвращается к древним «картам мыслей» — пиктограммам, звёздным картам, схемам. Главное требование к языку:
- Понятен человеку и машине.
- Может быть создан человеком и машиной.
Линейность не обязательна: можно представить «приложение», где жест или выражение лица превращается в сетку эмодзи, и всё работает.
Примеры
- Hello Recto — прямоугольник, внутри которого текст
Hello Recto
. - Арифметика — прямоугольники-числа и операторы встраиваются друг в друга, образуя выражения.
- Факториал — рекурсивный прямоугольник ссылается на себя.
Почему это важно
Recto показывает, как можно писать, парсить и мыслить кодом без строк и файлов. Он открывает путь к языкам, где значение рождается из формы, а не последовательности символов.
Попробовать: Recto Pad | Google Colab | GitHub
Комментарии (58)
- Участники обсуждают Recto как «2D-язык», но многие считают его всё же 1D с «скобками и лишними шагами».
- Поднимаются примеры других 2D/3D-языков: PATH, Befunge, Hexagony, Orca, Unreal Blueprints, Racket 2d.
- Спор о том, считать ли нотный стан или речь по-настоящему многомерными; автор статьи настаивает на их 1D-основе.
- Предлагаются улучшения: полноценная графическая среда, Unicode-рамки, поддержка VR/AR, именованные параметры.
- Упомянуты эксперименты с «временем» как измерением (EmiT, ICFPC 2024).
- Автору пожелали сил в борьбе с раком и скинули ссылки на GoFundMe и CaringBridge.