Do Values Grow on Trees? Expression Integrity in Functional Programming
The authors posit that functional programmers employ a notion called expression integrity to understand programs. They attempt to study the extent to which both novices and experts use this notion as they program, discuss the difficulties that arise in measuring this, and offer some observational findings. Some people advocate the use of functional programming in computer science education, especially at the introductory level. Others oppose it on the grounds that it is not merely outside the mainstream but may even be unnatural (perhaps suggesting the latter as an explanation for the former). Unfortunately, this long debate has seen more heat than light. They believe curricula would be better served by rigorous studies that examine the purported advantages and weaknesses claimed by each side.