Gordon Plotkin wprowadził programowalne funkcje obliczeniowe, abstrakcyjny język funkcjonalny. W 1978 r. Robin Milner wprowadził algorytm wnioskowania typu Hindley – Milner dla języka programowania ML. Teoria typów została zastosowana jako dyscyplina dla języków programowania, co doprowadziło do rozwoju teorii typów na przestrzeni lat.
Lata 80. XX w. W 1981 r. Gordon Plotkin opublikował artykuł na temat . W 1988 r. Gilles Kahn opublikował artykuł na temat semantyki naturalnej. Wprowadzono i rozwijano rachunek procesowy do modelowania systemów współbieżnych, m.in. Robina Milner’a, rachunek communicating sequential processes Tonego Hoare oraz Carla Hewitta. W 1985 r. język programowania Miranda wzbudził u naukowców zainteresowanie leniwie-szacowanymi czystymi funkcyjnymi językami programowania. Utworzono komitet w celu zdefiniowania otwartego standardu, którego skutkiem było wydanie standardu Haskell 1.0 w 1990 roku. Bertrand Meyer stworzył metodologię programowania kontraktowego i włączył ją do Eiffel.
Lata 90. XX w. Gregor Kiczales, Jim Des Rivieres i Daniel G.