dc.contributor.author | Li, Thomas | |
dc.date.accessioned | 2021-09-20T06:44:27Z | |
dc.date.available | 2021-09-20T06:44:27Z | |
dc.date.issued | 2021-09-20 | |
dc.identifier.uri | http://hdl.handle.net/2077/69659 | |
dc.description.abstract | Internet of Things (IoT) devices are becoming increasingly common in the modern
home, as are IoT-related security vulnerabilities. There are reasons to believe that
many of these vulnerabilities were caused by programming errors made possible due
to working in a low-level programming language. The embedded domain-specific
language (EDSL) Haski provides a way to write low-level applications in the highlevel functional programming language Haskell.
An embedded language inherits many features of its host language with little
effort, but some have proven to be more difficult to utilize than others. Haskell’s
built-in pattern matching is one of its killer features, but also one that is hard to
properly integrate into an embedded language. We explore how pattern matching
can be implemented in deeply-embedded Haskell EDSLs like Haski, and investigate
how to work around fundamental difficulties of pattern matching embedding. We
first demonstrate the limits of the current pattern matching solution in Haski and
then present the process used to develop the resulting pattern matching framework,
including issues encountered and how they were solved. We argue that the framework is applicable to EDSLs with a deeply-embedded design in general, and we
integrate the framework into an existing Haski compiler. | sv |
dc.language.iso | eng | sv |
dc.subject | haskell | sv |
dc.subject | haski | sv |
dc.subject | edsl | sv |
dc.subject | pattern matching | sv |
dc.subject | embedded domain-specific languages | sv |
dc.subject | functional programming | sv |
dc.title | Pattern Matching for Non-inductive Types in Code-generating Haskell EDSLs | sv |
dc.type | text | |
dc.setspec.uppsok | Technology | |
dc.type.uppsok | H2 | |
dc.contributor.department | Göteborgs universitet/Institutionen för data- och informationsteknik | swe |
dc.contributor.department | University of Gothenburg/Department of Computer Science and Engineering | eng |
dc.type.degree | Student essay | |