$cat~/glossario/referential-transparency.md

Referential Transparency

Programação Funcional

Expressão pode ser substituída pelo valor sem mudar comportamento.

referential-transparency.mdmarkdown
01

seção

Explicação

Referential Transparency — Expressão pode ser substituída pelo valor sem mudar comportamento.

Expressão substituível pelo valor sem alterar programa — corolário funções puras.

Permite cache, reorder, parallel execution reasoning.

02

seção

Exemplo

snippetJavaScript
const double = (n) => n * 2;// double(3) sempre 6 — pode inline 6 em refactor
03

seção

Modo de uso

  • Refactor safe inline

  • Memoization correctness

  • Equational reasoning tests

04

seção

Armadilhas comuns

  • Date.now() breaks transparency

  • Random UUID inside "pure"

05

seção

Termos relacionados