View Item 
        •   Utrecht University Student Theses Repository Home
        • UU Theses Repository
        • Theses
        • View Item
        •   Utrecht University Student Theses Repository Home
        • UU Theses Repository
        • Theses
        • View Item
        JavaScript is disabled for your browser. Some features of this site may not work without it.

        Browse

        All of UU Student Theses RepositoryBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

        wxHaskell for the web: substituting C++ with Haskell and JavaScript

        Thumbnail
        View/Open
        thesis.pdf (749.3Kb)
        Author
        Gooijer, R.A. de
        Metadata
        Show full item record
        Summary
        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.
        URI
        https://studenttheses.uu.nl/handle/20.500.12932/29559
        Collections
        • Theses
        Utrecht university logo