Content area

Abstract

In a typical data-processing application, the representation of data in memory is distinct from its representation in a serialized form on disk. The former has pointers and an arbitrary, sparse layout, facilitating easier manipulation by a program, while the latter is packed contiguously, facilitating easier I/O. I propose a programming language, LoCal, that unifies the in-memory and on-disk representations of data. LoCal extends prior work on region calculi into a location calculus, employing a type system that tracks the byte-addressed layout of all heap values. I present the formal semantics of LoCal and prove type safety, and show how to infer LoCal programs from unannotated source terms. Then, I demonstrate how to efficiently implement LoCal in a practical compiler that produces code competitive with hand-written C.

Details

1010268
Title
A Language-Based Approach to Programming with Serialized Data
Author
Number of pages
125
Publication year
2021
Degree date
2021
School code
0093
Source
DAI-A 82/8(E), Dissertation Abstracts International
ISBN
9798582505686
Advisor
Committee member
Siek, Jeremy; Moss, Larry; Tobin-Hochstadt, Sam
University/institution
Indiana University
Department
Computer Science
University location
United States -- Indiana
Degree
Ph.D.
Source type
Dissertation or Thesis
Language
English
Document type
Dissertation/Thesis
Dissertation/thesis number
28316989
ProQuest document ID
2494910532
Document URL
https://www.proquest.com/dissertations-theses/language-based-approach-programming-with/docview/2494910532/se-2?accountid=208611
Copyright
Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.
Database
ProQuest One Academic