La mia comprensione superficiale delle variabili in f # suggerisce che dichiarare una variabile come "mutabile" e utilizzare una variabile "ref" essenzialmente entrambe fanno la stessa cosa. Sono entrambi modi diversi per affrontare lo stesso problema di fondo: una tolleranza limitata e strutturata di mutabilità in un linguaggio funzionale senza dover ricorrere all'IO Monade. Che ci sia un diverso tecnico è stato "astratto" dalla mia comprensione.Variabili mutabili vs variabili in termini di cattura
- Se questo è il caso, perché le chiusure non possono catturare variabili mutabili, ma possono catturare istanze di riferimento?
- Più in generale, qual è la differenza tecnica tra le due forme che consente questa differenza?
- Qual è lo scopo da un punto di vista del design del linguaggio di introdurre due scorciatoie di mutevole piuttosto che uno solo?
Mi dispiace se questo è un multi-parter, ma sembrano tutti correlati.