Isomorphisms, hylomorphisms and hereditarily finite data types in Haskell

Paul Tarau · 2009

This paper is an exploration in a functional programming framework of isomorphisms between elementary data types (natural numbers, sets, bitstrings, finite functions) and their extension to hereditarily finite universes through hylomorphisms derived from ranking and unranking operations. The paper is part of a larger effort to cover in a declarative programming paradigm some fundamental combinatorial generation algorithms along the lines of Knuth's recent work [10]. The self-contained source code of the paper, as generated from a literate Haskell program, is available at http://logic.csci.unt.edu/tarau/research/2008/sfISO.zip.

Read the paper · More papers on PaperTik