Современные языки программирования умеют работать только с линейным текстом — хоть как выкручивайся, геометрические идеи приходится описывать строчками символов. Группа разработчиков во главе с Leif Andersen считает, что пора менять подход. Нужны гибридные языки, которые позволяют создавать собственные визуальные синтаксические конструкции и свободно мешать их с обычным кодом. Важно, чтобы оба вида синтаксиса были равноправны, а расширение языка не ломало привычный рабочий процесс и статическую типизацию.
Авторы представили Hybrid ClojureScript — первый язык такого типа. Он даёт программистам добавлять интерактивный визуальный синтаксис прямо в исходный текст. Специальная гибридная IDE отображает эти вставки как миниатюрные GUI-элементы, с которыми можно взаимодействовать. Если же запустить код в обычной среде разработки, те же самые конструкции превратятся в текстовое представление — ничего не сломается.
В статье аргументируют, почему механизм расширения на визуальные конструкции вообще нужен, и демонстрируют, что подход реально внедрить. Отдельно обсуждается, что потребуется, чтобы перенести такую систему в другие языки — не только в ClojureScript. Идея в том, чтобы дать разработчикам возможность «рисовать» код, не отказываясь от привычных текстовых инструментов и не жертвуя статическим анализом.