Исправление Sectoid, (текущая версия) :
Вон dotimes тупо разорачивается в goto. После чего компилятору нужно понять что это цикл, догадаться где условие выхода и тд
Таков стандарт CL. Хотя, наверное, можно было бы для случаев, когда не указан tag, не «разворачиваться» в label/goto. Но скорее это усложнение.
Потому что мешают оптимизации.
Надо смотреть результирующий асм-код. И, опять таки, это беда не всех макросов, а конкретно ECL'овской реализации dotimes.
Исходная версия Sectoid, :
Вон dotimes тупо разорачивается в goto. После чего компилятору нужно понять что это цикл, догадаться где условие выхода и тд
Таков [http://clhs.lisp.se/Body/m_dotime.htm]стандарт CL. Хотя, наверное, можно было бы для случаев, когда не указан tag, не «разворачиваться» в label/goto. Но скорее это усложнение.
Потому что мешают оптимизации.
Надо смотреть результирующий асм-код. И, опять таки, это беда не всех макросов, а конкретно ECL'овской реализации dotimes.