Is Functional Programming Better for Modularity?
In 1989 John Hughes published an influential position paper entitled “Why Functional Programming Matters”. The article extolls the virtues of lazy functional programming by developing several examples: the Newton-Rhapson squares root method, numerical differentiation and integration, and an alpha-beta minimax search. A main conclusion of that work is that higher-order functions and lazy evaluation significantly contribute to modularity. We have found that recent articles from 2010 to 2014 cite Hughes’ work as seminal work supporting that functional programming is, in general, good for modularity. We believe that this reflects an unstated hypothesis in part of the research community: that functional programming is inherently better at modularity. To the best of our knowledge there are no (large-scale) empirical evaluations of this characteristic. In this paper we discuss the influence of “Why Functional Programming Matters”, the recent citations that intrigues us, and provide a small experiment on the GHC Haskell compiler that suggest the existence of modularity issues in it, prompting the need for further research.
|Is Functional Programming Better for Modularity? (plateau2015-figueroa.pdf)||374KiB|