On 2-dic-10, at 13:09, Michel Fortin wrote:

On 2010-12-02 05:57:18 -0500, Fawzi Mohamed <[email protected]> said:

well as your are at it I would argue a bit more on the syntax.
[...]
I suppose that will probably considered too difficult to implement, but I wanted to propose it again because I find that it is the most clean solution conceptually.

It is significantly more complex, not only for the compiler but also for the one reading/writing the code, as you'd have to propagate that 'weak_const' as a new, distinct modifier for it to be usable across function calls. I don't think it's worth it really.

ok, eheh I just realized that also the tail shared protection has exactly the same constraints as the weak const (or tail const), and also for that it seems that the more complex struct case was scrapped, restricting it to pointer array and refs.

As for the syntax for classes, I feel "const(Object)ref" with the optional ref marker is easier to grasp than introducing a new concept called 'weak_const'. I welcome any suggestions, but my aim is to keep the changes as small and localized as possible in the compiler and follow as closely as possible existing language patterns.

My only concern with the "const(Object)ref" syntax is that we're reusing 'ref' to denote an object reference with different properties (rebindable, nullable) than what 'ref' currently stands for. But it remains the best syntax I've seen so far.

--
Michel Fortin
[email protected]
http://michelf.com/


Reply via email to