916 papers · page 29 of 46
Mike Thomas
The soft cover text An Introduction to Computing with Haskell with thirteen chapters, two appendices and an index on 145 pages of A4 is published on a 'print-on-demand' basis and available directly from the publishers in Sydney (at least in the sense that neither of the two large…
Mike Thomas
This book describes theoretical results about AnsProlog * that have been obtained over the past decade.AnsProlog * or Prolog with Answer Sets 1 is a variation of the Prolog programming language, and extends the language by allowing clauses of the form:in the program.The L i 's ar…
Janis Voigtländer, Armin Kühnemann
Many functional programs with accumulating parameters are contained in the class of macro tree transducers. We present a program transformation technique that can be used to solve the efficiency problems due to creation and consumption of intermediate data structures in compositi…
Eugene Wallingford
The soft cover text An Introduction to Computing with Haskell with thirteen chapters, two appendices and an index on 145 pages of A4 is published on a 'print-on-demand' basis and available directly from the publishers in Sydney (at least in the sense that neither of the two large…
Stephanie Weirich
Comparing two types for equality is an essential ingredient for an implementation of dynamic types. Once equality has been established, it is safe to cast a value from one type to another. In a language with run-time type analysis, implementing such a procedure is fairly straight…
Chris Angus
Trends in Functional Programming (volumes 1 & 2) by Greg Michaelson, Phil Trinder and Hans-Wolfgang Loidl (editors volume 1), and Stephen Gilmore (editor volume 2). Intellect Books, Bristol, 2001, 2002 - Volume 13 Issue 4
Gilles Barthe, Venanzio Capretta, Olivier Pons
Formalising mathematics in dependent type theory often requires to represent sets as setoids, i.e. types with an explicit equality relation. This paper surveys some possible definitions of setoids and assesses their suitability as a basis for developing mathematics. According to …
Eerke A. Boiten
Cristiano Calcagno, Eugenio Moggi, Tim Sheard
This paper addresses the issue of safely combining computational effects and multi-stage programming. We propose a type system which exploits a notion of closed type , to check statically that an imperative multi-stage program does not cause run-time errors. Our approach is demon…
Daniel Damian, Olivier Danvy
We show that a non-duplicating transformation into Continuation-Passing Style (CPS) has no effect on control-flow analysis, a positive effect on binding-time analysis for traditional partial evaluation, and no effect on binding-time analysis for continuation-based partial evaluat…
Daniel Damian, Olivier Danvy
We characterize the impact of a linear $\beta$ -reduction on the result of a control-flow analysis. (By ‘a linear $\beta$ -reduction’ we mean the $\beta$ -reduction of a linear $\lambda$ -abstraction, i.e., of a $\lambda$ -abstraction whose parameter occurs exactly once in its bo…
Conal Elliott, Sigbjørn Finne, Oege de Moor
Functional languages are particularly well-suited to the interpretive implementations of Domain-Specific Embedded Languages (DSELs). We describe an implemented technique for producing optimizing compilers for DSELs, based on Kamin's idea of DSELs for program generation. The techn…
Matthias Felleisen
Education matters. The lack of education on functional programming languages and techniques is visible on a daily basis. Our students, co-workers, friends, and colleagues just don't know enough about these ideas and therefore often fail to implement the best possible solutions fo…
Jean-Christophe Filliâtre
We study the problem of certifying programs combining imperative and functional features within the general framework of type theory. Type theory is a powerful specification language which is naturally suited for the proof of purely functional programs. To deal with imperative pr…
Jean-Christophe Filliâtre, François Pottier
We present functional implementations of Koda and Ruskey's algorithm for generating all ideals of a forest poset as a Gray code. Using a continuation-based approach, we give an extremely concise formulation of the algorithm's core. Then, in a number of steps, we derive a first-or…
Adam Fischbach, John Hannan
We present a formal and general specification of lambda lifting and prove its correctness with respect to a call-by-name operational semantics. We use this specification to prove the correctness of a lambda lifting algorithm similar to the one proposed by Johnsson. Lambda lifting…
Bernd Fischer, Johann Schumann
Data analysis is an important scientific task which is required whenever information needs to be extracted from raw data. Statistical approaches to data analysis, which use methods from probability theory and numerical analysis, are well-founded but difficult to implement: the de…
Erick Gallesio, Manuel Serrano
This paper presents Biglook, a widget library for an extended version of the Scheme programming language. It uses classes of a Clos-like object layer to represent widgets and Scheme closures to handle graphical events. Combining functional and object-oriented programming styles y…
Gaétan Hains
Having been out of academia for a number of years, I jumped at the chance to review these volumes, seeing this as an opportunity to get back up to speed with what was happening with the functional programming community.To give you some background, the point where I left to join i…
Ralf Hinze
When I was a student, Simula was one of the languages taught in introductory programming language courses and I vividly remember a sticker one of our instructors had attached to the door of his office, saying “Simula does it with class”. I guess the same holds for Haskell except …