916 papers · page 17 of 46
Matthias Felleisen
With this issue of the Journal of Functional Programming , we transition to a new leadership. Xavier Leroy, who has faithfully served as co-Editor in Chief since 2007, is stepping down. After a short apprenticeship over the past year, Benjamin Pierce is taking his place.
Matthew Flatt, Ryan Culpepper, David Darais, Robert Bruce Findler
Abstract Racket is a large language that is built mostly within itself. Unlike the usual approach taken by non-Lisp languages, the self-hosting of Racket is not a matter of bootstrapping one implementation through a previous implementation, but instead a matter of building a towe…
Michael Greenberg, Benjamin C. Pierce, Stephanie Weirich
Abstract Since Findler and Felleisen (Findler, R. B. & Felleisen, M. 2002) introduced higher-order contracts , many variants have been proposed. Broadly, these fall into two groups: some follow Findler and Felleisen (2002) in using latent contracts, purely dynamic checks that are…
Jurriaan Hage
My main reason for wanting to read this book was to find out what a well-known publicist from the world of OO would have to say about the state of the art of domain specific languages (DSLs), in particular when it comes to type error feedback, functional programming, and the comb…
Fritz Henglein
Abstract We introduce the notion of discrimination as a generalization of both sorting and partitioning, and show that discriminators (discrimination functions) can be defined generically , by structural recursion on representations of ordering and equivalence relations . Discrim…
David Van Horn, Matthew Might
Abstract We describe a derivational approach to abstract interpretation that yields novel and transparently sound static analyses when applied to well-established abstract machines for higher-order and imperative programming languages. To demonstrate the technique and support our…
Andrew J. Kennedy, Dimitrios Vytiniotis
Abstract We show how the binary encoding and decoding of typed data and typed programs can be understood, programmed and verified with the help of question–answer games. The encoding of a value is determined by the yes/no answers to a sequence of questions about that value; conve…
Dusan Kolár
Overall, this book contains a lot of valuable material, and due to the simplicity of the Event-B notation it should be a seriously considered for introductory courses on formal modelling with associated proof.As a basis for advanced study and research, it would be significantly b…
Anil Madhavapeddy, Yaron Minsky, Marius Eriksen
Commercial Users of Functional Programming (CUFP) is a yearly workshop that is aimed at the community of software developers who use functional programming in real-world settings. This scribe report covers the talks that were delivered at the 2011 workshop, which was held in asso…
Akimasa Morihata, Kazuhiko Kakehi, Zhenjiang Hu, Masato Takeichi
Abstract Functional languages are suitable for transformational developments of programs. However, accumulative functions, or in particular tail-recursive functions, are known to be less suitable for manipulation. In this paper, we propose a program transformation named “IO swapp…
Matthew Naylor, Colin Runciman
Abstract A new version of a special-purpose processor for running lazy functional programs is presented. This processor – the Reduceron – exploits parallel memories and dynamic analyses to increase evaluation speed, and is implemented using reconfigurable hardware. Compared to a …
Bruno C. d. S. Oliveira, Tom Schrijvers, William R. Cook
Abstract Incremental Programming (IP) is a programming style in which new program components are defined as increments of other components. Examples of IP mechanisms include Object-oriented programming inheritance, aspect-oriented programming advice, and feature-oriented programm…
Nicolas Pouillard, François Pottier
Abstract Atoms and de Bruijn indices are two well-known representation techniques for data structures that involve names and binders. However, using either technique, it is all too easy to make a programming error that causes one name to be used where another was intended. We pro…
Vincent Siles, Hugo Herbelin
Abstract Pure Type Systems are usually described in two different ways, one that uses an external notion of computation like beta-reduction, and one that relies on a typed judgment of equality, directly in the typing system. For a long time, the question was open to know whether …
J. Michael Spivey
Many variations upon the theme of parser combinators have been proposed, too many to list here, but the main idea is simple: A parser for phrases of type α is a function that takes an input string and produces results ( x, rest ), where x is a value of type α, and rest is the rem…
Peter Achten
Abstract In the Soccer-Fun , students program the brains of football players in a functional language. Soccer-Fun has been developed for an introductory course in functional programming at the Radboud University Nijmegen, The Netherlands. We have used Soccer-Fun in teaching durin…
Richard S. Bird
The other day, over a very pleasant lunch in the restaurant of Oxford's recently renovated Ashmolean Museum, Oege de Moor gave me a problem about rectangles. The problem is explained more fully later, but roughly speaking one is given a finite set of rectangles RS and a rectangle…
Johannes Borgström, Andrew D. Gordon, Riccardo Pucella
Abstract Behavioral type and effect systems regulate properties such as adherence to object and communication protocols, dynamic security policies, avoidance of race conditions, and many others. Typically, each system is based on some specific syntax of constraints, and is checke…
Jacques Carette
The steady rise in interest in formal verification of software has naturally been accompanied by increased interest in the theory and tools of verification.While there are many textbooks of logic as well as user guides for the vast array of reasoning tools (automated and otherwis…
Toni Cebrián