Domanda

La mia comprensione superficiale delle variabili in F # suggerisce che dichiarare una variabile di essere 'mutevoli' e utilizzando una variabile 'ref' essenzialmente sia fare la stessa cosa. Sono entrambi diversi modi per affrontare lo stesso problema di fondo - un assegno limitato e strutturato di mutevolezza in un linguaggio funzionale, senza dover ricorrere alla IO Monade. Che ci sia una diversa tecnica è stato 'sottratto' dalla mia comprensione.

  1. Se questo è il caso perché non posso farlo chiusure di cattura variabili mutabili, ma in grado di catturare le istanze ref?
  2. Più in generale, qual è la differenza tecnica tra le due forme che permette questa differenza?
  3. Quale è lo scopo, da un punto di vista di design lingua di introdurre due tasti di scelta rapida mutabilità piuttosto che uno solo?

Mi dispiace se questo è un multi-parter, ma tutti sembrano correlati.

È stato utile?

Soluzione

Vedere

http://lorgonblog.wordpress.com / 2008/11/12 / on-lambda-capture-and-mutevolezza /

in particolare la sezione "lingua di disegno commentario" (mi piacerebbe citare qui, ma non regge da solo bene, è necessario l'intera voce del blog per il contesto).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top