Lessico IT › Programmazione › Trasparenza referenziale

Trasparenza referenziale

Programmazione Svenska → Aggiornato: 2026-10-02

Proprietà per cui un'espressione può essere sostituita dal suo valore senza cambiare il comportamento del programma. add(2,3) si può sempre scambiare con 5. Fondamento della programmazione funzionale e dell'ottimizzazione dei compilatori.

Richiede funzioni pure (senza effetti collaterali, con output deterministico per ogni input). Viene violata da mutazione di stato globale, I/O, numeri casuali, ora corrente. Vantaggi: ragionamento più semplice (modello di sostituzione), memoizzazione sicura, compilatore libero di riordinare e fare inlining in modo aggressivo, parallelizzazione banale (nessuno stato condiviso). Haskell impone la trasparenza referenziale isolando l'I/O nella monade IO. Oggi: i componenti React dovrebbero esserlo (stesse props, stesso render) per memo e rendering concorrente. Il contrario: il codice imperativo con mutazioni non è referenzialmente trasparente.

← Torna al lessico