{"size": 1105, "ext": "scrbl", "max_stars_repo_path": "handin-server/scribblings/checker-utils.scrbl", "max_stars_repo_name": "ccshan/handin", "max_stars_repo_stars_event_min_datetime": "2015-12-02T17:34:36.000Z", "max_stars_repo_stars_event_max_datetime": "2017-09-01T00:49:49.000Z", "max_issues_repo_path": "handin-server/scribblings/checker-utils.scrbl", "max_issues_repo_name": "ccshan/handin", "max_issues_repo_issues_event_min_datetime": "2015-09-10T12:23:13.000Z", "max_issues_repo_issues_event_max_datetime": "2021-09-28T20:36:51.000Z", "max_forks_repo_path": "handin-server/scribblings/checker-utils.scrbl", "max_forks_repo_name": "ccshan/handin", "max_forks_repo_forks_event_min_datetime": "2016-08-08T14:28:45.000Z", "max_forks_repo_forks_event_max_datetime": "2022-01-12T23:50:38.000Z"}
{"max_stars_count": 5, "max_issues_count": 27, "max_forks_count": 6, "avg_line_length": 31.5714285714, "max_line_length": 71, "alphanum_fraction": 0.7773755656}
#lang scribble/doc
@(require "common.rkt")

@title[#:style 'toc]{Checker Utilities}

The checker utilities are provided to make writing checker functions.
They are provided in a few layers, each layer provides new
functionality in addition to the lower one.  These modules are (in
order):

@itemize[

@item{@racketmodname[racket/sandbox]: is the basic sandbox
  evaluation code, which is the basic functionality checkers build on.}

@item{@racketmodname[handin-server/sandbox]: contains a wrapper that
  configures the Racket sandbox for the handin server.}

@item{@racketmodname[handin-server/utils]: contains additional
  utilities for dealing with handin submissions, as well as a few
  helpers for testing code.}

@item{@racketmodname[handin-server/checker]: automates the task of
  creating a checker function (in
  @filepath{<active-assignment>/checker.rkt} modules) to cope with
  common submission situations.}]

The following sections describe each of these modules.

@local-table-of-contents[]

@include-section["sandbox.scrbl"]
@include-section["utils.scrbl"]
@include-section["checker.scrbl"]
