commit 01a237406ad87127ffd4bf5f145d7316fc5b5fcc
parent ba61cf64e8547393e21cbf751033cba81316900f
Author: Vincent St-Amour <stamourv@racket-lang.org>
Date: Fri, 17 Jun 2011 14:03:38 -0400
Add more scribble forms that evaluate code and display the results.
original commit: 7e9dbded4c89c5e95945e2f91653fab0b58a0390
Diffstat:
2 files changed, 48 insertions(+), 0 deletions(-)
diff --git a/collects/scribble/eval.rkt b/collects/scribble/eval.rkt
@@ -9,8 +9,11 @@
interaction0
interaction-eval
interaction-eval-show
+ racketblock+interaction
racketblock+eval (rename-out [racketblock+eval schemeblock+eval])
+ racketblock0+interaction
racketblock0+eval
+ racketmod+interaction
racketmod+eval (rename-out [racketmod+eval schememod+eval])
def+int
defs+int
@@ -434,6 +437,16 @@
(syntax-case stx ()
[(H e ...) (syntax/loc stx (-interaction H e ...))]))
+(define-syntax racketblock+interaction
+ (syntax-rules ()
+ [(_ #:eval ev name e ...)
+ (let ([eva ev])
+ (#%expression
+ (begin (interaction #:eval eva e) ...
+ (racketblock name e ...))))]
+ [(_ name e ...)
+ (racketblock+interaction #:eval (make-base-eval) name e ...)]))
+
(define-syntax racketblock+eval
(syntax-rules ()
[(_ #:eval ev e ...)
@@ -444,6 +457,16 @@
[(_ e ...)
(racketblock+eval #:eval (make-base-eval) e ...)]))
+(define-syntax racketblock0+interaction
+ (syntax-rules ()
+ [(_ #:eval ev name e ...)
+ (let ([eva ev])
+ (#%expression
+ (begin (interaction #:eval eva e) ...
+ (racketblock0 name e ...))))]
+ [(_ name e ...)
+ (racketblock0+interaction #:eval (make-base-eval) name e ...)]))
+
(define-syntax racketblock0+eval
(syntax-rules ()
[(_ #:eval ev e ...)
@@ -453,6 +476,16 @@
[(_ e ...)
(racketblock0+eval #:eval (make-base-eval) e ...)]))
+(define-syntax racketmod+interaction
+ (syntax-rules ()
+ [(_ #:eval ev name e ...)
+ (let ([eva ev])
+ (#%expression
+ (begin (interaction #:eval eva e) ...
+ (racketmod name e ...))))]
+ [(_ name e ...)
+ (racketmod+interaction #:eval (make-base-eval) name e ...)]))
+
(define-syntax racketmod+eval
(syntax-rules ()
[(_ #:eval ev name e ...)
diff --git a/collects/scribblings/scribble/eval.scrbl b/collects/scribblings/scribble/eval.scrbl
@@ -84,18 +84,33 @@ Like @racket[interaction-eval], but produces an element representing
the printed form of the evaluation result.}
+@defform*[[(racketblock+interaction datum ...)
+ (racketblock+interaction #:eval eval-expr datum ...)]]{
+
+Combines @racket[racketblock] and @racket[interaction].}
+
@defform*[[(racketblock+eval datum ...)
(racketblock+eval #:eval eval-expr datum ...)]]{
Combines @racket[racketblock] and @racket[interaction-eval].}
+@defform*[[(racketblock0+interaction datum ...)
+ (racketblock0+interaction #:eval eval-expr datum ...)]]{
+
+Combines @racket[racketblock0] and @racket[interaction].}
+
@defform*[[(racketblock0+eval datum ...)
(racketblock0+eval #:eval eval-expr datum ...)]]{
Combines @racket[racketblock0] and @racket[interaction-eval].}
+@defform*[[(racketmod+interaction datum ...)
+ (racketmod+interaction #:eval eval-expr datum ...)]]{
+
+Combines @racket[racketmod] and @racket[interaction].}
+
@defform*[[(racketmod+eval name datum ...)
(racketmod+eval #:eval eval-expr name datum ...)]]{