CONTROL MECHANISMS FOR GENERATORS IN ICON
type: CreativeWork
description: Generators, or expressions capable of producing a sequence of results during evaluation, are found in one form or another in a number of programming languages. The use of generators has been limited by a lack of understanding of their operation. Control structures for generating expressions are usually patterned after the control structures found in conventional language designs. A notation for describing the static aspects of generators is presented in this dissertation. This notation is used to describe the operation of the generator-based control structures in Icon and to introduce several novel control structures based upon generator evaluation. Co-expressions are introduced as the expression-level equivalent of coroutines, and combined with generators to provide a powerful programming facility. Finally, machine and language independent models for implementation of goal-directed evaluation and co-expressions are presented.
abstract: Generators, or expressions capable of producing a sequence of results during evaluation, are found in one form or another in a number of programming languages. The use of generators has been limited by a lack of understanding of their operation. Control structures for generating expressions are usually patterned after the control structures found in conventional language designs. A notation for describing the static aspects of generators is presented in this dissertation. This notation is used to describe the operation of the generator-based control structures in Icon and to introduce several novel control structures based upon generator evaluation. Co-expressions are introduced as the expression-level equivalent of coroutines, and combined with generators to provide a powerful programming facility. Finally, machine and language independent models for implementation of goal-directed evaluation and co-expressions are presented.
author: Wampler, Stephen Berry
language: en_US
keywords: Icon (Computer program language), Function generators (Electronic analog computers)
date published: 1981
date modified: 2026-07-24T00:56:11Z
provider: University of Arizona
publisher: Networked Digital Library of Theses and Dissertations
type: WebPage
source organization: The University of Arizona.

PropertyValue
property ID: Handle
value: http://hdl.handle.net/10150/282058