Extracting &ohgr;'s programs from proofs in the calculus of constructions
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Strictness analysis: a new perspective based on type inference
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Extraction of redundancy-free programs from constructive natural deduction proofs
Journal of Symbolic Computation
Control-flow analysis of higher-order languages of taming lambda
Control-flow analysis of higher-order languages of taming lambda
Lazy type inference and program analysis
ESOP '94 Selected papers of ESOP '94, the 5th European symposium on Programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Constraint systems for useless variable elimination
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-based useless variable elimination
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Extending Pruning Techniques to Polymorphic Second order Lambda-Calculus
ESOP '94 Proceedings of the 5th European Symposium on Programming: Programming Languages and Systems
Using Subtyping in Program Optimization
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
Detecting and Removing Dead-Code using Rank 2 Intersection
TYPES '96 Selected papers from the International Workshop on Types for Proofs and Programs
SAS '95 Proceedings of the Second International Symposium on Static Analysis
Refinement Types for Program Analysis
SAS '96 Proceedings of the Third International Symposium on Static Analysis
The Practice of Logical Frameworks
CAAP '96 Proceedings of the 21st International Colloquium on Trees in Algebra and Programming
Minimum Information Code in a Pure Functional Language with Data Types
TLCA '97 Proceedings of the Third International Conference on Typed Lambda Calculi and Applications
A Static Calculus of Dependencies for the -Cube
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
Type Systems for Useless-Variable Elimination
PADO '01 Proceedings of the Second Symposium on Programs as Data Objects
Type-Based Useless-Code Elimination for Functional Programs
SAIG '00 Proceedings of the International Workshop on Semantics, Applications, and Implementation of Program Generation
Simple relational correctness proofs for static analyses and program transformations
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A conjunctive type system for useless-code elimination
Mathematical Structures in Computer Science
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
Semantics of an effect analysis for exceptions
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Electronic Notes in Theoretical Computer Science (ENTCS)
On the rôle of minimal typing derivations in type-driven program transformation
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications
Hi-index | 0.00 |
In this paper we present two type inference systems for detecting useless-code in higher-order typed functional programs. Type inference can be performed in an efficient and complete way, by reducing it to the solution of a system of constraints. We also give a useless-code elimination algorithm which is based on a combined use of these type inference systems. The main application of the technique is the optimization of programs extracted from proofs in logical frameworks, but it could be used as well in the elimination of useless-code determined by program transformations.