English
Related papers

Related papers: Evaluating Haskell expressions in a tutoring envir…

200 papers

Since its birth as a new scientific body of knowledge in the late 1950s, computer programming has become a fundamental skill needed in many other disciplines. However, programming is not easy, it is prone to errors and code re-use is key…

Programming Languages · Computer Science 2026-02-20 Paulo R. Pereira , Jose N. Oliveira

In the age of artificial intelligence (AI), providing learners with suitable and sufficient explanations of AI-based recommendation algorithm's output becomes essential to enable them to make an informed decision about it. However, the…

Human-Computer Interaction · Computer Science 2024-02-14 Hasan Abu-Rasheed , Christian Weber , Madjid Fathi

Large language models (LLMs) present an opportunity to scale high-quality personalized education to all. A promising approach towards this means is to build dialog tutoring models that scaffold students' problem-solving. However, even…

Computation and Language · Computer Science 2024-07-15 Nico Daheim , Jakub Macina , Manu Kapur , Iryna Gurevych , Mrinmaya Sachan

Multi-stage programming is a proven technique that provides predictable performance characteristics by controlling code generation. We propose a core semantics for Typed Template Haskell, an extension of Haskell that supports multi staged…

Programming Languages · Computer Science 2021-12-08 Matthew Pickering , Andres Löh , Nicolas Wu

In large programming classes, it takes a significant effort from teachers to evaluate exercises and provide detailed feedback. In systems programming, test cases are not sufficient to assess exercises, since concurrency and resource…

Computers and Society · Computer Science 2024-11-07 Roberto Natella

We present a method to simplify expressions in the context of an equational theory. The basic ideas and concepts of the method have been presented previously elsewhere but here we tackle the difficult task of making it efficient in…

Logic in Computer Science · Computer Science 2020-03-16 Baudouin Le Charlier

In-context learning (ICL) performs tasks by prompting a large language model (LLM) using an instruction and a small set of annotated examples called demonstrations. Recent work has shown that precise details of the inputs used in the ICL…

Computation and Language · Computer Science 2023-07-18 Anirudh Ajith , Chris Pan , Mengzhou Xia , Ameet Deshpande , Karthik Narasimhan

Despite recent progress in artificial intelligence and machine learning, many state-of-the-art methods suffer from a lack of explainability and transparency. The ability to interpret the predictions made by machine learning models and…

Machine Learning · Computer Science 2021-11-10 Zihan Wang , Jialin Lu , Oliver Snow , Martin Ester

We propose an amortized analysis that approximates the resource usage of a Haskell expression. Using the plugin API of GHC, we convert the Haskell code into a simplified representation called GHC Core. We then apply a type-based system…

Programming Languages · Computer Science 2019-08-20 Franz Siglmüller

Introducing computational thinking in primary school curricula implies that teachers have to prepare appropriate lesson material. Typically this includes creating programming tasks, which may overwhelm primary school teachers with lacking…

Computers and Society · Computer Science 2023-06-27 Luisa Greifenstein , Ute Heuer , Gordon Fraser

Hallucinations are a key concern when creating applications that rely on Foundation models (FMs). Understanding where and how these subtle failures occur in an application relies on evaluation methods known as \textit{evals}. Prior work…

Artificial Intelligence · Computer Science 2025-12-08 Dilani Widanapathiranage , Scott Barnett , Stefanus Kurniawan , Wannita Takerngsaksiri

We describe a method for deepening a student's understanding of basic physics by asking the student to express physical ideas in a functional programming language. The method is implemented in a second-year course in computational physics…

Computers and Society · Computer Science 2014-12-17 Scott N. Walck

Auxiliary function is a helpful component to improve language model's code generation ability. However, a systematic exploration of how they affect has yet to be done. In this work, we comprehensively evaluate the ability to utilize…

Software Engineering · Computer Science 2024-03-19 Seonghyeon Lee , Sanghwan Jang , Seongbo Jang , Dongha Lee , Hwanjo Yu

Intelligent tutoring systems have long enabled automated immediate feedback on student work when it is presented in a tightly structured format and when problems are very constrained, but reliably assessing free-form mathematical reasoning…

Computers and Society · Computer Science 2026-01-08 Aron Gohr , Marie-Amelie Lawn , Kevin Gao , Inigo Serjeant , Stephen Heslip

We present a deterministic small-step operational semantics for miniKanren that explicitly represents the evolving search tree during execution. This semantics models interleaving and goal scheduling at fine granularity, allowing each…

Programming Languages · Computer Science 2025-10-20 Brysen Pfingsten , Jason Hemann

We introduce SentEval, a toolkit for evaluating the quality of universal sentence representations. SentEval encompasses a variety of tasks, including binary and multi-class classification, natural language inference and sentence similarity.…

Computation and Language · Computer Science 2018-03-16 Alexis Conneau , Douwe Kiela

In this paper, we introduce methods of encoding propositional logic programs in vector spaces. Interpretations are represented by vectors and programs are represented by matrices. The least model of a definite program is computed by…

Artificial Intelligence · Computer Science 2018-11-29 Chiaki Sakama , Hien D. Nguyen , Taisuke Sato , Katsumi Inoue

Program comprehension is the most tedious and time consuming task of software maintenance, an important phase of the software life cycle. This is particularly true while maintaining scientific application programs that have been written in…

Software Engineering · Computer Science 2007-05-23 Sandrine Blazy

Large language models show improved downstream task performance when prompted to generate step-by-step reasoning to justify their final answers. These reasoning steps greatly improve model interpretability and verification, but objectively…

Computation and Language · Computer Science 2023-09-13 Olga Golovneva , Moya Chen , Spencer Poff , Martin Corredor , Luke Zettlemoyer , Maryam Fazel-Zarandi , Asli Celikyilmaz

This paper is a tutorial introducing the underlying technology and the use of the tool Liquid Haskell, a type-checker for the functional language Haskell that can help programmers to verify non-trivial properties of their programs with a…

Programming Languages · Computer Science 2017-01-13 Ricardo Peña