Implementing functional programs using mutable abstract data types

Update Item Information
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
Back to Search Results