PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compiling with continuations
Unboxed objects and polymorphic typing
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type inclusion constraints and type inference
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Combinatory reduction systems: introduction and survey
Theoretical Computer Science - A collection of contributions in honour of Corrado Bo¨hm on the occasion of his 70th birthday
Soft typing with conditional types
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Selective and lightweight closure conversion
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiling polymorphism using intensional type analysis
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Intersection and union types: syntax and semantics
Information and Computation
Selective specialization for object-oriented languages
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Simple and effective link-time optimization of Modula-3 programs
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
A type system equivalent to flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
TIL: a type-directed optimizing compiler for ML
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Constrained types and their expressiveness
ACM Transactions on Programming Languages and Systems (TOPLAS)
What are principal typings and what are they good for?
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Design of the programming language FORSYTHE
ALGOL-like Languages, Volume 1
A modular, polyvariant and type-based closure analysis
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Strongly typed flow-directed representation transformations (extended abstract)
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Infinitary control flow analysis: a collecting semantics for closure analysis
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The design and implementation of a certifying compiler
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Compiling standard ML to Java bytecodes
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Implementing typed intermediate languages
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Principality and decidable type inference for finite-rank intersection types
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Practical improvements to the construction and destruction of static single assignment form
Software—Practice & Experience
Dynamic typing for distributed programming in polymorphic languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
A semantic model of types and machine instructions for proof-carrying code
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Functioning without closure: type-safe customized function representations for standard ML
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Principal type-schemes for functional programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiling Haskell by Program Transformation: A Report from the Trenches
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
Type Directed Cloning for Object-Oriented Programs
LCPC '95 Proceedings of the 8th International Workshop on Languages and Compilers for Parallel Computing
Separate Abstract Interpretation for Control-Flow Analysis
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
The Cartesian Product Algorithm: Simple and Precise Type Inference Of Parametric Polymorphism
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Type-Directed Flow Analysis for Typed Intermediate Languages
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Program Representation Size in an Intermediate Language with Intersection and Union Types
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
Combinatory Reduction Systems with Explicit Substitution that Preserve Strong Nomalisation
RTA '96 Proceedings of the 7th International Conference on Rewriting Techniques and Applications
Control-Flow Analysis and Type Systems
SAS '95 Proceedings of the Second International Symposium on Static Analysis
LICS '95 Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science
Program representation size in an intermediate language with intersection and union types
Program representation size in an intermediate language with intersection and union types
NESL: A Nested Data-Parallel Language (Version 2.6)
NESL: A Nested Data-Parallel Language (Version 2.6)
Optimization of object-oriented and concurrent programs
Optimization of object-oriented and concurrent programs
Mathematical Structures in Computer Science
From Polyvariant flow information to intersection and union types
Journal of Functional Programming
From ML to Ada: Strongly-typed language interoperability via source translation
Journal of Functional Programming
The call-by-need lambda calculus
Journal of Functional Programming
Relating typability and expressiveness in finite-rank intersection type systems (extended abstract)
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Type-based analysis and applications
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Functioning without closure: type-safe customized function representations for standard ML
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
Program Representation Size in an Intermediate Language with Intersection and Union Types
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Higher-order control-flow analysis in retrospect: lessons learned, lessons abandoned
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Characterizing strong normalization in a language with control operators
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Types, potency, and idempotency: why nonlinearity and amnesia make a type system work
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Modular set-based analysis from contracts
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Quantified types in an imperative language
ACM Transactions on Programming Languages and Systems (TOPLAS)
A historic functional and object-oriented calculus
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Intersection-types à la Church
Information and Computation
Towards an Intersection Typed System à la Church
Electronic Notes in Theoretical Computer Science (ENTCS)
Intersection and Union Types in the λμμ~-calculus
Electronic Notes in Theoretical Computer Science (ENTCS)
A verified framework for higher-order uncurrying optimizations
Higher-Order and Symbolic Computation
Type assignment for intersections and unions in call-by-value languages
FOSSACS'03/ETAPS'03 Proceedings of the 6th International conference on Foundations of Software Science and Computation Structures and joint European conference on Theory and practice of software
Polyvariant flow analysis with higher-ranked polymorphic types and higher-order effect operators
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Linearity, Non-determinism and Solvability
Fundamenta Informaticae - From Mathematical Beauty to the Truth of Nature: to Jerzy Tiuryn on his 60th Birthday
Solvability in resource lambda-calculus
FOSSACS'10 Proceedings of the 13th international conference on Foundations of Software Science and Computational Structures
Control-flow analysis of functional programs
ACM Computing Surveys (CSUR)
Elaborating intersection and union types
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Polymorphic functions with set-theoretic types: part 1: syntax, semantics, and evaluation
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Towards a Logic for Union Types
Fundamenta Informaticae - Intersection Types and Related Systems ITRS
Hi-index | 0.00 |
We present λCIL, a typed λ-calculus which serves as the foundation for a typed intermediate language for optimizing compilers for higher-order polymorphic programming languages. The key innovation of λCIL is a novel formulation of intersection and union types and flow labels on both terms and types. These flow types can encode polyvariant control and data flow information within a polymorphically typed program representation. Flow types can guide a compiler in generating customized data representations in a strongly typed setting. Since λCIL enjoys confluence, standardization, and subject reduction properties, it is a valuable tool for reasoning about programs and program transformations.