{"size": 1003, "ext": "scrbl", "max_stars_repo_path": "redex-doc/redex/scribblings/long-tut/lab-wed-aft.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/lab-wed-aft.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/lab-wed-aft.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.8611111111, "max_line_length": 102, "alphanum_fraction": 0.5842472582}
#lang scribble/manual

@(require "shared.rkt")

@; ---------------------------------------------------------------------------------------------------
@title[#:tag "lab-wed-aft"]{@bold{Lab} Machine Transitions}

@goals[
@item{develop the CESK machine}
]

@common[]

In addition to @seclink["common.rkt"], you also want to @racket[require]
@seclink["close.rkt"] for this lab. Furthermore, if you copy code
from @secref{wed-aft}, make sure to copy the tests and to adapt the tests
as you develop the machines.

@; -----------------------------------------------------------------------------
@section[#:tag "lwa" #:style 'unnumbered]{Exercises}

@exercise["ex:cesk"]{Equip the language with assignment statements and
@racket[void]:
@;%
@(begin
#reader scribble/comment-reader
(racketblock
(define-extended-language Assignments Lambda
  (e ::= .... n + (void) (set! x e))
  (n ::= natural))
))
@;%

Start with the CS reduction system and develop the CESK
machine, re-tracing the above machine derivation.}
