Stepping OCaml

Tsukino Furukawa
(Ochanomizu University)
Youyou Cong
(Ochanomizu University)
Kenichi Asai
(Ochanomizu University)

Steppers, which display all the reduction steps of a given program, are a novice-friendly tool for understanding program behavior. Unfortunately, steppers are not as popular as they ought to be; indeed, the tool is only available in the pedagogical languages of the DrRacket programming environment.

We present a stepper for a practical fragment of OCaml. Similarly to the DrRacket stepper, we keep track of evaluation contexts in order to reconstruct the whole program at each reduction step. The difference is that we support effectful constructs, such as exception handling and printing primitives, allowing the stepper to assist a wider range of users. In this paper, we describe the implementation of the stepper, share the feedback from our students, and show an attempt at assessing the educational impact of our stepper.

In Peter Achten and Heather Miller: Proceedings Seventh International Workshop on Trends in Functional Programming in Education (TFPIE 2018), Chalmers University, Gothenburg, Sweden, 14th June 2018, Electronic Proceedings in Theoretical Computer Science 295, pp. 17–34.
Published: 18th June 2019.

ArXived at: http://dx.doi.org/10.4204/EPTCS.295.2 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org