Using GHC core to Normalise Student Programs
Paper i proceeding, 2026

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.

Functional programming

Haskell

GHC

Program normalisation

Programming tutor

Författare

Matilda Blomqvist

Uppsala universitet

Alex Gerdes

Chalmers, Data- och informationsteknik, Funktionell programmering

Göteborgs universitet

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

03029743 (ISSN) 16113349 (eISSN)

Vol. 15652 LNCS 511-532
9783031997501 (ISBN)

26th International Symposium on Trends in Functional Programming, TFP 2025
Oxford, United Kingdom,

Ämneskategorier (SSIF 2025)

Programvaruteknik

DOI

10.1007/978-3-031-99751-8_22

Mer information

Senast uppdaterat

2025-10-31