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:
3.2K
Papers: 1.4K
Citations: 3.8W
Cited Papers

Cited Papers

err
IF0
err
err0
PREAI
err
errShare
errSave
The BlueJ System and its Pedagogy
err2010-08-09
err0
PREAI
errMichael Kölling; Bruce Quig; Andrew Patterson; John Rosenberg
errShare
errSave
Compiler error messages
err2008-03-12
err0
PREAI
errMarie-Hélène Nienaltowski; Michela Pedroni; Bertrand Meyer
errShare
errSave
err
IF0
err
err0
PREAI
err
errShare
errSave
err
IF0
err
err0
PREAI
err
errShare
errSave
A multi-national, multi-institutional study of assessment of programming skills of first-year CS students
err2001-12-01
err0
errOAAI
errMichael McCracken; Vicki Almstrum; Danny Diaz; Mark Guzdial; Dianne Hagan; Yifat Ben-David Kolikant; Cary Laxer; Lynda Thomas; Ian Utting; Tadeusz Wilusz
errShare
errSave
QuickCheck
err2000-09-01
err0
errOAAI
errKoen Claessen; John Hughes
errShare
errSave
researcher View more