PureScript in web development
Pärssinen, Niko (2024)
Pärssinen, Niko
2024
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2024-05-20
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202404244469
https://urn.fi/URN:NBN:fi:tuni-202404244469
Tiivistelmä
This work explores the utilization of PureScript, a functional programming language, in web development. The objective of this work was to review and investigate the qualities and resources of the language for its suitability for web development. Additionally, the objective was to provide a practical viewpoint by implementing a simple web application for this work.
By examining PureScript’s unique features and qualities, such as strong and expressive typing, interoperability with JavaScript, and domain-specific languages, the work underscores PureScript’s relevance in modern web application development. Since JavaScript and PureScript operate under very different paradigms, PureScript can add many desirable qualities to JavaScript, such as type-safety. The work also investigates resources that are available for PureScript, showcasing many of the libraries and packages available for it. Additionally, the later portion of the work focuses on the ways PureScript code can be tested.
The web application created for this is a simple calculator that allowed for examining the language’s suitability in both, front-end for handling user interface elements, and the backend for handling the logic behind the scenes. Furthermore, This application has a test suite for examining the testing in practice.
Overall, PureScript provides several meaningful qualities for JavaScript. Its many resources make it a viable option for many different tasks in web development. Ultimately, PureScript stands out as a commendable choice. However, it remains one among several alternatives, so for many, learning the functional programming paradigm could be a too large barrier to entry. The primary challenge PureScript faces lies in its relatively small community and therefore ecosystem too. While there are many great resources available for it, it cannot match the vast array of possibilities available, for instance, in JavaScript. After all, PureScript itself is one of the resources for JavaScript.
By examining PureScript’s unique features and qualities, such as strong and expressive typing, interoperability with JavaScript, and domain-specific languages, the work underscores PureScript’s relevance in modern web application development. Since JavaScript and PureScript operate under very different paradigms, PureScript can add many desirable qualities to JavaScript, such as type-safety. The work also investigates resources that are available for PureScript, showcasing many of the libraries and packages available for it. Additionally, the later portion of the work focuses on the ways PureScript code can be tested.
The web application created for this is a simple calculator that allowed for examining the language’s suitability in both, front-end for handling user interface elements, and the backend for handling the logic behind the scenes. Furthermore, This application has a test suite for examining the testing in practice.
Overall, PureScript provides several meaningful qualities for JavaScript. Its many resources make it a viable option for many different tasks in web development. Ultimately, PureScript stands out as a commendable choice. However, it remains one among several alternatives, so for many, learning the functional programming paradigm could be a too large barrier to entry. The primary challenge PureScript faces lies in its relatively small community and therefore ecosystem too. While there are many great resources available for it, it cannot match the vast array of possibilities available, for instance, in JavaScript. After all, PureScript itself is one of the resources for JavaScript.
