| S. Murer, S. Omohundro, D. Stoutamire, C. Szyperski, Iteration abstraction in Sather, ACM Transactions on Programming Languages and Systems 18 (1) (1996) 1--15. |
.... In this case maintaining the state is implicit in the controlflow of the the explode function and in particular the borderline cases are handled correctly by definition. Streams and generators are not new concepts. They are supported by a wide range of languages in various forms [19, 5, 37, 26, 29, 34]. Our approach is a little di#erent in that: We classify streams into a hierachy of streams of di#erent length (see below) We automatically flatten streams of streams (see Section 2.1) We identify the value null with the empty stream (see Section 2.2) To keep type checking ....
S. Murer, S. Omohundro, D. Stoutamire, and C. Szyperski. Iteration abstraction in Sather. ACM Transactions on Programming Languages and Systems, 18(1):1--15, January 1996.
....3.7 Coroutine Generator As discussed in Section 2.5, a generator is an important programming tool, needed to maintain abstraction and encapsulation for certain kinds of data structures. Another example of the power of a coroutine is in constructing generators for complex data structures [MOSS96]. The linked list generator in Section 2.5 showed how a class can be used to remember data state, i.e. the traversal cursor, between member routine calls. Because of the simple nature of a list traversal, the traversal member does not need to retained execution state between calls. However, a ....
....the language. However, this capability does not exist in most other object oriented programming languages nor does it contribute to the notion of coroutines, and therefore, this capability is not discussed here. 12.1. 1 Generators Some languages, e.g. Alphard [Sha81] CLU [LAB 81] and Sather [MOSS96] provide a limited form of coroutine solely for the purpose of constructing generators (see Sections 2.5 and 3.7) The generator in CLU, called an iterator, is presented as an example. A CLU iterator is defined like a procedure, which may have parameters but must have a return value. In addition, ....
Stephan Murer, Stephen Omohundro, David Stoutamire, and Clemens Szyperski. Iteration Abstraction in Sather. ACM Transactions on Programming Languages and Systems, 18(1):1--15, January 1996.
....(a synapse is an object with a pre and a postsynaptic logical connection) the interpreter offers one other fundamental language feature that can be useful in dealing with objects that are collections of other objects. This is the notion of iterators, taken from the Sather programming language (Murer et al. 1996). This is a separation of the process of iteration from that of what is to be done for each item. If a programmer implements one or more iterators in a collection class, the user of the class does not need to know how the class indexes its items. Instead the class will return each item in turn ....
Murer, S., Omohundro, S.M., Stoutamire, D., and Szyerski, C. Iteration abstraction in Sather. ACM Transactions on Programming Languages and Systems 18:1-15, 1996.
No context found.
S. Murer, S. Omohundro, D. Stoutamire, C. Szyperski, Iteration abstraction in Sather, ACM Transactions on Programming Languages and Systems 18 (1) (1996) 1--15.
No context found.
S. Murer, S. Omohundro, D. Stoutamire, C. Szyperski, Iteration abstraction in Sather, ACM Transactions on Programming Languages and Systems 18 (1) (1996) 1--15.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC