Modern IDE Support for Functional Programming

Schenkel, Cyrill (2017) Modern IDE Support for Functional Programming. Bachelor thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of FS 2017-BA-EP-Schenkel-Modern IDE Support for Functional Programming (1).pdf]
FS 2017-BA-EP-Schenkel-Modern IDE Support for Functional Programming (1).pdf - Supplemental Material

Download (464kB) | Preview


Functional programming concepts have recently received a lot of attention, as many mainstream programming languages, such as C#, C++ and Java have adopted concepts like lambda expressions and lazy streams. Despite this development, the growth of adoption of functional programming languages by industry still lags behind.

By researching literature on this topic, interviewing students and industry professionals, who work with functional programming, and analysing the state of the art of functional programming IDEs, a set of requirements could be deduced. Based on this set of requirements an architecture for functional programming IDEs is proposed. Additionally a proof of concept was implemented in Haskell to show how the results could be applied and what difficulties arise during the implementation of the proposed architecture.

During the conceptual stage of the project, multiple architectural problems were found in existing functional programming IDEs. Based on the acquired set of requirements and these deficiencies, a new micro-services based architecture is proposed along with a proof of concept implementation. There is still a lot of work to do in this area. Specifically in the case of Haskell, where the tools are very fragmented.

Item Type: Thesis (Bachelor)
Subjects: Topics > Software > Optimization
Area of Application > Development Tools
Technologies > Programming Languages
Technologies > Frameworks and Libraries > Eclipse
Technologies > Security > Proxy
Divisions: Bachelor of Science FHO in Informatik > Bachelor Thesis
Depositing User: HSR Deposit User
Thesis advisor
Mehta, Farhad
Date Deposited: 18 Oct 2017 06:34
Last Modified: 18 Oct 2017 06:34

Actions (login required)

View Item
View Item