Functional Programming Group at KU

The Functional Programming Group, led by Andy Gill, apply and extend functional programming technologies to the diverse areas of building computer systems, high-performance computing, information assurance and telemetry. We use functional programming to bring clarity to descriptions of what we want to compute, and computer language technologies to provide efficiency and assurance. Typically, we collaborate with other research groups, deploying our technology and bringing our research and development expertise to work on our collaborators' open issues, as well as their assurance and performance needs.

Read more about About Functional Programming at KU

Research

We use functional programming to solve problems in ways that are amicable to acceleration (GPUs, Multi-cores, FPGAs), and supports assurance arguments (using semi-formal methods like equational reasoning). As a group we make aggressive use of functional languages, extending the technology where needed, and ultimately strive to close gaps between high level specifications and highly efficient implementations. We then deploy our new technologies into diverse application areas, including telemetry, high performance computing and real-time systems.

Read more about FP Research at KU

Software, Tools and Libraries

We build tools and libraries, typically written in Haskell, to explore and validate our ideas. The main research challenge we are addressing is improving the high-assurance narrative for functional languages. We release our tools open source, under a BSD license, use GIT for version control, and GitHub for external contributions.

Read more about our Tools and Libraries

Theory

We develop programming-language theory to support our software. Our main theoretical interest is program transformation, including compilation between languages, improving the efficiency of a program within a language, or transforming data types to allow compatibility with common interfaces (such as type classes).

Read more about our Theoretical Research