1#lang scribble/manual
2
3@(require racket/runtime-path)
4
5@(require (for-label redex/reduction-semantics))
6
7@; ---------------------------------------------------------------------------------------------------
8@title[#:tag "redex2015"]{Long Tutorial}
9
10This tutorial is derived from a week-long Redex summer school,
11run July 27–31, 2015 at the University of Utah.
12
13@include-section{mon-mor.scrbl}
14@include-section{mon-aft.scrbl}
15@include-section{lab-mon-aft.scrbl}
16
17@include-section{tue-mor.scrbl}
18@include-section{lab-tue-mor.scrbl}
19
20@include-section{tue-aft.scrbl}
21@include-section{lab-tue-aft.scrbl}
22
23@include-section{wed-mor.scrbl}
24@include-section{lab-wed-mor.scrbl}
25
26@include-section{wed-aft.scrbl}
27@include-section{lab-wed-aft.scrbl}
28
29@include-section{thu.scrbl}
30
31@(define (load-it file)
32   (apply
33    typeset-code
34    (call-with-input-file file
35      (λ (port)
36        (for/list ([l (in-lines port)])
37          (string-append l "\n"))))))
38
39@(define-runtime-path common.rkt "code/common.rkt")
40@section[#:tag "common.rkt"]{@filepath{common.rkt}}
41@(load-it common.rkt)
42
43
44@(define-runtime-path close.rkt "code/close.rkt")
45@section[#:tag "close.rkt"]{@filepath{close.rkt}}
46@(load-it close.rkt)
47
48@(define-runtime-path tc-common.rkt "code/tc-common.rkt")
49@section[#:tag "tc-common.rkt"]{@filepath{tc-common.rkt}}
50@(load-it tc-common.rkt)
51
52@(define-runtime-path extend-lookup.rkt "code/extend-lookup.rkt")
53@section[#:tag "extend-lookup.rkt"]{@filepath{extend-lookup.rkt}}
54@(load-it extend-lookup.rkt)
55