История изменений
Исправление byko3y, (текущая версия) :
«Read macro» у меня сейчас в моей питоньей либе.
Можно ссылку на описание? Или как оно работает?
Например:
https://stackoverflow.com/questions/43571737/how-to-implement-an-import-hook-...
Питон штатно позволяет полностью перехватывать загрузку модуля. То есть, там может быть абсолютно рандомный ЯП, с которым загрузчик может сделать что угодно, в том числе распарсить модулем AST, изменить его содержание, и закинуть результат в обычный список питоньих модулей. Правда, я не уверен, что можно аналогичным образом перехватывать ввод из консольного интерпретатора.
Кто такое говорил? Он был первым, кто умеет в DSL. Но в целом языков с макросами много. От Nemerle до попсового Rust
Он не просто был «первым, кто умеет» — он вообще был самым первым в своем классе. Пора бы закопать уже.
Исходная версия byko3y, :
«Read macro» у меня сейчас в моей питоньей либе.
Можно ссылку на описание? Или как оно работает?
Например:
https://stackoverflow.com/questions/43571737/how-to-implement-an-import-hook-...
Питон штатно позволяет полностью перехватывать загрузку модуля. То есть, там может быть абсолютно рандомный ЯП, с которым загрузчик может сделать что угодно, в том числе распарсить модулем AST, изменить его содержание, и закинуть результат в обычный список питоньих модулей. Правда, я не уверен, что можно аналогичным образом перехватывать ввод из консольного интерпретатора.