Re: Capabilities interact nicely with Substructural Types and Reactivity
Jonathan Rees <[email protected]>
| Newsgroups | gmane.comp.capabilities.general |
|---|---|
| Message-ID | <[email protected]> |
What David Barbour makes perfect sense to me, and I think some of you are being just a bit condescending. In W7 (1994), 'new' and mutation (it called them 'lambda' and 'cell-set!') were capabilities that had to be passed to code in order to be available; they could be attenuated, etc. I thought that was a nice feature, for reasons similar to what David has given. Any feature of the evaluator / compiler / interpreter (identity, recursion, etc.) can be removed or attenuated by providing a new evaluator or compiler, if it can't be removed or attenuated by modulating the root environment in which the expression is evaluated. It's just another design tradeoff to figure which of these two approaches should be used in each case. YMMV. The trouble with auditors (which are essential, by the way), in general, is that they are, in general, noncompositional. I don't know about DeepFrozen, it probably is compositional, but the fact that I don't know is symptomatic of the problem... Jonathan