Detecting global variables in denotational specifications
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Why functional programming matters
The Computer Journal - Special issue on Lazy functional programming
Making data structures persistent
Journal of Computer and System Sciences - 18th Annual ACM Symposium on Theory of Computing (STOC), May 28-30, 1986
Strictness analysis aids time analysis
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The definition of Standard ML
Complexity analysis for a lazy higher-order language
Proceedings of the third European symposium on programming on ESOP '90
A composition approach to time analysis of first order lazy functional programs
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
Real-time deques, multihead Turing machines, and purely functional programming
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Eliminating amortization: on data structures with guaranteed response time
Eliminating amortization: on data structures with guaranteed response time
Persistent lists with catenation via recursive slow-down
STOC '95 Proceedings of the twenty-seventh annual ACM symposium on Theory of computing
A data structure for manipulating priority queues
Communications of the ACM
The Science of Programming
ISAAC '93 Proceedings of the 4th International Symposium on Algorithms and Computation
Amortization, lazy evaluation, and persistence: lists with catenation via lazy linking
FOCS '95 Proceedings of the 36th Annual Symposium on Foundations of Computer Science
The efficient implementation of very-high-level programming language constructs
The efficient implementation of very-high-level programming language constructs
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Making data structures confluently persistent
SODA '01 Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms
Inductive benchmarking for purely functional data structures
Journal of Functional Programming
Journal of Functional Programming
Making data structures confluently persistent
Journal of Algorithms - Special issue: Twelfth annual ACM-SIAM symposium on discrete algorithms
FUNCTIONAL PEARL: Marble mingling
Journal of Functional Programming
Algorithms and theory of computation handbook
Lenient evaluation is neither strict nor lazy
Computer Languages
Hi-index | 0.00 |
Traditional techniques for designing and analyzing amortized data structures in an imperative setting are of limited use in a functional setting because they apply only to single-threaded data structures, yet functional data structures can be non-single-threaded. In earlier work, we showed how lazy evaluation supports functional amortized data structures and described a technique (the banker's method) for analyzing such data structures. In this paper, we present a new analysis technique (the physicist's method) and show how one can sometimes derive a worst-case data structure from an amortized data structure by appropriately scheduling the premature execution of delayed components. We use these techniques to develop new implementations of FIFO queues and binomial queues.