The definition of Standard ML
Theoretical Computer Science
Control-flow analysis of higher-order languages of taming lambda
Control-flow analysis of higher-order languages of taming lambda
Type inference with polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementation of the typed call-by-value λ-calculus using a stack of regions
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
A type system equivalent to flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Foundations of programming languages
Foundations of programming languages
Linear-time subtransitive control flow analysis
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
From polyvariant flow information to intersection and union types
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proofs about a folklore let-polymorphic type inference algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Constraint systems for useless variable elimination
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Equality-based flow analysis versus recursive types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type Systems for Useless-Variable Elimination
PADO '01 Proceedings of the Second Symposium on Programs as Data Objects
Redundant Argument Filtering of Logic Programs
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Refinement Types for Program Analysis
SAS '96 Proceedings of the Third International Symposium on Static Analysis
Garbage Collection via Dynamic Type Inference - A Fomal Treatment
TIC '98 Proceedings of the Second International Workshop on Types in Compilation
Program Specialization via Program Slicing
Selected Papers from the Internaltional Seminar on Partial Evaluation
IFL '97 Selected Papers from the 9th International Workshop on Implementation of Functional Languages
Control-Flow Analysis and Type Systems
SAS '95 Proceedings of the Second International Symposium on Static Analysis
On the Cubic Bottleneck in Subtyping and Flow Analysis
LICS '97 Proceedings of the 12th Annual IEEE Symposium on Logic in Computer Science
Type-based analysis and applications
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Hybrid Approach to Online and Offline Partial Evaluation
Higher-Order and Symbolic Computation
Boolean Constraints for Binding-Time Analysis
PADO '01 Proceedings of the Second Symposium on Programs as Data Objects
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
Design and Correctness of Program Transformations Based on Control-Flow Analysis
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
Removing Redundant Arguments of Functions
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
Extending sized type with collection analysis
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Simple relational correctness proofs for static analyses and program transformations
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modular control-flow analysis with rank 2 intersection types
Mathematical Structures in Computer Science
A conjunctive type system for useless-code elimination
Mathematical Structures in Computer Science
Automatic useless-code elimination for HOT functional programs
Journal of Functional Programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Removing redundant arguments automatically
Theory and Practice of Logic Programming
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 |
Useless variable elimination [25] is a transformation that eliminates variables whose values contribute nothing to the final outcome of a computation. We present a type-based method for useless variable elimination and prove its correctness. The algorithm is a surprisingly simple extension of the usual type reconstruction algorithm. Our method seems more attractive than other methods for useless variable elimination in several respects. First, it is simple, so that the proof of the correctness is clear and the method can be easily extended to deal with a polymorphic language. Second, it is efficient: it runs in time almost linear in the size of an input expression for a simply-typed &lgr;-calculus, while Wand and Siveroni's 0CFA-based method may require a cubic time. Moreover, our transformation is optimal in a certain sense among those that preserve well-typedness, both for the simply-typed language and for an ML-style polymorphically-typed language. On the other hand, Wand and Siveroni's method is not optimal for the polymophically-typed language.