Show simple item record

dc.contributor.authorRapoport, Marianna
dc.date.accessioned2019-12-13 19:34:15 (GMT)
dc.date.available2019-12-13 19:34:15 (GMT)
dc.date.issued2019-12-13
dc.date.submitted2019-11-11
dc.identifier.urihttp://hdl.handle.net/10012/15322
dc.description.abstractThe goal of my thesis is to enable formal reasoning about the Scala programming language. To that end I present a core calculus that formalizes Scala's i) essential features in a ii) type-safe way and is iii) easy to extend with more features. I build on the Dependent Object Types (DOT) calculus that formalizes path-dependent types. My contributions are i) a generalization of DOT with types that depend on paths of arbitrary length, ii) a simple, extensible type-safety proof for DOT, and iii) an extension of DOT with mutable references. The simple proof makes designing smaller extensions such as mutation straightforward, and larger extensions, such as full support for paths, approachable. Adding fully path-dependent types to DOT allows us to model the key feature of Scala's type and module system. The calculi and proofs presented in my thesis are fully mechanized in Coq.en
dc.language.isoenen
dc.publisherUniversity of Waterlooen
dc.relation.urihttps://amaurremi.github.io/dot-calculus/en
dc.subjectCoqen
dc.subjectDOTen
dc.subjectprogramming languagesen
dc.subjectScalaen
dc.subjecttype safetyen
dc.subjecttype systemsen
dc.titleA Path to DOT: Formalizing Scala with Dependent Object Typesen
dc.typeDoctoral Thesisen
dc.pendingfalse
uws-etd.degree.departmentDavid R. Cheriton School of Computer Scienceen
uws-etd.degree.disciplineComputer Scienceen
uws-etd.degree.grantorUniversity of Waterlooen
uws-etd.degreeDoctor of Philosophyen
uws.contributor.advisorLhoták, Ondřej
uws.contributor.affiliation1Faculty of Mathematicsen
uws.published.cityWaterlooen
uws.published.countryCanadaen
uws.published.provinceOntarioen
uws.typeOfResourceTexten
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record


UWSpace

University of Waterloo Library
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4883

All items in UWSpace are protected by copyright, with all rights reserved.

DSpace software

Service outages