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.

  1. Si tel est le cas pourquoi ne peut pas capturer des variables fermetures mutables, mais ils peuvent saisir les instances ref?
  2. Plus généralement, quelle est la différence technique entre les deux formes qui permet cette différence?
  3. 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.

Était-ce utile?

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 ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top