/common-lisp-representer

Primary LanguageCommon LispGNU Affero General Public License v3.0AGPL-3.0

Common Lisp Representer

(c.f. For full details and up to date documentation on automated representers for Exercism see the Automated Analysis repository.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

Interface

(.c.f. The Representer Interface)

The /opt/representer/bin/run.sh script that the docker image runs receives two parameters:

  1. the test slug
  2. the input directory namestring. This directory contains the submitted code.
  3. the output directory namestring. This directory will be writable.

The script MUST write the following files to the directory:

  1. representation.txt: a normalized representation of the submitted code. All symbols must be replaced by generated symbols.
  2. mapping.json: maps the generated symbols in representation.txt to the original symbols.

The output of the script MAY write the following files to the directory:

  1. representation.out: any information that may want to view later for debugging.

The script MAY produce output to stdout and stderr which will be persisted for later.