Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Communicating sequential processes
Communicating sequential processes
Abstraction and specification in program development
Abstraction and specification in program development
Structure and interpretation of computer programs
Structure and interpretation of computer programs
The annotated C++ reference manual
The annotated C++ reference manual
Common LISP: the language (2nd ed.)
Common LISP: the language (2nd ed.)
Project Oberon: the design of an operating system and compiler
Project Oberon: the design of an operating system and compiler
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Coroutines
An Interpreter for Extended Lambda Calculus
An Interpreter for Extended Lambda Calculus
Programming in Modula-2
The NEURON simulation environment
Neural Computation
A software engineering perspective on algorithmics
ACM Computing Surveys (CSUR)
JMatch: Iterable Abstract Pattern Matching for Java
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Theory and Generality of Complete Traversals
Selected Papers from the International Seminar on Generic Programming
Supporting software composition at the programming language level
Science of Computer Programming - Special issue on new software composition concepts
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
STLlint: lifting static checking from languages to libraries
Software—Practice & Experience
DLS '05 Proceedings of the 2005 symposium on Dynamic languages
A technique for generic iteration and its optimization
Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming
Mixing source and bytecode: a case for compilation by normalization
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
ACM Transactions on Programming Languages and Systems (TOPLAS)
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Responders: language support for interactive applications
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Unified selection from lists, arrays, and objects
Computer Languages, Systems and Structures
Synthesizing iterators from abstraction functions
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Hi-index | 0.00 |
Sather extends the notion of an iterator in a powerful new way. We argue that iteration abstractions belong in class interfaces on an equal footing with routines. Sather iterators were derived from CLU iterators but are much more flexible and better suited for object-oriented programming. We retain the property that iterators are structured, i.e., strictly bound to a controlling structured statement. We motivate and describe the construct along with several simple examples. We compare it with iteration based on CLU iterators, cursors, riders, streams, series, generators, coroutines, blocks, closures, and lambda expressions. Finally, we describe experiences with iterators in the Sather compiler and libraries.