Not all extensions are equal: Taxonomy of Haskell language extensions based on function and usage

More Info
expand_more

Abstract

Haskell programming language has a long history of extensions which extend and
modify its syntax and semantics. They range from small quality-of-life syntax im-
provements, to complete overhauls of the type system. Such extensions are commonly
implemented directly as a part of Glasgow Haskell Compiler (GHC) or as plugins for
GHC through its plugin API. This paper looks at the present ecosystem of such lan-
guage extensions, identifying the key categories into which extensions can be separated,
based on how often and in which ways they are used, and their functionality.
We analysed which extensions are used in packages uploaded to Hackage, a central
open-source Haskell archive. We further extracted the metadata about the packages,
including the user-submitted tags and maintainer lists, to ascertain how and when are
language extensions used.
The result of our research is a combination of several proposed potential taxonomies,
that can be used by academics and practitioners alike.

Files

Research_Paper.pdf
(pdf | 3.83 Mb)
License info not available