如何定义子窗体
How to define subidform
在 racket 中,我们有 defsubform
作为子表单,但是 defsubform
不接受像 bar
这样的表单,而只接受 (bar ...)
这是(清理后的)implementation of defsubform
#lang racket
(require scribble/core
scribble/decode)
(define (into-blockquote s)
(make-nested-flow (make-style "leftindent" null)
(if (splice? s)
(decode-flow (splice-run s))
(list s))))
(define-syntax (defsubform stx)
(syntax-case stx ()
[(_ . rest) #'(into-blockquote (defform . rest))]))
这表明您可以按如下方式实施 defsubidform
:
(define-syntax (defsubidform stx)
(syntax-case stx ()
[(_ . rest) #'(into-blockquote (defidform . rest))]))
在 racket 中,我们有 defsubform
作为子表单,但是 defsubform
不接受像 bar
这样的表单,而只接受 (bar ...)
这是(清理后的)implementation of defsubform
#lang racket
(require scribble/core
scribble/decode)
(define (into-blockquote s)
(make-nested-flow (make-style "leftindent" null)
(if (splice? s)
(decode-flow (splice-run s))
(list s))))
(define-syntax (defsubform stx)
(syntax-case stx ()
[(_ . rest) #'(into-blockquote (defform . rest))]))
这表明您可以按如下方式实施 defsubidform
:
(define-syntax (defsubidform stx)
(syntax-case stx ()
[(_ . rest) #'(into-blockquote (defidform . rest))]))