A Spotlight on the Role of Functional Programming & Haskell in Computing & Software Development
摘要
This paper casts a spotlight on the role of functional programming (FP), using Haskell, in shaping software development education, with particular attention to its foundational mathematical abstractions derived from type theory. Through a systematic review of twenty-eight empirical studies spanning 2015–2025, we examine how Haskell's emphasis on purity, composability, immutability, and declarative semantics serves as an ideal medium for illustrating core software design principles in mathematically rigorous yet pedagogically meaningful ways. Our analysis reveals three critical themes: educational effectiveness demonstrates mixed but promising outcomes when functional programming concepts are integrated rather than taught in isolation; mathematical reasoning and abstract thinking development show consistent benefits across multiple longitudinal studies; and transfer learning to mainstream object-oriented languages exhibits selective effectiveness requiring targeted pedagogical support. We explore how Haskell's abstractions—including polymorphic types, algebraic data types, type classes, functors, and monads—relate to abstractions in mainstream languages such as generics, interfaces, inheritance, polymorphism and monads, offering practical strategies for easing the teaching and learning curve in multi-paradigm programming environments. In an era where AI tools increasingly generate code, our findings suggest that FP education becomes more rather than less critical, as it develops the mathematical reasoning and abstract thinking capabilities essential for effective human-AI collaboration in software development. The evidence demonstrates that Haskell serves not only as a powerful FP tool but also as a conceptual bridge enabling students to master mainstream programming languages while developing principled approaches to software construction, requirements analysis, and system design that remain fundamental human competencies.