Research Area

Functional Programming is an approach to software engineering that offers tremendous benefits for correctness, maintainability, and time-to-market. It is centred on writing computer programs using only mathematical functions.

This rigorous mathematical foundation makes it easier to develop reusable and composable software solutions, with fewer bugs and in less time than traditional programming models. Conventional software engineering techniques have led to software which is both filled with bugs and highly resistant to change.

Although software continues to be an ever more important part of the work done by businesses, researchers and governments over time, the average standard of the software, and the means by which it is developed has not kept pace.

Our goal: We want to help people write better software. As better software benefits everyone, from the developers, to managers, to end users. Functional Programming is one of the main tools to help write quality software.

Research/ technology approach

Education

Great solutions cannot be taken advantage of unless they are put in the hands of the people who need them. That is why we continue to provide free introductory and applied courses to government and industry that teach the fundamentals of Functional Programming.

Transition

Technology choices aren't made in a vacuum. Most businesses who write software are encumbered with legacy technology, and the cost of replacement is often too great to bear.

That is why we develop libraries that allow programmers to work with their legacy code using Functional Programming. The end result is that, once a team is ready to adopt Functional Programming, they can continue to build on their existing software rather than replace it, saving months or years' worth of effort.

Solutions

Functional Programming has the foundation we need, but sometimes there are gaps in existing solutions. However, when compared to the currently dominant programming paradigms, there is no arguing the difference in the sheer amount of output and variety.

The capacity for Functional Programming to solve problems in a general sense is, thus far, unmatched. We leverage this ability to produce solutions to fill these gaps for the community such that everyone wins.

Partners

We are part of a strategic partnership with the Queensland State Government as part of the Advance Queensland initiative. As well as:

  • Internal research groups in Data61/CSIRO
  • General public Functional Programming interest groups
  • Open source software projects
  • Local and international companies that exploit Functional Programming for its benefits

Interested in helping us further this research?

We seek research collaborators with complementary skills so we can work together for stronger results.

Contact us to collaborate

Contact Data61

Your contact details

First name must be filled in

We'll need to know what you want to contact us about so we can give you an answer.