metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-07-19 09:25 am

Кодогенерация и метапрограммирование

Все-таки, несмотря на то, что функциональные языки (F#, в моем случае) очень удобны для кодогенерации - кодогенераторы получаются не очень адекватными.
Или огромные классы для описания AST целевых языков и сборка из них нужного кода, затем его pretty-printing или тупой вывод текста по шаблонам. В обоих случаях - код очень малочитабелен.
Для кодогенерации нужен какой-то специфический DSL, да еще с адаптацией под целевые языки.
В случае с метапрограммированием вроде его роль выполняет quasi-quotation, но там в итоге получается код только на том же языке на котором пишешь.

[identity profile] xeno-by.livejournal.com 2011-07-19 08:02 am (UTC)(link)
Подскажите, пожалуйста, для MPS есть альтернативный туториал? Уже не в первый раз пытаюсь осилить официальный гайд, но моск взрывается раньше, чем дохожу даже до середины.

[identity profile] osdm.livejournal.com 2011-07-19 08:08 am (UTC)(link)
К сожалению, не знаю. Если узнаю, отпишусь.

[identity profile] theiced.livejournal.com 2011-07-19 08:59 am (UTC)(link)
всё нормально. ваш моск просто проникается ненужностью этого поделия и отказывается тратить время дальше.