Stepping OCaml

06/27/2019
by   Tsukino Furukawa, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/24/2023

Smart tutor to provide feedback in programming courses

Artificial Intelligence (AI) is becoming more and more popular as time p...
research
02/11/2021

An Inquisitive Code Editor for Addressing Novice Programmers' Misconceptions of Program Behavior

Novice programmers face numerous barriers while attempting to learn how ...
research
03/05/2018

A Theorem Prover for Scientific and Educational Purposes

We present a prototype of an integrated reasoning environment for educat...
research
09/21/2018

onlineSPARC: a Programming Environment for Answer Set Programming

Recent progress in logic programming (e.g., the development of the Answe...
research
01/12/2020

Securing Bring-Your-Own-Device (BYOD) Programming Exams

Traditional pen and paper exams are inadequate for modern university pro...
research
02/25/2023

An Educational Tool for Exploring the Pumping Lemma Property for Regular Languages

Pumping lemma has been a very difficult topic for students to understand...

Please sign up or login with your details

Forgot password? Click here to reset