Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2976002acmconferencesBook PagePublication PagesicfpConference Proceedingsconference-collections
Haskell 2016: Proceedings of the 9th International Symposium on Haskell
ACM2016 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
ICFP'16: ACM SIGPLAN International Conference on Functional Programming Nara Japan September 22 - 23, 2016
ISBN:
978-1-4503-4434-0
Published:
08 September 2016
Sponsors:
Next Conference
October 12 - 18, 2025
Singapore , Singapore
Reflects downloads up to 17 Feb 2025Bibliometrics
Abstract

No abstract available.

Skip Table Of Content Section
SESSION: Testing
research-article
FitSpec: refining property sets for functional testing

This paper presents FitSpec, a tool providing automated assistance in the task of refining sets of test properties for Haskell functions. FitSpec tests mutant variations of functions under test against a given property set, recording any surviving ...

research-article
QuickFuzz: an automatic random fuzzer for common file formats

Fuzzing is a technique that involves testing programs using invalid or erroneous inputs. Most fuzzers require a set of valid inputs as a starting point, in which mutations are then introduced. QuickFuzz is a fuzzer that leverages QuickCheck-style ...

SESSION: FRP
research-article
Causal commutative arrows revisited

Causal commutative arrows (CCA) extend arrows with additional constructs and laws that make them suitable for modelling domains such as functional reactive programming, differential equations and synchronous dataflow.

Earlier work has revealed that a ...

research-article
Functional reactive programming, refactored

Functional Reactive Programming (FRP) has come to mean many things. Yet, scratch the surface of the multitude of realisations, and there is great commonality between them. This paper investigates this commonality, turning it into a mathematically ...

SESSION: Functors
research-article
Free delivery (functional pearl)

Remote procedure calls are computationally expensive, because network round-trips take several orders of magnitude longer than local interactions. One common technique for amortizing this cost is to batch together multiple independent requests into one ...

research-article
How to twist pointers without breaking them

Using the theory of monoids and monoid actions, we give a unified framework that handles three common pointer manipulation tasks, namely, data serialisation, deserialisation, and memory allocation. Our main theoretical contribution is the formulation of ...

SESSION: Web Technology
research-article
High-performance client-side web applications through Haskell EDSLs

We present Aplite, a domain-specific language embedded in Haskell for implementing performance-critical functions in client-side web applications. In Aplite, we apply partial evaluation, multi-stage programming and techniques adapted from machine code-...

research-article
Experience report: developing high performance HTTP/2 server in Haskell

While the speed of the Internet has been increasing, HTTP/1.1 has been plagued by head-of-line blocking, low concurrency and redundant headers. To solve these problems, HTTP/2 was standardized. This paper summarizes our experience implementing HTTP/2 ...

SESSION: Language Features
research-article
Pattern synonyms

Pattern matching has proven to be a convenient, expressive way of inspecting data. Yet this language feature, in its traditional form, is limited: patterns must be data constructors of concrete data types. No computation or abstraction is allowed. The ...

research-article
Open Access
Desugaring Haskell's do-notation into applicative operations

Monads have taken the world by storm, and are supported by do-notation (at least in Haskell). Programmers are increasingly waking up to the usefulness and ubiquity of Applicatives, but they have so far been hampered by the absence of supporting ...

SESSION: Strictness and STM
research-article
Public Access
Revisiting software transactional memory in Haskell

Software Transactional Memory (STM) has become very popular in Haskell. Currently, there are nearly 500 packages on Haskell’s package archive that directly use STM. Despite the widespread use in real world applications, Haskell’s STM implementation has ...

research-article
Public Access
Autobahn: using genetic algorithms to infer strictness annotations

Although laziness enables beautiful code, it comes with non-trivial performance costs. The ghc compiler for Haskell has optimizations to reduce those costs, but the optimizations are not sufficient. As a result, Haskell also provides a variety of ...

SESSION: Types
research-article
Experience report: types for a relational algebra library

As part of our software toolkit at a major financial institution we have a library for relational algebra. This library is written in C++ and the type checking of the operations on the relations is very dynamic; all relations have the same static type. ...

research-article
Embedding session types in Haskell

We present a novel embedding of session-typed concurrency in Haskell. We extend an existing HOAS embedding of linear λ-calculus with a set of core session-typed primitives, using indexed type families to express the constraints of the session typing ...

SESSION: Monads
research-article
The Key monad: type-safe unconstrained dynamic typing

We present a small extension to Haskell called the Key monad. With the Key monad, unique keys of different types can be created and can be tested for equality. When two keys are equal, we also obtain a concrete proof that their types are equal. This ...

research-article
Supermonads: one notion to bind them all

Several popular generalizations of monads have been implemented in Haskell. Unfortunately, because the shape of the associated type constructors do not match the standard Haskell monad interface, each such implementation provides its own type class and ...

SESSION: Abstractions that Scale
research-article
Non-recursive make considered harmful: build systems at scale

Most build systems start small and simple, but over time grow into hairy monsters that few dare to touch. As we demonstrate in this paper, there are a few issues that cause build systems major scalability challenges, and many pervasively used build ...

research-article
Public Access
Lazy graph processing in Haskell

This paper presents a Haskell library for graph processing: DeltaGraph. One unique feature of this system is that intentions to perform graph updates can be memoized in-graph in a decentralized fashion, and the propagation of these intentions within the ...

Contributors
  • College of Computing & Informatics

Index Terms

  1. Proceedings of the 9th International Symposium on Haskell
    Please enable JavaScript to view thecomments powered by Disqus.

    Recommendations

    Acceptance Rates

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