English
Related papers

Related papers: Teaching Introductory Functional Programming Using…

200 papers

Functional languages have provided major benefits to the verification community. Although features such as purity, a strong type system, and computational abstractions can help guide programmers away from costly errors, these can present…

Programming Languages · Computer Science 2018-03-29 Bernd Finkbeiner , Felix Klein , Ruzica Piskac , Mark Santolucito

This tutorial introduces a new and powerful set of techniques variously called "neural machine translation" or "neural sequence-to-sequence models". These techniques have been used in a number of tasks regarding the handling of human…

Computation and Language · Computer Science 2017-03-07 Graham Neubig

Function encoders are a recent technique that learn neural network basis functions to form compact, adaptive representations of Hilbert spaces of functions. We show that function encoders provide a principled connection to feature learning…

Machine Learning · Computer Science 2025-09-26 Su Ann Low , Quentin Rommel , Kevin S. Miller , Adam J. Thorpe , Ufuk Topcu

This study examines how AI code assistants shape novice programmers experiences during a two-part exam in an introductory programming course. In the first part, students completed a programming task with access to AI support; in the second,…

Emerging Technologies · Computer Science 2025-08-11 Sergio Rojas-Galeano , Julian Tejada , Fernando Marmolejo-Ramos

Haskell functions are defined as a series of clauses consisting of patterns that are matched against the arguments in the order of definition. In case an input is not matched by any of the clauses, an error occurs. Therefore it is desirable…

Programming Languages · Computer Science 2019-09-11 Pavel Kalvoda , Tom Sydney Kerckhove

We present our approach to teaching functional programming to First Year Computer Science students at Middlesex University through projects in robotics. A holistic approach is taken to the curriculum, emphasising the connections between…

Computers and Society · Computer Science 2016-11-30 J. Boender , E. Currie , M. Loomes , G. Primiero , F. Raimondi

How difficult are interactive theorem provers to use? We respond by reviewing the formalization of Hilbert's tenth problem in Isabelle/HOL carried out by an undergraduate research group at Jacobs University Bremen. We argue that, as…

Logic in Computer Science · Computer Science 2021-06-24 Jonas Bayer , Marco David , Abhik Pal , Benedikt Stock

An undergraduate compilers course poses significant challenges to students, in both the conceptual richness of the major components and in the programming effort necessary to implement them. In this paper, I argue that a related…

Computers and Society · Computer Science 2014-12-02 John H. E. Lasseter

In principle, the design of transition-based dependency parsers makes it possible to experiment with any general-purpose classifier without other changes to the parsing algorithm. In practice, however, it often takes substantial software…

Computation and Language · Computer Science 2012-11-02 Alex Rudnick

Goedel's functional "Dialectica" interpretation can be used to extract functional programs from non-constructive proofs in arithmetic by employing two sorts of higher-order witnessing terms: positive realisers and negative counterexamples.…

Logic in Computer Science · Computer Science 2011-01-31 Trifon Trifonov

In this position paper, we present a prototype of a visualizer for functional programs. Such programs, whose evaluation model is the reduction of an expression to a value through repeated application of rewriting rules, and which tend to…

Programming Languages · Computer Science 2024-11-04 John Whitington , Tom Ridge

Linear type systems have a long and storied history, but not a clear path forward to integrate with existing languages such as OCaml or Haskell. In this paper, we study a linear type system designed with two crucial properties in mind:…

Programming Languages · Computer Science 2017-11-09 Jean-Philippe Bernardy , Mathieu Boespflug , Ryan R. Newton , Simon Peyton Jones , Arnaud Spiwack

We present an implementation in the functional programming language Haskell of the PLE decomposition of matrices over division rings. Our benchmarks indicate that it is competitive with the C-based implementation provided in Flint.…

Mathematical Software · Computer Science 2017-08-14 Alexandru Ghitza , Martin Raum

Program slicing provides explanations that illustrate how program outputs were produced from inputs. We build on an approach introduced in prior work by Perera et al., where dynamic slicing was defined for pure higher-order functional…

Programming Languages · Computer Science 2017-09-12 Wilmer Ricciotti , Jan Stolarek , Roly Perera , James Cheney

Debugging lazy functional programs poses serious challenges. In support of the "stop, examine, and resume" debugging style of imperative languages, some debugging tools abandon lazy evaluation. Other debuggers preserve laziness but present…

Programming Languages · Computer Science 2011-08-25 Stephen Chang , John Clements , Eli Barzilay , Matthias Felleisen

Continual learning enables incremental learning of new tasks without forgetting those previously learned, resulting in positive knowledge transfer that can enhance performance on both new and old tasks. However, continual learning poses new…

Machine Learning · Computer Science 2023-08-01 Dawid Rymarczyk , Joost van de Weijer , Bartosz Zieliński , Bartłomiej Twardowski

We study sequential programs that are instruction sequences with dynamically instantiated instructions. We define the meaning of such programs in two different ways. In either case, we give a translation by which each program with…

Programming Languages · Computer Science 2010-01-12 J. A. Bergstra , C. A. Middelburg

What is the computational model behind a Transformer? Where recurrent neural networks have direct parallels in finite state machines, allowing clear discussion and thought around architecture variants or trained models, Transformers have no…

Machine Learning · Computer Science 2021-07-20 Gail Weiss , Yoav Goldberg , Eran Yahav

This study presents a systematic approach to specifying data objects with the help of initial algebras. The primary aim is to describe the set-up to be found in modern functional programming languages such as Haskell and ML, although it can…

Logic in Computer Science · Computer Science 2009-09-22 Chris Preston

This paper presents Haskell#, a coordination language targeted at the efficient implementation of parallel scientific applications on loosely coupled parallel architectures, using the functional language Haskell. Examples of applications,…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-08-21 Francisco Heron de Carvalho Junior , Rafael Dueire Lins