ACM Home Page
Please provide us with feedback. Feedback
Subsequence references: first-class values for substrings
Full text PdfPdf (1.31 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 14 ,  Issue 4  (October 1992) table of contents
Pages: 471 - 489  
Year of Publication: 1992
ISSN:0164-0925
Author
Wilfred J. Hansen  Carnegie Mellon Univ., Pittsburgh, PA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 28,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/133233.133234
What is a DOI?

ABSTRACT

Arrays of characters are a basic data type in many programming languages, but strings and substrings are seldom accorded first-class status as parameters and return values. Such status would enable a routine that calls a search function to readily access context on both sides of a return value. To enfranchise substrings, this paper describes a new data type for substrings as a special case of one for general subsequences. The key idea is that values are not sequences or references to positions in sequences, but rather references to subsequences. Primitive operations on the data type are constants, concatenation, and four new functions—base, start, next, and extent—which map subsequence references to subsequence references. This paper informally presents the data type, demonstrates its convenience for defining search functions, and shows how it can be concisely implemented. Examples are given in Ness, a language incorporating the new data type, which is implemented as part of the Andrew User Interface System.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
CARDELLI, L., DONAHUE, J., GLASSMAN, L., JORDAN, M., KALSOW, B., AND NELSON, G. Modula-3 Report. Res. Rep. 31, Digital Systems Research Center, Palo Alto, Ca., 1988.
 
2
Center for Design of Educational Computing, CMU. The cTtre Programming Languoge. Falcon Software, Wentworth, N.H., 1989.
 
3
GLICKSTEIN, R. Lisp Primitives in ELI, the Embedded Lisp Interpreter. Information Technology Center, Carnegie Mellon Univ, 1990.
 
4
 
5
6
 
7
HANSEN, W. J. The computational power of an algebra for subsequences. Tech. Rep. CMU-ITC-083, Information Technology Center, Carnegie Mellon Univ., 1989.
 
8
HANSE~, W.J. Ness Language Reference Manual. Information Technology Center, Carnegie Mellon Univ., 1989.
 
9
HANSEN, W.J. Enhancing documents with embedded programs: How Ness extends insets in the Andrew ToolKit. In Proceedmgs of the 1990 International Conference on Computer Languages. IEEE Computer Society Press, Los Alamitos, Ca., 1990, pp. 23-32.
 
10
 
11
IBM Corporation PL/I language specifications. Tech. Rep. C28-6571-0, IBM Corp., Data Processing Division, White Plains, N.Y. 1965.
 
12
McKEEMAN, W. M., HORNING, J. J, AND WORTMAN, D.B. A Compiler Generator. Prentice- Hall, Englewood Cliffs, N.J., 1970.
13
 
14
PALAY, A. J., HANSEN, W. J., SHERMAN, M., WADLOW, M., NEUENDORFFER, T., STERN, Z., BADER, M., AND PETERS, T. The Andrew Toolkit An overview. In Proceedings of the USENIX Winter Conferel2ce (Dallas, Tex., Feb. 1988), pp. 9 21.
15
16



REVIEW

"Peter N. van den Bosch : Reviewer"

The introduction notes that, in spite of the steadily increasing importance of text and string operations over the history of computing, programming language facilities that incorporate substrings as first-class values are largely  more...