diff --git a/collects/scribblings/quick/images/exprs.dat b/collects/scribblings/quick/images/exprs.dat index 4c14ee6934..d5d390107e 100644 --- a/collects/scribblings/quick/images/exprs.dat +++ b/collects/scribblings/quick/images/exprs.dat @@ -3,75 +3,75 @@ ((1) 0 () 0 () () "art gallery") ((1) 0 () 0 () () "art gallery") ((1) 0 () 0 () () (c circle c 10)) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img0.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img0.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c rectangle c 10 c 20)) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img1.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img1.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c circle c 10 c 20)) ((1) 1 (((lib "exn.ss" "scribblings" "quick") . deserialize-info:mr-exn-v0)) 0 () () (0 "procedure circle: expects 1 argument, given 2: 10 20")) ((1) 0 () 0 () () (c hc-append c (c circle c 10) c (c rectangle c 10 c 20))) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img2.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img2.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c define c c c (c circle c 10))) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c define c r c (c rectangle c 10 c 20))) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () r) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img3.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img3.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c hc-append c c c r)) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img4.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img4.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c hc-append c 20 c c c r c c)) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img5.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img5.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c define c (c square c n) c (c filled-rectangle c n c n))) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c square c 10)) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img6.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img6.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c define c (c four c p) c (c define c two-p c (c hc-append c p c p)) c (c vc-append c two-p c two-p))) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c four c (c circle c 10))) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img7.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img7.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c define c (c checker c p1 c p2) c (c let c (c (c p12 c (c hc-append c p1 c p2)) c (c p21 c (c hc-append c p2 c p1))) c (c vc-append c p12 c p21)))) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c checker c (c colorize c (c square c 10) c "red") c (c colorize c (c square c 10) c "black"))) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img8.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img8.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c define c (c checkerboard c p) c (c let* c (c (c rp c (c colorize c p c "red")) c (c bp c (c colorize c p c "black")) c (c c c (c checker c rp c bp)) c (c c4 c (c four c c))) c (c four c c4)))) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c checkerboard c (c square c 10))) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img9.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img9.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () circle) ((1) 1 (((lib "struct.ss" "scribble") . deserialize-info:element-v0)) 0 () () (0 #f (c (u . "#")))) ((1) 0 () 0 () () (c define c (c series c mk) c (c hc-append c 4 c (c mk c 5) c (c mk c 10) c (c mk c 20)))) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c series c circle)) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img10.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img10.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c series c square)) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img11.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img11.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c series c (c lambda c (c size) c (c checkerboard c (c square c size))))) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img12.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img12.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c define c (c rgb-series c mk) c (c vc-append c (c series c (c lambda c (c sz) c (c colorize c (c mk c sz) c "red"))) c (c series c (c lambda c (c sz) c (c colorize c (c mk c sz) c "green"))) c (c series c (c lambda c (c sz) c (c colorize c (c mk c sz) c "blue")))))) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c rgb-series c circle)) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img13.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img13.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c rgb-series c square)) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img14.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img14.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c define c (c rgb-maker c mk) c (c lambda c (c sz) c (c vc-append c (c colorize c (c mk c sz) c "red") c (c colorize c (c mk c sz) c "green") c (c colorize c (c mk c sz) c "blue"))))) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c series c (c rgb-maker c circle))) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img15.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img15.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c series c (c rgb-maker c square))) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img16.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img16.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c list c "red" c "green" c "blue")) ((1) 0 () 0 () () (c "red" c "green" c "blue")) ((1) 0 () 0 () () (c list c (c circle c 10) c (c square c 10))) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 1 ("[image]") () (c (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img17.png" . unix)) (c (? . 0))))) c (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img18.png" . unix)) (c (? . 0))))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 1 ("[image]") () (c (0 #f (c (0 (1 (p+ #"images/img17.png" . unix)) (c (? . 0))))) c (0 #f (c (0 (1 (p+ #"images/img18.png" . unix)) (c (? . 0))))))) ((1) 0 () 0 () () (c define c (c rainbow c p) c (c map c (c lambda c (c color) c (c colorize c p c color)) c (c list c "red" c "orange" c "yellow" c "green" c "blue" c "purple")))) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c rainbow c (c square c 5))) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 1 ("[image]") () (c (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img19.png" . unix)) (c (? . 0))))) c (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img20.png" . unix)) (c (? . 0))))) c (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img21.png" . unix)) (c (? . 0))))) c (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img22.png" . unix)) (c (? . 0))))) c (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img23.png" . unix)) (c (? . 0))))) c (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img24.png" . unix)) (c (? . 0))))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 1 ("[image]") () (c (0 #f (c (0 (1 (p+ #"images/img19.png" . unix)) (c (? . 0))))) c (0 #f (c (0 (1 (p+ #"images/img20.png" . unix)) (c (? . 0))))) c (0 #f (c (0 (1 (p+ #"images/img21.png" . unix)) (c (? . 0))))) c (0 #f (c (0 (1 (p+ #"images/img22.png" . unix)) (c (? . 0))))) c (0 #f (c (0 (1 (p+ #"images/img23.png" . unix)) (c (? . 0))))) c (0 #f (c (0 (1 (p+ #"images/img24.png" . unix)) (c (? . 0))))))) ((1) 0 () 0 () () (c apply c vc-append c (c rainbow c (c square c 5)))) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img25.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img25.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c require c slideshow/flash)) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c filled-flash c 40 c 30)) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img26.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img26.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c require c (c planet c "random.ss" c (c "schematics" c "random.plt" c 1 c 0)))) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c random-gaussian)) @@ -79,11 +79,11 @@ ((1) 0 () 0 () () (c require c slideshow/code)) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c code c (c circle c 10))) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img27.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img27.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c define-syntax c pict+code c (c syntax-rules c () c (c (c pict+code c expr) c (c hc-append c 10 c expr c (c code c expr)))))) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c pict+code c (c circle c 10))) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img28.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img28.png" . unix)) (c "[image]"))))) ((1) 0 () 0 () () (c require c scheme/class c mred)) ((1) 0 () 0 () () (void)) ((1) 0 () 0 () () (c define c f c (c new c frame% c (c label c "My Art") c (c width c 300) c (c height c 300) c (c alignment c (c quote c (c center c center)))))) @@ -99,4 +99,4 @@ ((1) 0 () 0 () () (c add-drawing c (c colorize c (c filled-flash c 50 c 30) c "yellow"))) ((1) 1 (((lib "struct.ss" "scribble") . deserialize-info:element-v0)) 0 () () (0 #f (c (u . "#(struct:object:canvas% ...)")))) ((1) 0 () 0 () () (c scale c (c bitmap c (c build-path c (c collection-path c "scribblings/quick") c "art.png")) c 0.5)) -((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"/Users/mflatt/proj/plt/collects/scribblings/quick/images/img29.png" . unix)) (c "[image]"))))) +((1) 2 (((lib "struct.ss" "scribble") . deserialize-info:element-v0) ((lib "struct.ss" "scribble") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (p+ #"images/img29.png" . unix)) (c "[image]"))))) diff --git a/collects/scribblings/quick/mreval.ss b/collects/scribblings/quick/mreval.ss index df59cb5898..ef5c3b3f98 100644 --- a/collects/scribblings/quick/mreval.ss +++ b/collects/scribblings/quick/mreval.ss @@ -37,9 +37,7 @@ (define img-dir "images") ; relative to src dir ;; This one can be absolute: - (define exprs-dat-file (build-path (collection-path "scribblings") - "quick" - "images" + (define exprs-dat-file (build-path "images" "exprs.dat")) (define mr-eval-handler @@ -99,8 +97,7 @@ (define (fixup-picts v) (cond [(pict? v) - (let ([fn (build-path (collection-path "scribblings/quick") - img-dir + (let ([fn (build-path img-dir (format "img~a.png" image-counter))]) (set! image-counter (add1 image-counter)) (let* ([bm (make-object bitmap% diff --git a/collects/scribblings/reference/mz.ss b/collects/scribblings/reference/mz.ss index 5f7763f64a..0038ffd640 100644 --- a/collects/scribblings/reference/mz.ss +++ b/collects/scribblings/reference/mz.ss @@ -19,7 +19,7 @@ (provide AllUnix) (provide note-lib) - (define-syntax-rule (note-lib lib) + (define-syntax-rule (note-lib lib . more) (begin (declare-exporting lib scheme) (defmodule*/no-declare (lib) @@ -28,16 +28,18 @@ " and " (schememodname scheme) " libraries, but not " (schememodname scheme/base) - ".")))) + "." + . more)))) (provide note-lib-only) - (define-syntax-rule (note-lib-only lib) + (define-syntax-rule (note-lib-only lib . more) (defmodule lib (t "The bindings documented in this section are provided by the " (schememodname lib) " library, not " (schememodname scheme/base) " or " (schememodname scheme) - "."))) + "." + . more))) (define (*exnraise s) (make-element #f (list s " exception is raised"))) diff --git a/collects/scribblings/reference/units.scrbl b/collects/scribblings/reference/units.scrbl index cb6815ba7d..148b127ba6 100644 --- a/collects/scribblings/reference/units.scrbl +++ b/collects/scribblings/reference/units.scrbl @@ -38,7 +38,9 @@ itself imports variables that will be propagated to unresolved imported variables in the linked units, and re-exports some variables from the linked units for further linking. -@note-lib[scheme/unit] +@note-lib[scheme/unit]{The @schememodname[scheme/unit] module name can +be used as a language name with @schemefont{#lang}; see +@secref["single-unit"].} @local-table-of-contents[] @@ -623,3 +625,63 @@ Returns @scheme[#t] if @scheme[v] is a unit, @scheme[#f] otherwise.} Expands to a @scheme[provide] of all identifiers implied by the @scheme[sig-spec]s. See @scheme[unit] for the grammar of @scheme[sig-spec].} + +@; ------------------------------------------------------------------------ + +@section[#:tag "single-unit"]{Single-Unit Modules} + +When @schememodname[scheme/unit] is used as a language name with +@schemefont{#lang}, the module body is treated as a unit body. The +body must match the following @scheme[_module-body] grammar: + +@schemegrammar*[ +#:literals (import export require begin) +[module-body (code:line + require-decl ... + (import tagged-sig-expr ...) + (export tagged-sig-expr ...) + init-depends-decl + unit-body-expr-or-defn + ...)] +[require-decl (require require-spec ...) + (begin require-decl ...) + derived-require-form]] + +After any number of @scheme[_require-decl]s, the content of the module +is the same as a @scheme[unit] body. + +The resulting unit is exported as @scheme[_base]@schemeidfont["@"], +where @scheme[_base] is derived from the enclosing module's name +(i.e., its symbolic name, or its path without the directory and file +suffix). If the module name ends in @schemeidfont{-unit}, then +@scheme[_base] corresponds to the module name before +@schemeidfont{-unit}. Otherwise, the module name serves as +@scheme[_base]. + +@; ------------------------------------------------------------------------ + +@section{Single-Signature Modules} + +@defmodulelang[scheme/signature]{The @schememodname[scheme/signature] +language treats a module body as a unit signature.} + +The body must match the following @scheme[_module-body] grammar: + +@schemegrammar*[ +#:literals (require) +[module-body (code:line (require require-spec ...) ... sig-spec ...)] +] + +See @secref["creatingunits"] for the grammar of @scheme[_sig-spec]. +Unlike the body of a @schememodname[scheme/unit] module, a +@scheme[require] in a @schememodname[scheme/signature] module must be +a literal use of @scheme[require]. + + +The resulting signature is exported as +@scheme[_base]@schemeidfont["^"], where @scheme[_base] is derived from +the enclosing module's name (i.e., its symbolic name, or its path +without the directory and file suffix). If the module name ends in +@schemeidfont{-sig}, then @scheme[_base] corresponds to the module +name before @schemeidfont{-sig}. Otherwise, the module name serves as +@scheme[_base].