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