dc.contributor |
Newton, Ryan |
|
dc.creator |
Vollmer, Michael |
|
dc.date |
2021-03-16T16:58:52Z |
|
dc.date |
2021-03-16T16:58:52Z |
|
dc.date |
2021-02 |
|
dc.date.accessioned |
2023-02-24T18:26:30Z |
|
dc.date.available |
2023-02-24T18:26:30Z |
|
dc.identifier |
http://hdl.handle.net/2022/26320 |
|
dc.identifier.uri |
http://localhost:8080/xmlui/handle/CUHPOERS/260282 |
|
dc.description |
Thesis (Ph.D.) - Indiana University, School of Informatics, Computing, and Engineering, 2021 |
|
dc.description |
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. |
|
dc.language |
en |
|
dc.publisher |
[Bloomington, Ind.] : Indiana University |
|
dc.subject |
computer science |
|
dc.subject |
programming languages |
|
dc.subject |
compilers |
|
dc.subject |
types |
|
dc.title |
A LANGUAGE-BASED APPROACH TO PROGRAMMING WITH SERIALIZED DATA |
|
dc.type |
Thesis |
|