Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Seque: An Experimental Language for Manipulating Sequences

IP.com Disclosure Number: IPCOM000128302D
Original Publication Date: 1983-Dec-31
Included in the Prior Art Database: 2005-Sep-15
Document File: 14 page(s) / 37K

Publishing Venue

Software Patent Institute

Related People

Ralph E. Griswold: AUTHOR [+3]

Abstract

A companion report [1] presents a notation for describing and manipulating sequences. This notation is intended as a basis for programming language facilities for treating sequences as data objects. In particular, it is oriented toward sequences that are produced over a period of time by computations as well as the more traditional storage-oriented sequences, where the elements of the sequences exist in memory. This report describes an experimental programming language called Seque. Seque is embedded in the Icon programming language [2]. Embedding new features in an existing language is much easier than designing and implementing a new language from scratch. This approach is particularly appropriate here, since the ideas are experimental and likely to be changed as the result of experience with their use. By embedding the new features in an existing language, a full repertoire of computational facilities is available to support the new facilities without any extra implementation effort. Icon is particularly suitable for the embedding language, since its expression mechanism is capable of producing sequences of results, which is closely related to the new features. Further-more, Icon has the necessary facilities for creating and manipulating sequences as data objects. The implementation of Seque is accomplished via a preprocessor that translates new syntactic construc-tions into standard Icon with calls to procedures in a runtime support library. The implementation is described in a separate report (3]. One disadvantage of embedding Seque in Icon is that concessions have to be made to the existing syntax of Icon. As a result, some aspects of the notation for manipulating sequences are represented in slightly awkward ways. More seriously, some of the semantic features of Seque do not co-exist well with those of Icon. This leads to potential problems in programming, which are discussed in Section 3.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 12% of the total text.

Page 1 of 14

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

Seque: An Experimental Language for Manipulating Sequences*

Ralph E. Griswold

TR 83-16

November 30, 1983

Department of Computer Science The University of Arizona Tucson, Arizona 85721

*This work was supported by the National Science Foundation under Grant MCS81-01916.

1. Introduction

A companion report [1] presents a notation for describing and manipulating sequences. This notation is intended as a basis for programming language facilities for treating sequences as data objects. In particular, it is oriented toward sequences that are produced over a period of time by computations as well as the more traditional storage-oriented sequences, where the elements of the sequences exist in memory. This report describes an experimental programming language called Seque. Seque is embedded in the Icon programming language
[2].

Embedding new features in an existing language is much easier than designing and implementing a new language from scratch. This approach is particularly appropriate here, since the ideas are experimental and likely to be changed as the result of experience with their use. By embedding the new features in an existing language, a full repertoire of computational facilities is available to support the new facilities without any extra implementation effort. Icon is particularly suitable for the embedding language, since its expression mechanism is capable of producing sequences of results, which is closely related to the new features. Further-more, Icon has the necessary facilities for creating and manipulating sequences as data objects.

The implementation of Seque is accomplished via a preprocessor that translates new syntactic construc-tions into standard Icon with calls to procedures in a runtime support library. The implementation is described in a separate report (3].

One disadvantage of embedding Seque in Icon is that concessions have to be made to the existing syntax of Icon. As a result, some aspects of the notation for manipulating sequences are represented in slightly awkward ways. More seriously, some of the semantic features of Seque do not co-exist well with those of Icon. This leads to potential problems in programming, which are discussed in Section 3.

2. Seque Language Features

The language features of Seque are based on the concepts described in [1) with a few additions and exten-sions for programming considerations. The features from [I I are represented in Seque as described in the fol-lowing section.

University of Arizona Page 1 Dec 31, 1983

Page 2 of 14

Seque: An Experimental Language for Manipulating Sequences

2.1 Basic Features

Sequences are data objects of type Sequence. In the sections that follow, identifiers that begin with uppercase letters are used to indicate sequence-valued expressions.

The following global identifiers have predefined sequences as values:

(Equation Omitted)

The following expressions are available for manipulati...