A tutorial on the universality and expressiveness of fold

G Hutton - Journal of Functional Programming, 1999 - cambridge.org
In functional programming, fold is a standard operator that encapsulates a simple pattern of
recursion for processing lists. This article is a tutorial on two key aspects of the fold operator …

The algebra of programming

R Bird, O De Moor - NATO ASI DPD, 1996 - books.google.com
In these lecture notes we describe an algebraic approach to programming, suitable both for
the derivation of individual programs and for the study of programming techniques in …

Stream fusion: From lists to streams to nothing at all

D Coutts, R Leshchinskiy, D Stewart - ACM SIGPLAN Notices, 2007 - dl.acm.org
This paper presents an automatic deforestation system, stream fusion, based on equational
transformations, that fuses a wider range of functions than existing short-cut fusion systems …

Optimising purely functional GPU programs

TL McDonell, MMT Chakravarty, G Keller… - ACM SIGPLAN …, 2013 - dl.acm.org
Purely functional, embedded array programs are a good match for SIMD hardware, such as
GPUs. However, the naive compilation of such programs quickly leads to both code …

Functional collection programming with semi-ring dictionaries

A Shaikhha, M Huot, J Smith, D Olteanu - Proceedings of the ACM on …, 2022 - dl.acm.org
This paper introduces semi-ring dictionaries, a powerful class of compositional and purely
functional collections that subsume other collection types such as sets, multisets, arrays …

Shortcut fusion for accumulating parameters & zip-like functions

J Svenningsson - ACM SIGPLAN Notices, 2002 - dl.acm.org
We present an alternative approach to shortcut fusion based on the function unfoldr,.
Despite its simplicity the technique can remove intermediate lists in examples which are …

Compositional explanation of types and algorithmic debugging of type errors

O Chitil - Proceedings of the sixth ACM SIGPLAN international …, 2001 - dl.acm.org
The type systems of most typed functional programming languages are based on the
Hindley-Milner type system. A practical problem with these type systems is that it is often …

LoPC: modeling contention in parallel algorithms

MI Frank, A Agarwal, MK Vernon - ACM SIGPLAN Notices, 1997 - dl.acm.org
Parallel algorithm designers need computational models that take first order system costs
into account, but are also simple enough to use in practice. This paper introduces the LoPC …

[PDF][PDF] Structured handling of scoped effects

Z Yang, M Paviotti, N Wu, B van den Berg… - European …, 2022 - library.oapen.org
Algebraic effects offer a versatile framework that covers a wide variety of effects. However,
the family of operations that delimit scopes are not algebraic and are usually modelled as …

Fusion for free: Efficient algebraic effect handlers

N Wu, T Schrijvers - International Conference on Mathematics of Program …, 2015 - Springer
Algebraic effect handlers are a recently popular approach for modelling side-effects that
separates the syntax and semantics of effectful operations. The shape of syntax is captured …