История изменений
Исправление q0tw4, (текущая версия) :
Вот упрощенный пример этой баги:
Файл «test.rkt»
#lang racket
(require syntax/stx)
(provide test)
(define (test stx)
#`(begin #,@(stx-cdr stx) 1))
Следующий код не работает:
#lang racket
(require (for-syntax "test.rkt"))
(define-syntax (app-test stx)
(test stx))
> (app-test (print 3))
. test.rkt:8:5: begin: unbound identifier;
also, no #%app syntax transformer is bound
context...:
other binding...: in: begin
Вот что это за... Вот точно надо писать свой ракет, потому что нельзя делать ЯП вот так. На таком невозможно работать.
Исходная версия q0tw4, :
Вот упрощенный пример этой баги:
Файл «test.rkt»
#lang racket
(require syntax/stx)
(provide test)
(define (test stx)
#`(begin #,@(stx-cdr stx) 1))
Следующий код не работает:
#lang racket
(require (for-syntax "test.rkt"))
(define-syntax (app-test stx)
(test stx))
> (app-test (print 3))
. test.rkt:8:5: begin: unbound identifier;
also, no #%app syntax transformer is bound
context...:
other binding...: in: begin