Walter Bright, el  2 de agosto a las 00:43 me escribiste:
> Having optional parentheses does lead to unresolvable ambiguities. How
> much of a problem that really is is debatable, but let's assume it
> should be resolved. 
> To resolve it, a property must be distinguishable from a regular function.
> 
> One way is to simply add a "property" attribute keyword:
> 
>   property bool empty() { ... }
>   property void empty(bool b) { ... }
> 
> The problem is that:
> 
> 1. there are a lot of keywords already
> 2. keywords are global things

What about DIP6 for a more general solution. DIP6 should be:
1) Easy to implement in a first basic stage
2) Backward compatible
3) Doesn't need a new keyword, even more, it will help to reduce the
   number of keywords in the future.

> The alternative is to have a unique syntax for properties. Ideally, the
> syntax should be intuitive and mimic its use. After much fiddling, and
> based on n.g.  suggestions, Andrei and I penciled in:
> 
>   bool empty { ... }
>   void empty=(bool b) { ... }
> 
> The only problem is when a declaration but not definition is desired:
> 
>   bool empty;
> 
> but oops! That defines a field. So we came up with essentially a hack:
> 
>   bool empty{}
> 
> i.e. the {} means the getter is declared, but defined elsewhere.
> 
> What do you think?

I think it's a bad idea to ignore all the other proposals in this NG. Why
did you dismissed the other proposals? What is better in this proposal
comparing it to the others?

I find this very odd, is like saying everybody is wrong except you. What's
wrong with the other proposals (other than the "property" keyword
proposal)? You have virtually not participated in the discussion and now
you came up with a brand new syntax. That's not quite supporting the DIPs,
that's more like ignoring them. Even (several) votings were done with
alternative property syntax. What should we do now?  Repeat all the voting
again adding this one?

Bummer! =(

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
I've always been mad, I know I've been mad, like the most of us...
very hard to explain why you're mad, even if you're not mad...

Reply via email to