История изменений
Исправление monk, (текущая версия) :
Тоже будет работать, но нет.
Можно и такой:
(define-syntax (loop stx)
(syntax-case stx ()
((loop for var from n1 to n2 when cond collect res)
(with-syntax ((it (datum->syntax stx 'it)))
(syntax
(for*/list ([var (in-range n1 n2)]
[it (in-value var)]
#:when cond)
res))))))
Исходная версия monk, :
Тоже будет работать, но нет.
Можно и такой:
(define-syntax (loop stx)
(syntax-case stx ()
((loop for var from n1 to n2 when cond collect res)
(with-syntax ((it (datum->syntax stx 'it)))
(syntax
(for/list ([var (in-range n1 n2)]
#:when cond
[it (in-value var)])
res))))))