Welcome to the upgraded MacSphere! We're putting the finishing touches on it; if you notice anything amiss, email macsphere@mcmaster.ca

Type-Safe Domain-Specific Code Graph Construction Using Scala

dc.contributor.advisorAnand, Christopher
dc.contributor.authorBroadhead, Simon
dc.contributor.departmentComputing and Softwareen_US
dc.date.accessioned2015-10-30T13:23:19Z
dc.date.available2015-10-30T13:23:19Z
dc.date.issued2016
dc.description.abstractAs an extension to the ongoing Coconut (COde COnstructing User Tool) project at McMaster University, we present a Scala library for constructing type-safe domain-specific languages that uses Coconut’s hypergraph-based representation of code (code graphs) as the intermediate representation. Our library automatically produces strongly typed, deeply embedded DSLs given only a minimal specification of the DSL’s value types and primitives. We make extensive use of path-dependent types and implicit argument lookup to construct a type-safe interface on-the-fly, rather than requiring DSL designers to explicitly create a type-safe interface. In this thesis we present our library and demonstrate its utility as both a general-purpose DSL framework and as a suitable platform for continued research on the Coconut project. By giving practical examples of the library in use, we demonstrate both its general utility, and the striking swiftness with which new DSLs may be constructed, especially compared to the previously laborious Haskell DSLs of Coconut.en_US
dc.description.degreeMaster of Science (MSc)en_US
dc.description.degreetypeThesisen_US
dc.identifier.urihttp://hdl.handle.net/11375/18494
dc.language.isoenen_US
dc.subjectscalaen_US
dc.subjectprogramming languageen_US
dc.subjectdomain-specificen_US
dc.subjecthaskellen_US
dc.subjecttype safetyen_US
dc.subjectcoconuten_US
dc.titleType-Safe Domain-Specific Code Graph Construction Using Scalaen_US
dc.typeThesisen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
thesis.pdf
Size:
919.61 KB
Format:
Adobe Portable Document Format
Description:
Masters Thesis

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.68 KB
Format:
Item-specific license agreed upon to submission
Description: