hudak-quote.rkt (1379B)
1 #lang racket/base 2 (require "main.rkt" 3 slideshow 4 slideshow/code 5 unstable/gui/slideshow) 6 7 (provide langs hudak-quote perlis-quote) 8 9 10 (define hudak-quote 11 (vr-append 10 (vl-append (t "“A domain specific language is the ultimate abstraction.” ")) 12 (t " — Paul Hudak"))) 13 14 (define perlis-quote 15 (vr-append 10 (vr-append (t "“There will always be things we wish to say in our programs") 16 (t "that in all known languages can only be said poorly.”")) 17 (t " — Alan Perlis"))) 18 19 (define p2 (vl-append (t "Racket ships more than") (t "40 documented languages"))) 20 (define p1 (lt-superimpose 21 (ghost p2) 22 (vl-append (t "In 6000+ files of") (t "Racket source code ...")))) 23 24 (define (langs) 25 (define p1+p2 (vl-append 10 p1 p2)) 26 (parameterize ([current-code-font 'default]) 27 (slide/staged [#;hudak one two] 28 ;#:title "Files in Racket" 29 ;#:layout 'tall 30 (cond 31 [(eq? stage-name 'hudak) 32 (mini-slide (vr-append 60 hudak-quote perlis-quote))] 33 [(eq? stage-name 'one) 34 (frame (langs-pict #f #:picts (list (lt-superimpose p1 (ghost p1+p2)))))] 35 [else 36 (langs-pict p1+p2)])))) 37 38 (module+ main 39 (langs)) 40