Please use this identifier to cite or link to this item:
http://hdl.handle.net/11375/18494
Title: | Type-Safe Domain-Specific Code Graph Construction Using Scala |
Authors: | Broadhead, Simon |
Advisor: | Anand, Christopher |
Department: | Computing and Software |
Keywords: | scala;programming language;domain-specific;haskell;type safety;coconut |
Publication Date: | 2016 |
Abstract: | As 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. |
URI: | http://hdl.handle.net/11375/18494 |
Appears in Collections: | Open Access Dissertations and Theses |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
thesis.pdf | Masters Thesis | 919.61 kB | Adobe PDF | View/Open |
Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.