dc.rights.license | CC-BY-NC-ND | |
dc.contributor.advisor | Dijkstra, A. | |
dc.contributor.advisor | Swierstra, S.D. | |
dc.contributor.author | Gooijer, R.A. de | |
dc.date.accessioned | 2018-07-19T17:04:31Z | |
dc.date.available | 2018-07-19T17:04:31Z | |
dc.identifier.uri | https://studenttheses.uu.nl/handle/20.500.12932/29559 | |
dc.description.abstract | Traditionally applications were built to run on top of a desktop platform, but this is
changing rapidly and the web is now becoming the default deployment platform.
Especially, with the new HTML5 standard the web becomes an even more attrac-
tive platform for many hybrid client/server applications. In Haskell one of the goto
libraries for building graphical user interfaces is wxHaskell. We are motivated by the
idea of using the high level abstractions of wxHaskell to develop type-safe client-
side web applications in Haskell. With the recent advent of a JavaScript back-end
for UHC this has become an attainable goal. As a proof of concept we have ported
a feature-light version of the wxAsteroids game from the original wxHaskell paper
to the browser leaving the source code almost untouched. We have developed
several tools that have helped us realizing the implementation. First, we improved
the existing JavaScript FFI, its surrounding infrastructure, and created interfaces
to the necessary platform interfaces. Second, we have developed a library for
Object-Oriented programming in Haskell, inspired by OOHaskell, that contrary to
OOHaskell does not dependent on functional dependencies. This library has en-
abled us to maintain the wxHaskell interfaces while substituting the wxWidgets C++
implementation for one written in Haskell implemented in terms of HTML5. | |
dc.description.sponsorship | Utrecht University | |
dc.format.extent | 767354 | |
dc.format.mimetype | application/pdf | |
dc.language.iso | en_US | |
dc.title | wxHaskell for the web: substituting C++ with Haskell and JavaScript | |
dc.type.content | Master Thesis | |
dc.rights.accessrights | Open Access | |
dc.subject.keywords | OOP, Haskell, JavaScript, Language Design, Functional Programming, wxHaskell | |
dc.subject.courseuu | Software Technology | |