skip to main content
10.1145/2364506acmconferencesBook PagePublication PagesicfpConference Proceedingsconference-collections
Haskell '12: Proceedings of the 2012 Haskell Symposium
ACM2012 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
ICFP'12: ACM SIGPLAN International Conference on Functional Programming Copenhagen Denmark 13 September 2012
ISBN:
978-1-4503-1574-6
Published:
13 September 2012
Sponsors:
Recommend ACM DL
ALREADY A SUBSCRIBER?SIGN IN
Next Conference
October 12 - 18, 2025
Singapore , Singapore
Reflects downloads up to 14 Feb 2025Bibliometrics
Skip Abstract Section
Abstract

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.

Skip Table Of Content Section
SESSION: Session 1
research-article
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-...

research-article
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 ...

SESSION: Session 2
research-article
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. ...

research-article
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 ...

SESSION: Session 3
research-article
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 ...

research-article
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 ...

research-article
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 ...

SESSION: Session 4
research-article
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 ...

research-article
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. ...

research-article
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 ...

SESSION: Session 5
research-article
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 ...

research-article
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 ...

research-article
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 ...

SESSION: Session 6
research-article
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 ...

Contributors
  • University of Bonn

Recommendations

Acceptance Rates

Overall Acceptance Rate 57 of 143 submissions, 40%
YearSubmittedAcceptedRate
Haskell '14281243%
Haskell '13331339%
Haskell '08281346%
Haskell '03301033%
Haskell '0224938%
Overall1435740%