Sébastien Doeraene <sjrdoera...@gmail.com> writes:

> data, aka Implementation<Foo>). Besides, solution 1 is not acceptable for
> Mozart, because sometimes data must mutate, and change their type. And
> sometimes the mutated type occupies more memory than the previous one. So,
> following me, it does not make sense to compare our model to model 1.

I really don't understand this objection.  With "tag on data", when an
object A must mutate into an object B: create B, then overwrite A with a
ref to B.

>     It also means that the tag for an aggregate
>     is repeated everywhere it is referenced.
>
> No because only one node is allowed to point to a given Implementation<T>.
> Other nodes that wish to point to that Implementation<T> have to be a 
> Reference
> to the former node.
>
> However, well, yes, you have those extra Reference types everywhere. So in 
> some
> sense the tag for an aggregate is indeed repeated everywhere it is referenced.

Indeed, I meant that the "price" of that tag was paid at every point of
reference; whether it was paid as a ref tag or as data tag.

Cheers,

--Denys
_________________________________________________________________________________
mozart-hackers mailing list                           
mozart-hackers@mozart-oz.org
http://www.mozart-oz.org/mailman/listinfo/mozart-hackers

Reply via email to