IJMSC Vol. 11, No. 3, 8 Oct. 2025
Cover page and Table of Contents: PDF (size: 447KB)
PDF (447KB), PP.1-18
Views: 0 Downloads: 0
Category Theory, Functional Programming, Modern Education, Monads, Interdisciplinary Learning, Computer Science Pedagogy
Functional programming is frequently taught in isolation from its mathematical roots, particularly category theory, leading to a fragmented understanding for students. Simultaneously, category theory is often perceived as too abstract and difficult to grasp, despite its foundational role in programming. This gap between theory and practice creates barriers for students, preventing them from fully appreciating the deep connections between functional programming and its underlying mathematical structures. Although there are resources aimed at bridging this divide, such as works by Milewski, MacLane, and Leinster, they often either lack practical examples or fail to delve deeply into the mathematical rigor required for a comprehensive understanding of category theory. This paper presents a novel pedagogical approach that integrates category theory with functional programming in a unified and accessible framework. By leveraging monadic programming, particularly through the list and Maybe monads, we offer concrete examples of how abstract mathematical concepts can address real-world programming challenges, such as handling missing data. Our approach builds on and generalizes Dayou Jiang's method of using programming to teach partially ordered relations. In doing so, we concurrently teach functional programming and category theory, making the abstract more tangible and applicable. This interdisciplinary method not only enhances comprehension of both fields but also aligns with contemporary educational reforms that prioritize integrated learning across mathematical and computational domains.
Fethi Kadhi, "Bridging Category Theory and Functional Programming for Enhanced Learning", International Journal of Mathematical Sciences and Computing(IJMSC), Vol.11, No.3, pp. 1-18, 2025. DOI: 10.5815/ijmsc.2025.03.01
[1]S. MacLane, Category Theory for the Working Mathematician, 2nd ed. Springer-Verlag, 1998.
[2]T. Leinster, Basic Category Theory. Cambridge University Press, 2014.
[3]D. I. Spivak, Category Theory for the Sciences. The MIT Press, 2014.
[4]B. Milewski, Category Theory for Programmers. Leanpub, 2019.
[5]D. Jiang, “Teaching Partial Order Relations: A Programming Approach,” Int. J. Educ. Manag. Eng. (IJEME), vol. 14, no. 1, pp. 25–32, 2024, doi: 10.5815/ijeme.2024.01.03.
[6]F. Kadhi, Basic Principles in Numerical Analysis. Andalus Publishing House, Hail, 2005.
[7]F. Kadhi, The Appropriate Explanation for Computer Mathematics. Rushd Bookstore, Riyadh, 2005.
[8]R. P. Dobrow, Introduction to Stochastic Processes with R. Wiley, 2016.
[9]W. J. Braun and D. J. Murdoch, A First Course in Statistical Programming with R, 3rd ed. Cambridge University Press, 2021.
[10]Y. Boughanmi, “Categorical Modeling of Databases,” Master’s thesis, Data Science track, ENSI, Feb. 04, 2022.
[11]Online Haskell Compiler. https://onecompiler.com/haskell/42utp6rzq (accessed Oct. 2024).
[12]Discussion on Lemme de Yoneda, Les-Mathématiques.net. https://les-mathematiques.net/vanilla/discussion/987027/lemme-de-yoneda (accessed Oct. 2024).
[13]Discussion on Yoneda Lemma, Mathematics Stack Exchange. https://math.stackexchange.com/questions/tagged/yoneda-lemma (accessed Oct. 2024).
[14]National School of Computer Science, Tunisia, Category Theory and Functional Programming. https://ensi.rnu.tn/fra/plaquette-pedagogique/ (accessed Oct. 2024).
[15]M. Ghazel and F. Kadhi, “Reedy Diagrams in V-Model Categories,” Appl. Categ. Struct., vol. 27, pp. 549–566, 2019, doi: 10.1007/s10485-019-09566-w.
[16]F. Kadhi, “Lemme de Yoneda pour les foncteurs à valeurs monoidales,” arXiv, 2024, doi: 10.48550/arXiv.2410.07766.
[17]F. Kadhi, “Optimisation Abstraite,” arXiv, 2024, doi: 10.48550/arXiv.2410.07734.
[18]F. Kadhi, “Accessible Bridge Between Category Theory and Functional Programming,” in Conference SMT 2023, arXiv, 2024, doi: 10.48550/arXiv.2410.07918.