Add support for define-syntax/doc to duck.

This commit is contained in:
Dominik Pantůček 2023-07-06 18:42:48 +02:00
parent d4657ad3b6
commit 396e2d9896

View file

@ -35,7 +35,16 @@
(chicken syntax))
(define-syntax duck-extract-defines
(syntax-rules (define define/doc make-parameter define* define*/doc)
(syntax-rules
(define define/doc
make-parameter
define* define*/doc
define-syntax define-syntax/doc)
((_ (define-syntax id transformer))
(define-syntax id transformer))
((_ (define-syntax/doc id doc transformer))
(define-syntax id transformer))
((_ (define var val))
(define var val))
((_ (define/doc var doc val))
@ -63,7 +72,9 @@
expr)))
(define-syntax duck-extract-doc
(syntax-rules (define/doc make-parameter define*/doc)
(syntax-rules (define/doc make-parameter define*/doc define-syntax/doc)
((_ (define-syntax/doc id doc transformer))
(list 'STX 'id `doc))
((_ (define/doc (proc . args) doc expr ...))
(list 'FUN 'proc `doc 'args))
((_ (define*/doc (proc . args) doc expr ...))