Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorDijkstra, A.
dc.contributor.advisorSwierstra, S.D.
dc.contributor.authorGooijer, R.A. de
dc.date.accessioned2018-07-19T17:04:31Z
dc.date.available2018-07-19T17:04:31Z
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/29559
dc.description.abstractTraditionally 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.sponsorshipUtrecht University
dc.format.extent767354
dc.format.mimetypeapplication/pdf
dc.language.isoen_US
dc.titlewxHaskell for the web: substituting C++ with Haskell and JavaScript
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordsOOP, Haskell, JavaScript, Language Design, Functional Programming, wxHaskell
dc.subject.courseuuSoftware Technology


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record