A Cocktail of Tools: Domain-Specific Languages for Task-Oriented Software Development

Jurriën Stutterheim · Radboud Repository (Radboud University) · 2017

HASKELL it in the browser, while maintaining Haskell's lazy semantics.• We introduce the Foreign Expression Language (FEL), which allows for interfacing with object-oriented languages via the FFI.• We provide evidence that it is now possible to write a web application completely in Haskell.• We provide a basic library with bindings to common JavaScript APIs.The rest of this chapter is structured as follows: Section 2.2 introduces the UHC JavaScript runtime system (RTS).Section 2.3 covers the FFI with our additions, after which Section 2.4 shows how we have implemented a fully working JavaScript application completely in Haskell.Sections 2.5 and 2.6 discuss future and related work respectively, after which Section 2.7 concludes.We assume at least some familiarity with the Haskell Foreign Function Interface (FFI) and JavaScript. The UHC-JavaScript libraryWe provide the UHC-JavaScript library 2 to streamline the development of Java-Script applications with UHC.It contains bindings to standard ECMAScript [36], the formal standard behind JavaScript, as well as bindings to the jQuery library 3 .The library aims to provide a bare-metal interface that is consistent with the JavaScript functions.Eventually, this library should form a core upon which more (functional) abstractions are built.We shall make use of this library in the rest of this chapter.

Read the paper · More papers on PaperTik