Credo che esistano lingue in cui tutti i nomi con valori associati non possono avere i loro valori associati modificati. Un esempio potrebbe essere una lingua in cui tutti i nomi si comportano come a
nel seguente codice C:
int main(void)
{
const int a = 0;
a = 1;
}
vale a dire, tutti i nomi si comportano come ciò che C chiama una "variabile di sola lettura" qui.
So che certi costrutti, come il ciclo for
di C, non sarebbero possibili se non fosse possibile riassegnare le variabili. Ma credo che i linguaggi in cui le variabili siano esclusivamente di sola lettura utilizzino le funzioni ricorsive in coda per realizzare il looping.
Se una lingua non consente di assegnare nuovi valori alle variabili, quali caratteristiche (come la ricorsione in coda, nell'esempio precedente) sono necessarie per consentire la scrittura dei programmi, che altrimenti sarebbe difficile / impossibile scrivere senza riassegnazione?