  We present a framework for sandboxing and restricting features of the OCaml
programming language to effectively automate the grading of programming
exercises, scaling to hundreds of submissions. We describe how to disable
language and library features that should not be used to solve a given
exercise. We present an overview of an implementation of a mock IO system to
allow testing of IO-related exercises in a controlled environment. Finally, we
detail a number of security considerations to ensure submitted code remains
sandboxed, allowing automatic grading to be trusted without manual
verification. The source code of our implementation is publicly available.
