Mutable vs les variables Ref en termes de capture
-
09-10-2019 - |
Question
Ma compréhension superficielle des variables f # suggère que déclarer une variable à « mutable » et en utilisant une variable « ref » essentiellement à la fois faire la même chose. Ils sont tous deux différentes façons d'aborder la même question sous-jacente - une allocation limitée et structurée de mutabilité dans une langue fonctionnelle sans avoir à recourir à la monade IO. Qu'il y ait une autre technique a été « abstraire » par ma compréhension.
- Si tel est le cas pourquoi ne peut pas capturer des variables fermetures mutables, mais ils peuvent saisir les instances ref?
- Plus généralement, quelle est la différence technique entre les deux formes qui permet cette différence?
- Quel est le but d'un point de vue de la conception du langage d'introduire deux raccourcis mutabilité plutôt qu'un seul?
Je suis désolé si cela est un multi-parter, mais ils semblent tous liés.
La solution
Voir
http://lorgonblog.wordpress.com / 2008/11/12 / sur-lambdas-capture et mutabilité /
en particulier la section (je cite ici, mais il ne résiste pas seul bien, vous avez besoin toute l'entrée blog contexte) « commentaire langage de conception ».