- Sponsor:
- sigplan
It is my great pleasure to welcome you to the ACM SIGPLAN Haskell Symposium 2012. The meeting follows in the tradition of four previous Haskell Symposia as well as eleven instances of the Haskell Workshop before that.
This year, the Call for Papers attracted 34 original submissions from all around the globe. During the review period, each of these was evaluated by at least three Programme Committee members, and many papers received external review as well. Based on the reviews, the submissions were discussed during a week-long electronic PC meeting, and 14 were selected for presentation and inclusion in the proceedings.
Proceeding Downloads
The HERMIT in the machine: a plugin for the interactive transformation of GHC core language programs
The importance of reasoning about and refactoring programs is a central tenet of functional programming. Yet our compilers and development toolchains only provide rudimentary support for these tasks. This paper introduces a programmatic and compiler-...
Template your boilerplate: using template haskell for efficient generic programming
Generic programming allows the concise expression of algorithms that would otherwise require large amounts of handwritten code. A number of such systems have been developed over the years, but a common drawback of these systems is poor runtime ...
Guiding parallel array fusion with indexed types
We present a refined approach to parallel array fusion that uses indexed types to specify the internal representation of each array. Our approach aids the client programmer in reasoning about the performance of their program in terms of the source code. ...
Vectorisation avoidance
Flattening nested parallelism is a vectorising code transform that converts irregular nested parallelism into flat data parallelism. Although the result has good asymptotic performance, flattening thoroughly restructures the code. Many intermediate data ...
Testing type class laws
The specification of a class in Haskell often starts with stating, in comments, the laws that should be satisfied by methods defined in instances of the class, followed by the type of the methods of the class. This paper develops a framework that ...
Feat: functional enumeration of algebraic types
In mathematics, an enumeration of a set S is a bijective function from (an initial segment of) the natural numbers to S. We define "functional enumerations" as efficiently computable such bijections. This paper describes a theory of functional ...
Shrinking and showing functions: (functional pearl)
Although quantification over functions in QuickCheck properties has been supported from the beginning, displaying and shrinking them as counter examples has not. The reason is that in general, functions are infinite objects, which means that there is no ...
Surveyor: a DSEL for representing and analyzing strongly typed surveys
Polls and surveys are increasingly employed to gather information about attitudes and experiences of all kinds of populations and user groups. The ultimate purpose of a survey is to identify trends and relationships that can inform decision makers. To ...
Wormholes: introducing effects to FRP
Functional reactive programming (FRP) is a useful model for programming real-time and reactive systems in which one defines a signal function to process a stream of input values into a stream of output values. However, performing side effects (e.g. ...
Monoids: theme and variations (functional pearl)
The monoid is a humble algebraic structure, at first glance even downright boring. However, there's much more to monoids than meets the eye. Using examples taken from the diagrams vector graphics framework as a case study, I demonstrate the power and ...
Dependently typed programming with singletons
Haskell programmers have been experimenting with dependent types for at least a decade, using clever encodings that push the limits of the Haskell type system. However, the cleverness of these encodings is also their main drawback. Although the ideas ...
xmonad in Coq (experience report): programming a window manager in a proof assistant
This report documents the insights gained from implementing the core functionality of xmonad, a popular window manager written in Haskell, in the Coq proof assistant. Rather than focus on verification, this report outlines the technical challenges ...
Safe haskell
Though Haskell is predominantly type-safe, implementations contain a few loopholes through which code can bypass typing and module encapsulation. This paper presents Safe Haskell, a language extension that closes these loopholes. Safe Haskell makes it ...
Layout-sensitive language extensibility with SugarHaskell
Programmers need convenient syntax to write elegant and concise programs. Consequently, the Haskell standard provides syntactic sugar for some scenarios (e.g., do notation for monadic code), authors of Haskell compilers provide syntactic sugar for more ...
Recommendations
Acceptance Rates
Year | Submitted | Accepted | Rate |
---|---|---|---|
Haskell '14 | 28 | 12 | 43% |
Haskell '13 | 33 | 13 | 39% |
Haskell '08 | 28 | 13 | 46% |
Haskell '03 | 30 | 10 | 33% |
Haskell '02 | 24 | 9 | 38% |
Overall | 143 | 57 | 40% |