Write a Blog >>
ICFP 2020
Thu 20 - Fri 28 August 2020
Fri 28 Aug 2020 10:30 - 11:00 at Haskell - Paper Session 3 - Datastructures Chair(s): Andrey Mokhov

We study a simple inductive data type for representing correct-by-construction matrices. Despite its simplicity, it can be used to implement matrix-manipulation algorithms efficiently and safely, performing in some cases faster than existing alternatives even though the algorithms are written in a direct and purely functional style. A rich collection of laws makes it possible to derive and optimise these algorithms using equational reasoning, avoiding the notorious off-by-one indexing errors when fiddling with matrix dimensions. We demonstrate the usefulness of the data type on several examples, and highlight connections to related topics in category theory.

Fri 28 Aug

Displayed time zone: Eastern Time (US & Canada) change

10:00 - 11:00
Paper Session 3 - DatastructuresHaskell at Haskell
Chair(s): Andrey Mokhov Jane Street
10:00
30m
Talk
Finger Trees Explained Anew, and Slightly Simplified (Functional Pearl)
Haskell
Koen Claessen Chalmers University of Technology, Sweden
DOI
10:30
30m
Talk
Type Your Matrices for Great Good: A Haskell Library of Typed Matrices and Applications (Functional Pearl)
Haskell
Armando João Isaías Ferreira dos Santos University of Minho, Portugal / INESC TEC, Portugal, Jose Nuno Oliveira University of Minho, Portugal / INESC TEC, Portugal
DOI