Show simple item record

dc.contributor.advisorMorris, J Garrett
dc.contributor.authorIngle, Apoorv
dc.date.accessioned2019-04-25T20:07:13Z
dc.date.available2019-04-25T20:07:13Z
dc.date.issued2018-12-31
dc.date.submitted2018
dc.identifier.otherhttp://dissertations.umi.com/ku:16220
dc.identifier.urihttp://hdl.handle.net/1808/27760
dc.description.abstractModern programming languages treat resources as normal values. The static semantics of resources in such languages does not match their runtime semantics. In this thesis, we tackle the resource management problem by making resources first class citizens in the language, and concentrating on sharing or separation of resources. We design and implement QuB (pronounced: cube), a Curry-Howard interpretation of logic of bunched implications (BI) (O’Hearn and Pym, 1999). We distinguish two kinds of values—restricted and unrestricted—and two kinds of function implications— sharing and separating. The restricted values model resources while the unrestricted values model program objects that do not contain any resources. Sharing functions denote that functions share resources with its arguments, while separating functions denote that functions do not share resources with its arguments. We show how the use of monads with sharing and separating functions helps in modeling patterns, such as exception handling, that are difficult to express in linear languages.
dc.format.extent72 pages
dc.language.isoen
dc.publisherUniversity of Kansas
dc.rightsCopyright held by the author.
dc.subjectComputer science
dc.subjectLogic
dc.subjectbi
dc.subjectprogramming language
dc.subjectresource
dc.subjecttypes
dc.titleQuB: A Resource Aware Functional Programming Language
dc.typeThesis
dc.contributor.cmtememberKulkarni, Prasad
dc.contributor.cmtememberAlexander, Perry
dc.contributor.cmtememberGill, Andy
dc.thesis.degreeDisciplineElectrical Engineering & Computer Science
dc.thesis.degreeLevelM.S.
dc.identifier.orcidhttps://orcid.org/0000-0002-7399-9762
dc.rights.accessrightsopenAccess


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record