Data structures and network algorithms
Data structures and network algorithms
Generating editing environments based on relations and attributes
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient incremental evaluation of aggregate values in attribute grammars
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Incremental re-execution of programs
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
Efficient interpretation of synchronizable series expressions
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
Constraint programming languages: their specification and generation
Constraint programming languages: their specification and generation
Real-time concurrent collection on stock multiprocessors
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
INC: a language for incremental computations
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Conditions for incremental iteration: examples and counterexamples
Science of Computer Programming
Editing graphical objects using procedural representations
Editing graphical objects using procedural representations
Making data structures persistent
Journal of Computer and System Sciences - 18th Annual ACM Symposium on Theory of Computing (STOC), May 28-30, 1986
Program derivation by fixed point computation
Science of Computer Programming
Higher order attribute grammars
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Incremental generation of parsers
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Proving relative lower bounds for incremental algorithms
Acta Informatica
Hermes: a language for distributed computing
Hermes: a language for distributed computing
Incremental evaluation of computational circuits
SODA '90 Proceedings of the first annual ACM-SIAM symposium on Discrete algorithms
Representing sets with constant time equality testing
SODA '90 Proceedings of the first annual ACM-SIAM symposium on Discrete algorithms
Juno, a constraint-based graphics system
SIGGRAPH '85 Proceedings of the 12th annual conference on Computer graphics and interactive techniques
Finite Differencing of Computable Expressions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incremental Context-Dependent Analysis for Language-Based Editors
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
Remote attribute updating for language-based editors
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Dynamically bypassing copy rule chains in attribute grammars
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Principles of Database Systems
Principles of Database Systems
Universality of data retrieval languages
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Generating language-based environments
Generating language-based environments
A categorized bibliography on incremental computation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lazy and incremental program generation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Discovering auxiliary information for incremental computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficiency by Incrementalization: An Introduction
Higher-Order and Symbolic Computation
Adaptive functional programming
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Incremental computation of complex object queries
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Processing of Continuous Queries over Unlimited Data Streams
DEXA '02 Proceedings of the 13th International Conference on Database and Expert Systems Applications
Automated Software Engineering Using Concurrent Class Machines
Proceedings of the 16th IEEE international conference on Automated software engineering
Towards a new distributed programming environment (CORDS)
CASCON '91 Proceedings of the 1991 conference of the Centre for Advanced Studies on Collaborative research
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 2
Optimizing aggregate array computations in loops
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incrementalization across object abstraction
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Core role-based access control: efficient implementations by transformations
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Adaptive functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Imperative self-adjusting computation
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Memory management for self-adjusting computation
Proceedings of the 7th international symposium on Memory management
Compiling self-adjusting programs with continuations
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
A cost semantics for self-adjusting computation
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An experimental analysis of self-adjusting computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Traceable data types for self-adjusting computation
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Self-adjusting computation with Delta ML
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
Two for the price of one: a model for parallel and incremental computation
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Safe compiler-driven transaction checkpointing and recovery
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
An incremental computation is one that is performed repeatedly on nearly identical inputs. Incremental computations occur naturally in many environments, such as compilers, language-based editors, spreadsheets, and formatters. This article describes a proposed tool for making it easy to write incremental programs. The tool consists of a programming language, INC, and a set of compile-time transformations for the primitive elements of INC. A programmer defines an algorithm in INC without regard to efficient incremental execution. The transformations automatically convert this algorithm into an efficient incremental algorithm. INC is a functional language. The implementation of an INC program is a network of processes. Each INC function is transformed into a process that receives and transmits messages describing changes to its inputs and outputs. We give an overview to the language and illustrate the incremental techniques employed by INC. We present the static and incremental complexity bounds for the primitive INC functions. We also present some example programs illustrating INC's flexibility.