Write a Blog >>
ICFP 2016
Sun 18 - Sat 24 September 2016 Nara, Japan
Thu 22 Sep 2016 12:10 - 12:35 at Noh Theater - Functors Chair(s): Zhenjiang Hu

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 the notion of a \emph{twisted functor}, a generalisation of the semi-direct product construction for monoids. We show that semi-direct products and twisted functors are particularly well suited as an abstraction for many pointer manipulation tasks.

We describe the implementation of these abstractions in the context of a cryptographic library for Haskell. Twisted functors allow us to abstract all pointer arithmetic and size calculations into a few lines of code, significantly reducing the opportunities for buffer overflows.

Thu 22 Sep

haskellsymp-2016-papers
11:45 - 12:35: Haskell - Functors at Noh Theater
Chair(s): Zhenjiang HuNational Institute of Informatics, Japan
haskellsymp-2016-papers11:45 - 12:10
Talk
Jeremy GibbonsUniversity of Oxford, UK
DOI
haskellsymp-2016-papers12:10 - 12:35
Talk
DOI