LINUX.ORG.RU

История изменений

Исправление dimgel, (текущая версия) :

Все кому надо – делают.

официальный API для AST

В scala макросы встроены в язык уже очень давно. В C++ есть clang libtooling, умеющий в трансформации как на лету в процессе компиляции, так и сорцы в сорцы (src в target/src.transformed, лично я пришёл к предпочтению этого подхода). Для жавы – можно форкать lombok, чтобы добавить в него свои трансформации (цеплять пользовательские макросы как плагины он не умеет), а можно сорцы в сорцы с помощью JavaParser. В расте, тут когда-то рассказывали, макросы тоже встроены в язык, но на вход им подаётся нетипизированное AST.

Что до идиотских аргументов против, они не новы:

Меньше всего мейнстриму нужны языки с возможностью вводить новые конструкции. Разраб уволился, а код поддердивать некому ибо сперва надо изучить его макросы.

kremator666 (18.05.2011 16:25:58)

Меньше всего мейнстриму нужны языки с возможностью вводить новые функции и процедуры. Разраб уволился, а код поддердивать некому ибо сперва надо изучить его процедуры и функции.

// fixed

KRoN73 ***** (18.05.2011 16:58:38)

Меньше всего мейнстриму программисты. Разраб уволился, а код поддердивать некому ибо сперва надо нанять другого.

// fixed

//fixd

nCdy (18.05.2011 17:05:08)

Меньше всего нужны люди. Нет человека — нет проблемы.

Fixed. Слава роботам!

anonymous (18.05.2011 17:11:47)

Исходная версия dimgel, :

Все кому надо – делают.

официальный API для AST

В scala макросы встроены в язык уже очень давно. В C++ есть clang libtooling, умеющий в трансформации как на лету в процессе компиляции, так и сорцы в сорцы (src в target/src.transformed, лично я пришёл к предпочтению этого подхода). Для жавы – можно форкать lombok, чтобы добавить в него свои трансформации (цеплять пользовательские макросы как плагины он не умеет), а можно сорцы в сорцы с помощью JavaParser. В расте, тут когда-то рассказывали, макросы тоже встроены в язык, но на вход им подаётся нетипизированное AST.