We introduce a logic programming framework for data type transformations based on isomorphisms between elementary data types (natural numbers, finite functions, sets and permutations, digraphs, hypergraphs, etc.) and automatically derived extensions to hereditarily finite universes through ranking/unranking operations. An embedded higher order combinator language provides anyto-any encodings automatically. Applications range from stream iterators on combinatorial objects and uniform generation of random instances to succinct data representations and serialization of Prolog terms. The self-contained source code of the paper, as generated from a literate Prolog program, is available at http://logic.cse.unt. edu/tarau/research/2009/pISO.zip Keywords Prolog data representations, computational mathematics, ranking/unranking bijections, hereditarily finite sets and functions, digraph and hypergraph encodings