pith. sign in

arxiv: 0808.2953 · v4 · submitted 2008-08-21 · 💻 cs.PL · cs.DS

Declarative Combinatorics: Isomorphisms, Hylomorphisms and Hereditarily Finite Data Types in Haskell

classification 💻 cs.PL cs.DS
keywords datafinitetypesencodingshaskellhereditarilyisomorphismsapplications
0
0 comments X
read the original abstract

This paper is an exploration in a functional programming framework of {\em isomorphisms} between elementary data types (natural numbers, sets, multisets, finite functions, permutations binary decision diagrams, graphs, hypergraphs, parenthesis languages, dyadic rationals, primes, DNA sequences etc.) and their extension to hereditarily finite universes through {\em hylomorphisms} derived from {\em ranking/unranking} and {\em pairing/unpairing} operations. An embedded higher order {\em combinator language} provides any-to-any encodings automatically. Besides applications to experimental mathematics, a few examples of ``free algorithms'' obtained by transferring operations between data types are shown. Other applications range from stream iterators on combinatorial objects to self-delimiting codes, succinct data representations and generation of random instances. The paper covers 59 data types and, through the use of the embedded combinator language, provides 3540 distinct bijective transformations between them. The self-contained source code of the paper, as generated from a literate Haskell program, is available at \url{http://logic.csci.unt.edu/tarau/research/2008/fISO.zip}. {\bf Keywords}: Haskell data representations, data type isomorphisms, declarative combinatorics, computational mathematics, Ackermann encoding, G\"{o}del numberings, arithmetization, ranking/unranking, hereditarily finite sets, functions and permutations, encodings of binary decision diagrams, dyadic rationals, DNA encodings

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Forward citations

Cited by 2 Pith papers

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score.

  1. Fixed-Point Scaffolding in the Clef Programming Language

    cs.PL 2026-06 unverdicted novelty 5.0

    Clef compiler applies fixed-point scaffolding and a functor from compilation poset to target category to preserve dimensional, grade, escape and numeric structure through MLIR lowering while adding compact-closed nega...

  2. Negative and Fractional Types in the Fidelity Framework

    cs.PL 2026-06 unverdicted novelty 2.0

    Applies established negative and fractional type dualities to the authors' existing NTU framework to enable new resolution forms in specialized compute modalities.