{"size": 1498, "ext": "scrbl", "max_stars_repo_path": "redex-doc/redex/scribblings/long-tut/long-tut.scrbl", "max_stars_repo_name": "LiberalArtist/redex", "max_stars_repo_stars_event_min_datetime": "2018-07-29T04:13:52.000Z", "max_stars_repo_stars_event_max_datetime": "2022-02-14T16:11:17.000Z", "max_issues_repo_path": "redex-doc/redex/scribblings/long-tut/long-tut.scrbl", "max_issues_repo_name": "LiberalArtist/redex", "max_issues_repo_issues_event_min_datetime": "2017-08-25T20:26:37.000Z", "max_issues_repo_issues_event_max_datetime": "2022-02-26T17:48:40.000Z", "max_forks_repo_path": "redex-doc/redex/scribblings/long-tut/long-tut.scrbl", "max_forks_repo_name": "LiberalArtist/redex", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 10, "max_issues_count": 15, "max_forks_count": null, "avg_line_length": 27.2363636364, "max_line_length": 102, "alphanum_fraction": 0.6635514019}
#lang scribble/manual

@(require racket/runtime-path)

@(require (for-label redex/reduction-semantics))

@; ---------------------------------------------------------------------------------------------------
@title[#:tag "redex2015"]{Long Tutorial}

This tutorial is derived from a week-long Redex summer school,
run July 27–31, 2015 at the University of Utah.

@include-section{mon-mor.scrbl}
@include-section{mon-aft.scrbl}
@include-section{lab-mon-aft.scrbl}

@include-section{tue-mor.scrbl}
@include-section{lab-tue-mor.scrbl}

@include-section{tue-aft.scrbl}
@include-section{lab-tue-aft.scrbl}

@include-section{wed-mor.scrbl}
@include-section{lab-wed-mor.scrbl}

@include-section{wed-aft.scrbl}
@include-section{lab-wed-aft.scrbl}

@include-section{thu.scrbl}

@(define (load-it file)
   (apply
    typeset-code
    (call-with-input-file file
      (λ (port)
        (for/list ([l (in-lines port)])
          (string-append l "\n"))))))

@(define-runtime-path common.rkt "code/common.rkt")
@section[#:tag "common.rkt"]{@filepath{common.rkt}}
@(load-it common.rkt)


@(define-runtime-path close.rkt "code/close.rkt")
@section[#:tag "close.rkt"]{@filepath{close.rkt}}
@(load-it close.rkt)

@(define-runtime-path tc-common.rkt "code/tc-common.rkt")
@section[#:tag "tc-common.rkt"]{@filepath{tc-common.rkt}}
@(load-it tc-common.rkt)

@(define-runtime-path extend-lookup.rkt "code/extend-lookup.rkt")
@section[#:tag "extend-lookup.rkt"]{@filepath{extend-lookup.rkt}}
@(load-it extend-lookup.rkt)
