Title
Internal Iteration Externalized
Abstract
Although it is acknowledged that internal iterators are easier and safer to use than conventional external iterators, it is commonly as- sumed that they are not applicable in languages without builtin support for closures and that they are less flexible than external iterators. We present an iteration framework that uses objects to emulate closures, separates structure exploration and data consumption, and generalizes on folding, thereby invalidating both the above statements. Our pro- posed \transfold" scheme allows processing one or more data structures simultaneously without exposing structure representations and without writing explicit loops. We show that the use of two functional concepts (function parameter- ization and lazy evaluation) within an object-oriented language allows combining the safety and economic usage of internal iteration with the flexibility and client control of external iteration. Sample code is provided using the statically typed Eiffel language.
Year
DOI
Venue
1999
10.1007/3-540-48743-3_15
European Conference on Object-Oriented Programming
Keywords
Field
DocType
iteration framework,internal iteration externalized,internal iteration,external iteration,object-oriented language,external iterators,data consumption,conventional external iterators,data structure,eiffel language,internal iterators,lazy evaluation,object oriented language
Data structure,Closure (computer programming),Program transformation,Programming language,Object-oriented programming,Functional programming,Computer science,Lazy evaluation,Theoretical computer science,Eiffel,Standard Template Library
Conference
Volume
ISSN
ISBN
1628
0302-9743
3-540-66156-5
Citations 
PageRank 
References 
7
1.44
10
Authors
1
Name
Order
Citations
PageRank
Thomas Kühne120217.94