arrow
Return

Using GHC CORE to Normalise Student Programs

delete2026-01-01
delete0
PRE
AI
M
Matilda Blomqvist
A
Alex Gerdes *
DOI:10.1007/978-3-031-99751-8_22delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Ask-Elle is an online tutor for solving small programming exercises in Haskell. It provides feedback by first determining whether a student's submission matches one of the teacher-provided model solutions. However, Haskell's rich syntax allows for semantically equivalent but syntactically different programs, making direct comparison challenging. To address this, Ask-Elle applies normalizing program transformations to reduce such syntactic differences. Despite this, some correct programs remain unrecognised. We have developed a new approach to feedback generation that leverages GHC's internal transformations and warning messages. This method improves the recognition of correct programs while also being much faster. Additionally, we share our experiences using GHC as a library.
Keywords:
Programming tutor
Functional programming
Haskell
GHC
Program normalisation

Journal

T
TRENDS IN FUNCTIONAL PROGRAMMING, TFP 2025
IF:
0
Papers:
20
Citations:
0

Organization

U
uppsala university
Scholars:
3.7W
Papers: 3.4W
Citations: 47
U
University of Gothenburg
Scholars:
2.9K
Papers: 1.2K
Citations: 3.8W