1. Show docs Quick - to checkerboard example - click hc-append to land in Slideshow reference manual - back up and click `let' to land in Scheme reference manual - click `list' in example with `let' - note consistent reference format - click `any/c' to go to contract documentation - show GUI documentation in MrEd, which documents classes, where `class' is a library-implemeted extension to the Scheme language 2. Show "quick.scrbl" implementation - Start with code implementing docs for `checker' - Note imports at top of file - "mreval.ss" supplies `mr...eval' - `for-label scheme/base' determines `define' binding 3. Show `module' - scheme => eager lambda - lazy => lazy lambda - Check Syntax to go to right `lambda' spec - htdp-beginner => first-order lambda - Check Syntax again 4. #lang - scheme - lazy - honu (not S-expressions) - Show typechecking, which is implemented via macros - Use #lang scheme ' trick 5. Summary so far: - syntaxtic extension creates new documentation *problems* (which lambda?) - syntactic extension also supports the *solution* 6. Running scribble: - #lang scribble/doc Hello - run scribble - @(define x "Hello") @x - @(require scribble/manual) @title{Greeting} ... - @scheme[(lambda (x) 10)] 7. scribble/doc and @ notation - use #lang scribble/doc - "Hello World" => a document - @-escape: @(define x "hi"), @x => same sort of document - @(require scribble/manual), @(define x @bold{hello}) - @title[#:tag "beginning"]{Greetings@bold{!}} ... @secref["beginning"] 8. typesetting code - defproc, scheme, and for-label imports - Derived forms, like defparam, which rely on lexical scope 9. JavaDoc-style docs: file/gif.ss