Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJanuary 2025
Enumerator-Arguments As a Language Tool for Defining Loops
Programming and Computing Software (KLU-PACS), Volume 50, Issue Suppl 2Pages S134–S143https://doi.org/10.1134/S036176882470052XAbstractA new syntactic construct to define processing cycles for collections and series of values in the form of expressions is proposed as part of the development of new programming languages and improvement of existing ones. The proposed construct uses ...
- research-articleOctober 2014
Accelerating iterators in optimizing AST interpreters
OOPSLA '14: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & ApplicationsPages 727–743https://doi.org/10.1145/2660193.2660223Generators offer an elegant way to express iterators. However, their performance has always been their Achilles heel and has prevented widespread adoption. We present techniques to efficiently implement and optimize generators.
We have implemented our ...
Also Published in:
ACM SIGPLAN Notices: Volume 49 Issue 10 - ArticleOctober 2013
Lock-Free Data-Structure Iterators
DISC 2013: Proceedings of the 27th International Symposium on Distributed Computing - Volume 8205Pages 224–238https://doi.org/10.1007/978-3-642-41527-2_16Concurrent data structures are often used with large concurrent software. An iterator that traverses the data structure items is a highly desirable interface that often exists for sequential data structures but is missing from almost all concurrent data-...
- research-articleSeptember 2012
Synthesizing iterators from abstraction functions
GPCE '12: Proceedings of the 11th International Conference on Generative Programming and Component EngineeringPages 31–40https://doi.org/10.1145/2371401.2371407A technique for synthesizing iterators from declarative abstraction functions written in a relational logic specification language is described. The logic includes a transitive closure operator that makes it convenient for expressing reachability ...
Also Published in:
ACM SIGPLAN Notices: Volume 48 Issue 3 - research-articleJanuary 2010
Lists revisited: Cache-conscious STL lists
ACM Journal of Experimental Algorithmics (JEA), Volume 14Article No.: 5, Pages 3.5–3.27https://doi.org/10.1145/1498698.1564505We present three cache-conscious implementations of STL standard compliant lists. Until now, one could either find simple doubly linked list implementations that easily cope with standard strict requirements, or theoretical approaches that do not take ...
- short-paperOctober 2008
A framework for complex time structures based on coupled lists
OOPSLA Companion '08: Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applicationsPages 831–834https://doi.org/10.1145/1449814.1449875We present a way to represent complex time-based data such as music using ordered timed sequences and coupled lists, emphasizing flexibility and extensibility. We present a number of strategies for traversing systems of aligned, dependent and parallel ...
- posterNovember 2007
Verifying C++ with STL containers via predicate abstraction
ASE '07: Proceedings of the 22nd IEEE/ACM International Conference on Automated Software EngineeringPages 521–524https://doi.org/10.1145/1321631.1321724This paper describes a flexible and easily extensible predicate abstraction-based approach to the verification of STLusage, and observes the advantages of verifying programsin terms of high-level data structures rather than low-level pointer ...
- ArticleNovember 2006
Iterator specification with typestates
SAVCBS '06: Proceedings of the 2006 conference on Specification and verification of component-based systemsPages 79–82https://doi.org/10.1145/1181195.1181212Java iterators are notoriously hard to specify. This paper applies a general typestate specification technique that supports several forms of aliasing to the iterator problem. The presented specification conservatively captures iterator protocols and ...
- ArticleJuly 2006
The Essence of the Iterator Pattern
The ITERATOR pattern gives a clean interface for element-by-element access to a collection. Imperative iterations using the pattern have two simultaneous aspects: mapping and accumulating. Various existing functional iterations model one or other of ...
- ArticleFebruary 2005
Teaching inter-object design patterns to freshmen
SIGCSE '05: Proceedings of the 36th SIGCSE technical symposium on Computer science educationPages 482–486https://doi.org/10.1145/1047344.1047498The benefits of object-oriented programming apply only to programs consisting of multiple objects. Inter-object design patterns make it, in theory, possible for beginning programmers to create well-understood forms of such programs. However, their ...
Also Published in:
ACM SIGCSE Bulletin: Volume 37 Issue 1 - articleSeptember 1998
rdp—an iterator-based recursive descent parser generator with tree promotion operators
ACM SIGPLAN Notices (SIGPLAN), Volume 33, Issue 9Pages 87–94https://doi.org/10.1145/290229.290240rdp is a parser generator which accepts Iterator Backus Naur Form productions decorated with attributes and ANSI-C actions and produces recursive descent parsers. It has special support for the generation of tree-based intermediate forms, built-in ...
- ArticleNovember 1997
Design Patterns in Garbage Collection
This paper describes several design patterns found in garbage collectors. The patterns we present are divided into two groups. The first group are two new design patterns: Rootset and TriColour that have been used in the garbage collection domain for up ...
- articleJanuary 1995
A new iteration mechanism for the C++ programming language
ACM SIGPLAN Notices (SIGPLAN), Volume 30, Issue 1Pages 20–26https://doi.org/10.1145/199818.199841A new mechanism for writing iterators in the C++ programming language is proposed in this paper. It provides a handy notation for writing general iterators easily, and a simple semantics based-on semicoroutines. A set of useful programming idioms for ...
- research-articleApril 1990
The Effect of Data Abstraction on Loop Programming Techniques
IEEE Transactions on Software Engineering (ISOF), Volume 16, Issue 4Pages 389–402https://doi.org/10.1109/32.54291It is shown how loop algorithms can be encompassed in an iterator and then activated for any data type for which a generator can be defined. It takes the iterator-generator idea a step further than previous work in that it permits variations of the ...