Information and Computation - Semantics of Data Types
How to make ad-hoc polymorphism less ad hoc
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Isomorphisms, hylomorphisms and hereditarily finite data types in Haskell
Proceedings of the 2009 ACM symposium on Applied Computing
A Groupoid of Isomorphic Data Transformations
Calculemus '09/MKM '09 Proceedings of the 16th Symposium, 8th International Conference. Held as Part of CICM '09 on Intelligent Computer Mathematics
An embedded declarative data transformation language
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Theoretical Computer Science
Pure, declarative, and constructive arithmetic relations (declarative pearl)
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Declarative modeling of finite mathematics
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Two mechanisms for generating infinite families of pairing bijections
Proceedings of the 2013 Research in Adaptive and Convergent Systems
Binary trees as a computational framework
Computer Languages, Systems and Structures
Hi-index | 0.00 |
We express in terms of binary trees seen as Gödel System T types (with the empty type as the only primitive type) arithmetic computations within time and space bounds comparable to binary arithmetic and derive an efficiently testable total ordering on types, isomorphic to the ordering of natural numbers. A few novel algorithms are derived in the process, that enable arithmetic computations with type trees. The use of a Haskell type class describing the "axiomati-zation" of the shared structure present in System T's type language and natural numbers, together with Haskell instances representing "twin" interpretations connected by an iso-functor that transports operations between the two instances, provides instant empirical testability. The self-contained source code of the paper is available at http://logic.cse.unt.edu/tarau/research/2012/stypes.hs.