Introduction to higher order categorical logic
Introduction to higher order categorical logic
Proofs and types
Theoretical Computer Science - Special issue: Fourth workshop on mathematical foundations of programming semantics, Boulder, CO, May 1988
Programming in Martin-Lo¨f's type theory: an introduction
Programming in Martin-Lo¨f's type theory: an introduction
Category theory for computing science
Category theory for computing science
On functors expressible in the polymorphic lambda calculus
Logical foundations of functional programming
Notions of computation and monads
Information and Computation
Unboxed objects and polymorphic typing
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type reconstruction in finite rank fragments of the second-order &lgr;-calculus
Information and Computation - Special issue: Selections from 1990 IEEE symposium on logic in computer science
Handbook of logic in computer science (vol. 2)
Tag-free garbage collection using explicit type parameters
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Garbage collection for strongly-typed languages using run-time type reconstruction
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Compiling polymorphism using intensional type analysis
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Strong categorical datatypes II: a term logic for categorical programming
Theoretical Computer Science
ESOP '94 Selected papers of ESOP '94, the 5th European symposium on Programming
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Bananas in space: extending fold and unfold to exponential types
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
PolyP—a polytypic programming language extension
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Theoretical Computer Science - Special issue: theoretical computer science in Australia and New Zealand
Initial Algebra Semantics and Continuous Algebras
Journal of the ACM (JACM)
The Functional Imperative: Shape!
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Unboxed Values as First Class Citizens in a Non-Strict Functional Language
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
M-Tree: A Parallel Abstract Data Type for Block-Irregular Adaptive Applictions
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
A Monadic Calculus for Parallel Costing of a Functional Language of Arrays
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Advanced Functional Programming, Second International School-Tutorial Text
A Typed Lambda Calculus with Categorical Type Constructors
Category Theory and Computer Science
A categorical programming language
A categorical programming language
A new approach to generic functional programming
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Predicative Strong Normalisation Proof for a lambda-Calculus with Interleaving Inductive Types
TYPES '99 Selected papers from the International Workshop on Types for Proofs and Programs
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Higher-Order Intensional Type Analysis
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
Dependency-style generic haskell
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Science of Computer Programming - Special issue on mathematics of program construction (MPC 2002)
ACM Transactions on Programming Languages and Systems (TOPLAS)
TLDI '05 Proceedings of the 2005 ACM SIGPLAN international workshop on Types in languages design and implementation
Design patterns as higher-order datatype-generic programs
Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming
Type-safe run-time polytypic programming
Journal of Functional Programming
Bialgebra views: a way for polytypic programming to cohabit with data abstraction
Proceedings of the ACM SIGPLAN workshop on Generic programming
A Design for Type-Directed Programming in Java
Electronic Notes in Theoretical Computer Science (ENTCS)
Distinguishing data structures and functions: the constructor calculus and functorial types
TLCA'01 Proceedings of the 5th international conference on Typed lambda calculi and applications
(Co-) iteration for higher-order nested datatypes
TYPES'02 Proceedings of the 2002 international conference on Types for proofs and programs
Comparing approaches to generic programming in Haskell
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Hi-index | 0.00 |
We present an extension of the Hindley–Milner type system that supports a generous class of type constructors called functors, and provide a parametrically polymorphic algorithm for their mapping, i.e. for applying a function to each datum appearing in a value of constructed type. The algorithm comes from shape theory, which provides a uniform method for locating data within a shape. The resulting system is Church–Rosser and strongly normalizing, and supports type inference. Several different semantics are possible, which affects the choice of constants in the language, and are used to illustrate the relationship to polytypic programming.