История изменений
Исправление staseg, (текущая версия) :
То, что генерация С++ в С++ задача более сложное чем генерация в CL в CL, я думаю вы спорить не будете
Все очень неоднозначно. Несомненно, генерировать сразу АСД проще, чем генерировать исходник ЯВУ, однако принципиально во втором нет ничего сложного, пара лишних строк. Кроме того многие макрописатели грешат написанием read-only макросов, даже в твоем тривиальном примере навскидку сложно понять, что делает макрос, потому что выходной шаблон перемешан с логикой генерации.
`(defun ,name ,args ,body) - понятно,
`(defun ,arg ,(loop ... ) ,@(yoba)) - не понятно.
Это касалось простой генерации по набору однозначных правил. Если ты возьмешься генерировать что-то сложное, ты и в CL, и в C++ будешь генерировать свое АСД, которое в несколько этапов оптимизации переводить в конечный язык.
Исходная версия staseg, :
То, что генерация С++ в С++ задача более сложное чем генерация в CL в CL, я думаю вы спорить не будете
Все очень неоднозначно. Несомненно, генерировать сразу АСД проще, чем генерировать исходник ЯВУ, однако принципиально во втором нет ничего сложного, пара лишних строк. Кроме того многие макрописатели грешат написанием read-only макросов, даже в твоем тривиальном примере навскидку сложно понять, что делает макрос, потому что выходной шаблон перемешан с логикой генерации.
`(defun ,name ,args ,body) - понятно,
`(defun ,arg ,(loop ... ) ,@(yoba)) - не понятно.
Это касалось простой генерации по набору однозначных правил. Если ты возьмешься генерировать что-то сложное, ты и в CL, и в C++ будешь генерировать свое АСД, которое в несколько этапов оптимизации переводить в конечный язык.