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, DAGs, hypergraphs, etc.) and automatically derived extensions to hereditarily finite universes through  ranking/unranking  operations.   An embedded higher order combinator language provides any-to-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
['Paul Tarau']
An embedded declarative data transformation language