Type-Safe Functional Programming for Data Science

Dr. George Thiruvathukal, Loyola University Chicago
Seminar
Blue graphic with title text.

In this talk, we revisit the role of type-safe functional programming in data science, empowering Python (and other) programmers seeking conciseness and expressiveness while transitioning to more predictable, performant, and reliable environments. As an alternative to the steep learning curve and tooling complexity associated with modern C++ ecosystems, we aim to demonstrate how statically typed functional programming, combined with modern language features and reasonably performant libraries, can serve as a powerful foundation for modern data science and computational science workflows. We'll focus on the fundamentals of working with data: reading, transforming, cleaning, summarizing/analytics, and visualizing using idiomatic Scala with suitable frameworks like Smile, Spire, and Squants. These tasks remain central to real-world data science but are often overshadowed by discussions of neural networks and GPU frameworks. We aim to reclaim this space with principled approaches that avoid the pitfalls of dynamically typed systems while maintaining programmability and productivity. We'll include a gentle introduction for Python programmers interested in transitioning to a more robust and structured environment. This module will demonstrate equivalent workflows between Python's pandas and Scala's Smile, how idioms translate into more composable expressions in a statically typed setting, and how compile-time type inference and immutability reduce runtime errors and debugging effort.

Bio: George K. Thiruvathukal is a full professor of computer science at Loyola University Chicago. His primary research interests span high-performance computing, distributed systems, and software engineering. His current research foci are on machine learning and computer vision, empirical software engineering (in support of research software development), and the intersection of cloud computing and supercomputing. Dr. Thiruvathukal received the PhD and MS degrees in computer science from Illinois Institute of Technology in 1995 and 1990, respectively and BA degrees in physics and computer science (mathematics minor) from Lewis University (Romeoville, IL) in 1988.

Please click on the following IEEE eScience link to see the full tutorial for this presentation: https://www.escience-conference.org/2025/tutorials