Partial polymorphic type inference and higher-order unification
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Proofs and 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
The system f of variable types, 15 years later
Logical foundations of functional programming
Tag-free garbage collection using explicit type parameters
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
TIL: a type-directed optimizing compiler for ML
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Implementing typed intermediate languages
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Eta-Expansions in Dependent Type Theory - The Calculus of Constructions
TLCA '97 Proceedings of the Third International Conference on Typed Lambda Calculi and Applications
TIC '98 Proceedings of the Second International Workshop on Types in Compilation
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
Efficient Representation and Validation of Proofs
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
MLF: raising ML to the power of system F
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Strict bidirectional type checking
TLDI '05 Proceedings of the 2005 ACM SIGPLAN international workshop on Types in languages design and implementation
Certifying compilation for standard ml in a type analysis framework
Certifying compilation for standard ml in a type analysis framework
Practical type inference for arbitrary-rank types
Journal of Functional Programming
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Hi-index | 0.00 |
System Fis ubiquitous in logic, theorem proving, language meta-theory, compiler intermediate languages, and elsewhere. Along with its type abstractions come type applications, but these often appear redundant. This redundancy is both distracting and costly for type-directed compilers.We introduce System IF, for implicitSystem F, in which many type applications can be made implicit. It supports decidable type checking and strong normalisation. Experiments with Haskell suggest that it could be used to reduce the amount of intermediate code in compilers that employ System F.System IFconstitutes a first foray into a new area in the design space of typed lambda calculi, that is interesting in its own right and may prove useful in practice.