conceito matemático de função, em que para cada elemento do seu conjunto domínio (entrada) há apenas um elemento no seu conjunto contra-domínio (saída).
Arquitetura da Computação em 1987, Portland, Oregon, os participantes formaram um comitê para definir um padrão aberto para linguagens de programação funcional.