Получил одну из последних подсказок от заморских мудрецов американских университетов (ибо экстремисты): оказывается, метапрограммирование имеет свои сорта точно как сорта имеются в модальной логике!!1 Это пожалуй один из самых глубоких инсайтов в современной теории типов.
S4: легендарная работа "A Judgmental Reconstruction of Modal Logic"
(ссылку даю на свой страх и риск, ибо за чтение Карнеги-Меллона (где была например уникально компактно формализована семантика OCaml), тоже вскоре отправишься за решётку): staged metaprogramming (MetaOCaml).
Пространственная модальность: распределённое метапрограммирование (генерация RPC).
Темпоральная модальность: мета-реактивщина, FRP, событийные архитектуры.
Агенту: текущий API - тип A (пространственный), для новой фичи B сгенерируй миграцию из A в темпоральную B с гарантией, что после выполнения миграции темпоральная B становится пространственной B.
Контекстная модальность: всевозможные тьюринг-полные темплейты вроде плюсовских.
Вложенная модальность: мета-мета, генераторы генераторов генераторов.
GL Гёдель-Лёб: Код который модифицирует сам себя.
Агенты в метапрограммировании пока вообще не тянут, путают логические уровни, и тут единственная работающая схема -- давать им инструкции как модальные типы. Например, сгенерируй систему которая проходит все тесты инвариантов, а если они падают, вызываешь regenerate(failed_invariant), и заново пускаешь тесты.
Или, агент получает "уровень 2 - уровень 1 - уровень 0, спека только на уровне 2" и генерирует правильно с первой попытки. Экономия токенов в десятки раз.
Всё это разбираем с ментатами на "Функциональных архитектурах", а моё ноу-хау в том, что чтобы выбрать правильную модальность для задачи и сформулировать ограничения уровней для агента -- это скилл уровня PhD :)
Это то, что никакой сеньор со столетним опытом точно не сделает, потому что даже не знает, что модальности бывают разные, а так-то не знает скорее всего, что вообще модальности бывают :)
А я дам ментатам тупой пошаговый алгоритм всей этой меты (в мире пока никто): повышаем мастерство, не прокачивая скиллы (ну разве что мой трек по гомотопической теории типов надо будет пройти предварительно :).
Post #2337
691

- 👍 38
- 🤯 7
- ✍ 6
- ❤ 1