- Sponsor:
- sigplan
It is my great pleasure to welcome you to the 11th ACM SIGPLAN Haskell Workshop -- Haskell '07. The purpose of the Workshop is to provide a forum to discuss experience with Haskell and possible further development of the language, including aspects of design, semantics, theory, application, implementation, and teaching of Haskell.
The call for papers attracted 34 submissions from Asia, Australia, Europe, North and South America. Each submission was assigned to at least three members of the Program Committee, and in many cases, additional reviews were solicited from outside experts. The submissions were discussed electronically during a five-day virtual PC meeting and judged on their perceived importance, clarity and appropriateness to the audience of this workshop. The Program Committee selected ten submissions for presentation. Due to the high number of submissions and the format as a single day workshop, a number of papers with interesting contributions could not be included in the program.
Proceeding Downloads
Haskell program coverage
We describe the design, implementation and use of HPC, a tool-kit to record and display Haskell Program Coverage. HPC includes tools that instrument Haskell programs to record program coverage, run instrumented programs, and display information derived ...
A lightweight interactive debugger for haskell
This paper describes the design and construction of a Haskell source-level debugger built into the GHCi interactive environment. We have taken a pragmatic approach: the debugger is based on the traditional stop-examine-continue model of online debugging,...
Beauty in the beast
It can be very difficult to debug impure code, let alone prove its correctness. To address these problems, we provide a functional specification of three central components of Peyton Jones's awkward squad: teletype IO, mutable state, and concurrency. By ...
A functional-logic library for wired
We develop a Haskell library for functional-logic programming, motivated by the implementation of Wired, a relational embedded domain-specific language for describing and analysing digital circuits at the VLSI-layout level. Compared to a previous ...
Uniform boilerplate and list processing
Generic traversals over recursive data structures are often referred to as boilerplate code. The definitions of functions involving such traversals may repeat very similar patterns, but with variations for different data types and different ...
Comprehensive comprehensions
We propose an extension to list comprehensions that makes it easy to express the kind of queries one would write in SQL using ORDER BY, GROUP BY, and LIMIT. Our extension adds expressive power to comprehensions, and generalises the SQL constructs that ...
Why it's nice to be quoted: quasiquoting for haskell
Quasiquoting allows programmers to use domain specific syntax to construct program fragments. By providing concrete syntax for complex data types, programs become easier to read, easier to write, and easier to reason about and maintain. Haskell is an ...
A type-preserving closure conversion in haskell
The use of typed intermediate languages can significantly increase the reliability of a compiler. By type-checking the code produced at each transformation stage, one can identify bugs in the compiler that would otherwise be much harder to find. Also it ...
Demo outline: switched-on yampa
In this demonstration, we present an implementation of a modular synthesizer in Haskell using Yampa. A synthesizer, be it a hardware instrument or a pure software implementation, as here, is said to be modular if it provides sound-generating and sound-...
Harpy: run-time code generation in haskell
We present Harpy, a Haskell library for run-time code generation of x86 machine code. Harpy provides efficient generation of machine code, a convenient domain specific language for generating code and a collection of code generation combinators.
A shortcut fusion rule for circular program calculation
Circular programs are a powerful technique to express multiple traversal algorithms as a single traversal function in a lazy setting. In this paper, we present a shortcut deforestation technique to calculate circular programs. The technique we propose ...
Lightweight concurrency primitives for GHC
The Glasgow Haskell Compiler (GHC) has quite sophisticated support for concurrency in its runtime system, which is written in low-level C code. As GHC evolves, the runtime system becomes increasingly complex, error-prone, difficult to maintain and ...
Xmonad
xmonad is a tiling window manager for the X Window system, implemented, configured and dynamically extensible in Haskell. This demonstration presents the case that software dominated by side effects can be developed with the precision and efficiency we ...
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% |