{"size": 813, "ext": "scrbl", "max_stars_repo_path": "www/notes/hustle.scrbl", "max_stars_repo_name": "dvanhorn/www", "max_stars_repo_stars_event_min_datetime": null, "max_stars_repo_stars_event_max_datetime": null, "max_issues_repo_path": "www/notes/hustle.scrbl", "max_issues_repo_name": "dvanhorn/www", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "www/notes/hustle.scrbl", "max_forks_repo_name": "dvanhorn/www", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": null, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 21.972972973, "max_line_length": 87, "alphanum_fraction": 0.6642066421}
#lang scribble/manual

@(require (for-label (except-in racket ...)))
@(require redex/pict
          racket/runtime-path
          scribble/examples
	  "hustle/semantics.rkt"
	  "utils.rkt"
	  "ev.rkt"
	  "../utils.rkt")

@(define codeblock-include (make-codeblock-include #'h))

@(for-each (λ (f) (ev `(require (file ,(path->string (build-path notes "hustle" f))))))
	   '() #;'("interp.rkt" "compile.rkt" "asm/interp.rkt" "asm/printer.rkt"))

@title[#:tag "Hustle"]{Hustle: heaps and lists}

@;codeblock-include["hustle/ast.rkt"]

@centered[(render-language H)]


@section{Meaning of Hustle programs}

@(judgment-form-cases #f)

@centered[(render-judgment-form 𝑯-𝒆𝒏𝒗)]

@centered[(render-metafunction 𝑯-𝒑𝒓𝒊𝒎 #:contract? #t)]



@;codeblock-include["hustle/interp.rkt"]

@;codeblock-include["hustle/compile.rkt"]
