-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.rkt
39 lines (34 loc) · 1.14 KB
/
main.rkt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#lang racket
(require "private/setup.rkt"
"private/introduction.rkt"
"private/open-compiler.rkt"
"private/stx-obj.rkt"
"private/expander.rkt"
"private/module.rkt"
"private/existing-cool-things.rkt"
"private/ide-cool-things.rkt"
"private/thanks.rkt"
slideshow)
(introduction)
(expander)
(with-title "Syntax Objects: Representing Scope" (open-compiler-part2))
(stx-obj)
(module-system)
(with-title "Recap: the essentials of a modern macro system"
(slide
(vl-append
(vl-append
20
(t "Recap:")
(t " • The Expander: a driver loop for front-end compilation")
(t " • Syntax Objects: data structure representing the AST")
(hbl-append (t " • The Module System: dependencies across compile")
(parameterize ([current-main-font (cons 'superscript (current-main-font))])
(t "n"))
(t " times")))
(blank 0 100)
(t "Now: what can we do with all this?"))))
(existing-cool-things)
(ide-cool-things)
(thanks)
(printf "~a milliseconds to build the slideshow\n" (current-process-milliseconds))