Zipper-based modular and deforested computations

In this paper we present a methodology to implement multiple traversal algorithms in a functional programming setting. The implementations we obtain s of highly modular and intermediate structure free programs, that rely on the concept of functional zippers to navigate on data structures.Even though...

Full description

Bibliographic Details
Main Author: Martins, Pedro Miguel Ribeiro (author)
Other Authors: Fernandes, João Paulo Soares (author), Saraiva, João (author)
Format: conferencePaper
Language:eng
Published: 2015
Subjects:
Online Access:http://hdl.handle.net/1822/70213
Country:Portugal
Oai:oai:repositorium.sdum.uminho.pt:1822/70213
Description
Summary:In this paper we present a methodology to implement multiple traversal algorithms in a functional programming setting. The implementations we obtain s of highly modular and intermediate structure free programs, that rely on the concept of functional zippers to navigate on data structures.Even though our methodology is developed and presented under Haskell, a lazy functional language, we do not make essential use of laziness. This is an essential difference with respect to other attribute grammar embeddings. This also means that an approach similar to ours can be followed in a strict functional setting such as Ocaml, for example.In the paper, our technique is applied to a significant number of problems that are well-known to the functional programming community, demonstrating its practical interest.