The typechecking of programs with implicit type structure.
Proc. of the international symposium on Semantics of data types
Type inference with polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
PolyP—a polytypic programming language extension
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Purely functional data structures
Purely functional data structures
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Introduction to Functional Programming
Introduction to Functional Programming
Polytypic Programming With Ease (Extended Abstract)
FLOPS '99 Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming
Polymorphic Type Schemes and Recursive Definitions
Proceedings of the 6th Colloquium on International Symposium on Programming
Functional Programming with Overloading and Higher-Order Polymorphism
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
Advanced Functional Programming, Second International School-Tutorial Text
MPC '98 Proceedings of the Mathematics of Program Construction
Perfect trees and bit-reversal permutations
Journal of Functional Programming
de Bruijn notation as a nested datatype
Journal of Functional Programming
A new approach to generic functional programming
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
More types for nested data parallel programming
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Science of Computer Programming - Special issue on mathematics of program construction (MPC 2002)
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
TypeCase: a design pattern for type-indexed functions
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
Iteration and coiteration schemes for higher-order and nested datatypes
Theoretical Computer Science - Foundations of software science and computation structures
Library for systematic search for expressions
AIC'06 Proceedings of the 6th WSEAS International Conference on Applied Informatics and Communications
Generic discrimination: sorting and paritioning unshared data in linear time
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Type-based termination of generic programs
Science of Computer Programming
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Representations of first order function types as terminal coalgebras
TLCA'01 Proceedings of the 5th international conference on Typed lambda calculi and applications
CEFP'09 Proceedings of the Third summer school conference on Central European functional programming school
AMAST'10 Proceedings of the 13th international conference on Algebraic methodology and software technology
Polarized subtyping for sized types
CSR'06 Proceedings of the First international computer science conference on Theory and Applications
An analytical inductive functional programming system that avoids unintended programs
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Towards generic programming with sized types
MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
A datastructure for iterated powers
MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
Shrinking and showing functions: (functional pearl)
Proceedings of the 2012 Haskell Symposium
Adjoint folds and unfolds-An extended study
Science of Computer Programming
Hi-index | 0.00 |
A trie is a search tree scheme that employs the structure of search keys to organize information. Tries were originally devised as a means to represent a collection of records indexed by strings over a fixed alphabet. Based on work by C. P. Wadsworth and others, R. H. Connelly and F. L. Morris generalized the concept to permit indexing by elements built according to an arbitrary signature. Here we go one step further, and define tries and operations on tries generically for arbitrary datatypes of first-order kind, including parameterized and nested datatypes. The derivation employs techniques recently developed in the context of polytypic programming and can be regarded as a comprehensive case study in this new programming paradigm. It is well known that for the implementation of generalized tries, nested datatypes and polymorphic recursion are needed. Implementing tries for first-order kinded datatypes places even greater demands on the type system: it requires rank-2 type signatures and second-order nested datatypes. Despite these requirements, the definition of tries is surprisingly simple, which is mostly due to the framework of polytypic programming.