HaskellCompass: Extending the CodeCompass comprehension framework for Haskell
Boldizsár Németh, Tibor Brunner
Abstract
Boldizsár Németh, Tibor Brunner
Abstract
While functional programming is an emerging and efficient way to express complex software, the tool support for functional programming languages, like Haskell, is not always satisfactory. There are no tools that can provide code insight for large Haskell projects that limits the potential of the language’s usability.CodeCompass is an open-source LLVM/Clang-based tool developed by Ericsson Ltd. and Eötvös Loránd University, Budapest to help the understanding of large legacy software systems. Based on the LLVM/Clang compiler infrastructure, CodeCompass gives exact information on complex C/C++ language elements and is regularly used by hundreds of designers and developers.In this paper we present a Haskell plugin for the CodeCompass tool that is able to analyse large Haskell projects and provide useful information for the developers. We suggest useful comprehension queries and actions that enhance developer efficiency. Additionally we show the implementation of such a solution and measure the performance cost of using it.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
While functional programming is an emerging and efficient way to express complex software, the tool support for functional programming languages, like Haskell, is not always satisfactory. There are no tools that can provide code insight for large Haskell projects that limits the potential of the language’s usability.CodeCompass is an open-source LLVM/Clang-based tool developed by Ericsson Ltd. and Eötvös Loránd University, Budapest to help the understanding of large legacy software systems. Based on the LLVM/Clang compiler infrastructure, CodeCompass gives exact information on complex C/C++ language elements and is regularly used by hundreds of designers and developers.In this paper we present a Haskell plugin for the CodeCompass tool that is able to analyse large Haskell projects and provide useful information for the developers. We suggest useful comprehension queries and actions that enhance developer efficiency. Additionally we show the implementation of such a solution and measure the performance cost of using it.
Key concepts: Haskell, Computer science, Programming language, Program comprehension, Comprehension, Functional programming, Software, Software system