2 options
Bidirectional programming languages.
Connect to full text Available online
View online- Format:
- Book
- Thesis/Dissertation
- Author/Creator:
- Foster, John Nathan.
- Language:
- English
- Subjects (All):
- Computer science.
- 0984.
- Penn dissertations--Computer and information science.
- Computer and information science--Penn dissertations.
- Local Subjects:
- Penn dissertations--Computer and information science.
- Computer and information science--Penn dissertations.
- 0984.
- Physical Description:
- 269 pages
- Contained In:
- Dissertation Abstracts International 71-04B.
- System Details:
- Mode of access: World Wide Web.
- text file
- Summary:
- The need to edit source data through a view arises in a host of applications across many different areas of computing. Unfortunately, few existing systems provide support for updatable views. In practice, when they are needed, updatable views are usually implemented using two separate programs: one that computes the view from the source and another that handles updates. This rudimentary design is tedious for programmers, difficult to reason about, and a nightmare to maintain.
- This dissertation presents bidirectional programming languages, which provide an elegant and effective mechanism for describing updatable views. Unlike programs written in an ordinary language, which only work in one direction, programs in a bidirectional language can be run both forwards and backwards: from left to right, they describe functions that map sources to views, and from right to left, they describe functions that map updated views back to updated sources. Besides eliminating redundancy, these languages can be designed to ensure correctness, guaranteeing by construction that the two functions work well together.
- Starting from the foundations, we define a general semantic space of well-behaved bidirectional transformations called lenses. Then, building on this foundation, we describe a particular language for defining lenses on strings with syntax based on the familiar regular operators (union, concatenation, and Kleene star). We present extensions to the basic framework that address the subtle complications that arise when lenses are used to manipulate, data containing unimportant details, ordered data, and confidential data.
- Notes:
- Thesis (Ph.D. in Computer and Information Science) -- University of Pennsylvania, 2009.
- Source: Dissertation Abstracts International, Volume: 71-04, Section: B, page: 2486.
- Adviser: Benjamin C. Pierce.
- Local Notes:
- School code: 0175.
- ISBN:
- 9781109710137
- Access Restriction:
- Restricted for use by site license.
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.