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...

ver descrição completa

Detalhes bibliográficos
Autor principal: Martins, Pedro Miguel Ribeiro (author)
Outros Autores: Fernandes, João Paulo Soares (author), Saraiva, João (author)
Formato: conferencePaper
Idioma:eng
Publicado em: 2015
Assuntos:
Texto completo:http://hdl.handle.net/1822/70213
País:Portugal
Oai:oai:repositorium.sdum.uminho.pt:1822/70213
Descrição
Resumo: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.