Funções puras
Definição
Uma função é considerada pura quando, dados os mesmos argumentos, ela sempre retorna o mesmo resultado e não produz efeitos colaterais observáveis fora de seu escopo.
Ou seja, a função depende apenas dos parâmetros de entrada e não modifica nenhum estado externo nem acessa recursos como arquivos, banco de dados ou interfaces.
Por que é importante
Funções puras são mais previsíveis, testáveis e reutilizáveis. Como não interagem com o mundo externo, seus resultados são mais fáceis de verificar e depurar.
Além disso, elas favorecem práticas como memoization, composição de funções e paralelismo seguro, e são a base da programação funcional.
Linguagens que incentivam o uso de funções puras
Linguagens como Haskell, Elm, Clojure e F# tratam a pureza como padrão.
Outras como Python, JavaScript, Kotlin e Scala permitem funções puras, mas dependem do estilo adotado pelo desenvolvedor.
Exemplo em código (Python)
# Função pura
def somar(a, b):
return a + b
# Função impura
contador = 0
def incrementar():
global contador
contador += 1
No exemplo acima, somar
é uma função pura: mesmo entrada → mesma saída, sem efeitos externos. Já incrementar
modifica uma variável global, o que caracteriza uma função impura.