Polymorphic time systems for estimating program complexity
ACM Letters on Programming Languages and Systems (LOPLAS)
A natural semantics for lazy evaluation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Static dependent costs for estimating execution time
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Principal types and unification for simple intersection type systems
Information and Computation
Rank 2 intersection type assignment in term rewriting
Fundamenta Informaticae
Proving the correctness of reactive systems using sized types
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Principality and decidable type inference for finite-rank intersection types
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Intersection types and computational effects
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Cost recurrences for DML programs
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Higher-Order and Symbolic Computation
Principles of Program Analysis
Principles of Program Analysis
A Decidable Intersection Type System based on Relevance
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Rank 2 intersection types for local definitions and conditional expressions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Rank 2 Type Systems and Recursive Definitions
Rank 2 Type Systems and Recursive Definitions
Modular control-flow analysis with rank 2 intersection types
Mathematical Structures in Computer Science
Cost analysis using automatic size and time inference
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
An invariant cost model for the lambda calculus
CiE'06 Proceedings of the Second conference on Computability in Europe: logical Approaches to Computational Barriers
Rank-2 intersection and polymorphic recursion
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Type-Based amortised heap-space analysis
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Hi-index | 0.00 |
This paper presents a system of cost derivation for higherorder and polymorphic functional programs based on a notion of sized types and exploiting a type-and-effect system approach. The paper gives an operational semantics of cost for a simple strict functional language in terms of λ-calculus β-reduction steps and introduces type rules describing cost effects. The type system is based on intersection types. The use of discrete polymorphism (intersection types) instead of the usual parametric polymorphism approach improves the analysis and solves, in many cases, the "size aliasing problem" that has been identified as a limitation on previous type-and-effect approaches. Finally we provide a proof of the soundness of our effect system with respect to the cost semantics.