Browse Prior Art Database

ASPECTS OF APPLICATIVE PROGRAMMING FOR FILE SYSTEMS

IP.com Disclosure Number: IPCOM000148932D
Original Publication Date: 1977-Jan-31
Included in the Prior Art Database: 2007-Mar-30
Document File: 50 page(s) / 2M

Publishing Venue

Software Patent Institute

Related People

Friedman, Daniel P.: AUTHOR [+3]

Abstract

Aspects of Applicative Programming For File Systems% Daniel P. Friedrnan

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 6% of the total text.

Page 1 of 50

Aspects of Applicative Programming
For File Systems%

Daniel P. Friedrnan

David S. Wise

Computer Science Department

Indiana University

Bloomington, Indiana 47401

*To be presented a t ACM Conference on Language Design for Reliable Software, Raleigh, North Carolina, March, 1977.

Research reported herein was supported (in part) by the National Science Foundation under grants numbered DcR~~-06678 and McS75-08145.

[This page contains 1 picture or other non-text object]

Page 2 of 50

[This page contains 1 picture or other non-text object]

Page 3 of 50

Aspects of Applicative Programming for File Systems*

Daniel P. Friedman
David S. Wise

                  
Computer Science Department
Indiana Universit y
Bloomingt on, Indiana 47401
Abstract - This paper develops the implications of recent results
in semantics for applicative programiing. Applying suspended evalu- ation (call-by-need) to the arguments of file construction functions results in an implicit synchronization of computation and output.

The programmer need not participate in the determination of the
pace and the extent of the evaluation of his program. Problems concerning multiple input and multiple output files are considered; typical behavior i s illustrated with an example of a rudimentary
text editor written applicatively. A s shown in the trace of this program, the driver of the program is the sequential output device(s) .

Implications of applicative languages for 1/0 bound operating systems are briefly considered.

Keywords and Phrases - referential transparency, recursive program- ming, real time, shared file, functional combination, suspension, text editor.

CR Categories - 4.22, 4.32, 4.13, 5.24
*Research reported herein was supported (in part) by the National Science Foundation under grants numbered 13~~75-06678
and ~~375-08145.

[This page contains 1 picture or other non-text object]

Page 4 of 50

Introduction

    In this paper we develop the techniques of applicative pro- gramming by extending their domain of application t o the global environment of a computer system. Specifically, the standard para- meter sand result type is presumed to be a file. The structure of
a file roughly corresponds t o a l f s t structure with the most commonly

occurring file being a string of characters. We demonstrate how
the structure of a file and the demands of i t s physical mani-
fest ation determine the macroscopic behavior of the entire system. Our concepts are illustrated by a text editor written as a function.

    Applicative programming is a style of programming characterized by referential transparency* with functions as the only control structure. There are several languages that embody this principle: pure LISP [22, 23, 241, ISWIM [3, 201, GEDANKEN C261, RED 121, and PLASMA 1161. The definitions of these languages are characterized
by mathematically precise semantics which makes them attractive
tools...