Implicit self-adjusting computation for purely functional programs. Issue 1 (January 2014)
- Record Type:
- Journal Article
- Title:
- Implicit self-adjusting computation for purely functional programs. Issue 1 (January 2014)
- Main Title:
- Implicit self-adjusting computation for purely functional programs
- Authors:
- CHEN, YAN
DUNFIELD, JOSHUA
HAMMER, MATTHEW A.
ACAR, UMUT A. - Abstract:
- <abstract abstract-type="normal"> <title>Abstract</title> <p>Computational problems that involve dynamic data, such as physics simulations and program development environments, have been an important subject of study in programming languages. Building on this work, recent advances in self-adjusting computation have developed techniques that enable programs to respond automatically and efficiently to dynamic changes in their inputs. Self-adjusting programs have been shown to be efficient for a reasonably broad range of problems, but the approach still requires an explicit programming style, where the programmer must use specific monadic types and primitives to identify, create, and operate on data that can change over time. We describe techniques for automatically translating purely functional programs into self-adjusting programs. In this implicit approach, the programmer need only annotate the (top-level) input types of the programs to be translated. Type inference finds all other types, and a type-directed translation rewrites the source program into an explicitly self-adjusting target program. The type system is related to information-flow type systems and enjoys decidable type inference via constraint solving. We prove that the translation outputs well- typed self-adjusting programs and preserves the source program's input–output behavior, guaranteeing that translated programs respond correctly to all changes to their data. Using a cost semantics, we also prove that the<abstract abstract-type="normal"> <title>Abstract</title> <p>Computational problems that involve dynamic data, such as physics simulations and program development environments, have been an important subject of study in programming languages. Building on this work, recent advances in self-adjusting computation have developed techniques that enable programs to respond automatically and efficiently to dynamic changes in their inputs. Self-adjusting programs have been shown to be efficient for a reasonably broad range of problems, but the approach still requires an explicit programming style, where the programmer must use specific monadic types and primitives to identify, create, and operate on data that can change over time. We describe techniques for automatically translating purely functional programs into self-adjusting programs. In this implicit approach, the programmer need only annotate the (top-level) input types of the programs to be translated. Type inference finds all other types, and a type-directed translation rewrites the source program into an explicitly self-adjusting target program. The type system is related to information-flow type systems and enjoys decidable type inference via constraint solving. We prove that the translation outputs well- typed self-adjusting programs and preserves the source program's input–output behavior, guaranteeing that translated programs respond correctly to all changes to their data. Using a cost semantics, we also prove that the translation preserves the asymptotic complexity of the source program.</p> </abstract> … (more)
- Is Part Of:
- Journal of functional programming. Volume 24:Issue 1(2014)
- Journal:
- Journal of functional programming
- Issue:
- Volume 24:Issue 1(2014)
- Issue Display:
- Volume 24, Issue 1 (2014)
- Year:
- 2014
- Volume:
- 24
- Issue:
- 1
- Issue Sort Value:
- 2014-0024-0001-0000
- Page Start:
- 56
- Page End:
- 112
- Publication Date:
- 2014-01
- Subjects:
- Functional programming (Computer science) -- Periodicals
- Journal URLs:
- http://journals.cambridge.org/action/displayJournal?jid=JFP ↗
http://firstsearch.oclc.org ↗ - DOI:
- 10.1017/S0956796814000033 ↗
- Languages:
- English
- ISSNs:
- 0956-7968
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library STI - ELD Digital store
- Ingest File:
- 3526.xml