Publication Type |
Journal Article |
School or College |
College of Engineering |
Department |
Computing, School of |
Creator |
Gopalakrishnan, Ganesh |
Other Author |
Srivas, Mandayam K. |
Title |
Implementing functional programs using mutable abstract data types |
Date |
1987 |
Description |
We study the following problem in this paper. Suppose we have a purely functional program that uses a set of abstract data types by invoking their operations. Is there an order of evaluation of the operations in the program that preserves the applicative order of evaluation semantics of the program even when the abstract data types behave as mutable modules. An abstract data type is mutable if one of its operations destructively updates the object rather than returning a new object as a result. This problem is important for several reasons. It can help eliminate unnecessary copying of data structure states. It supports a methodology in which one can program in a purely functional notation for purposes of verification and clarity, and then automatically transform the program into one in a n object oriented, imperative language, such as CLU, ADA, Smalltalk, etc., that supports abstract data types. It allows accruing both the benefits of using abstract data types in programming, and allows modularity and verifiability. |
Type |
Text |
Publisher |
University of Utah |
First Page |
1 |
Last Page |
18 |
Subject |
Functional programs; Mutable abstract data; Abstract data types |
Subject LCSH |
Functional programming (Computer science) |
Language |
eng |
Bibliographic Citation |
Gopalakrishnan, G., & Srivas, M. K. (1987). Implementing functional programs using mutable abstract data types. 1-18. UUCS-87-019. |
Series |
University of Utah Computer Science Technical Report |
Relation is Part of |
ARPANET |
Rights Management |
©University of Utah |
Format Medium |
application/pdf |
Format Extent |
10,888,277 bytes |
Identifier |
ir-main,16330 |
ARK |
ark:/87278/s6v12p30 |
Setname |
ir_uspace |
ID |
704022 |
Reference URL |
https://collections.lib.utah.edu/ark:/87278/s6v12p30 |