Functional Programming and Legacy Software Using PureScript to Extend a Legacy JavaScript System

University essay from Umeå universitet/Institutionen för datavetenskap

Author: Christian Fischer; [2018]

Keywords: ;

Abstract: Legacy systems are everywhere. Immense resources are placed on fixing problems caused by them, and on legacy system maintenance and reverse engineering. After decades of research, a solution has yet to be found. In this thesis, both the viability of using purely functional programming to mitigate problems of legacy systems is investigated, as well as the possibility that purely functiona lprogramming can lead to code that is less likely to lead to legacy problems in the first place. This was done by developing a genome browser in PureScript that embeds, interfaces with, and extends, an existing genome browser written in JavaScript.The resulting codebase is examined, and various characteristics of purely functional programming, and how they helped solve or avoid problems related to legacy systems, are presented. In Conclusion, PureScript is found to be an excellent tool for working with legacy JavaScript, and while the nature of the project limits the conclusions that can be drawn, it appears likely that using purely functional programming, especially with a language suchas PureScript that provides a powerful type-system for ensuring program correctness, leads to code that is more easily understandable, and thus avoids the problems of legacy code.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)