Functional Programming

Functional programming uses abstract mathematics - algebra and logic - to make software more reliable and more productive. Originally developed within specialized functional programming languages (e.g. LISP, Scheme, ML, Haskell), Functional Programming today is a general methodology that has given inspiration to new features in other languages (e.g. C++, Java, Python) as well as large-scale data processing techniques (e.g. MapReduce, TensorFlow).

Our department has been in the forefront of functional programming since the 1980’s and led the development of a large variety of tools. The current activities include