foo!(bar) ==> foo{bar}

Don nospam at nospam.com.au
Wed Oct 8 08:06:39 PDT 2008


Denis Koroskin wrote:
> On Wed, 08 Oct 2008 18:22:21 +0400, superdan <super at dan.org> wrote:
> 
>> Walter Bright Wrote:
>>
>>> Dee Girl wrote:
>>> > I did not follow this group recent. School started. Sorry! I just see
>>> > now and please add my vote if possible. I start with D recent and I
>>> > remember beginning. foo!(bar) was not pleasant. Like forced
>>> > convention with a bad char. And friends I show code never like it. It
>>> > is first thing they say why they do not like D. For me foo{bar}
>>> > better idea. Thank you, Dee Girl
>>>
>>> What do your friends think of { } ?
>>
>> School started. Every one so busy now. But I think does not matter any 
>> more ^_^
>>
>> I want to make little idea. Sorry if idea mentioned before (I did not 
>> read every thread). I think we can look square brackets []. Let me 
>> explain why.
>>
>> Paren () is over used in C and in D. Any expression can be in (). And 
>> adding () is possible in many cases. But it is not same with []. For 
>> example a:(b) is ambiguous but a:[b] is not. So there are many signs 
>> possible after symbol and before [. They are:
>>
>> ~ ! @ # $ % ^ & * - + = | \ / , < . > ? :

Not all of them work. Here's a few examples:

	enum { d= 3, e = 7 }
	int [] a=[1,2];
	bool c;
	auto k=[e]; // kills =
	a ~= c?[d]:[e]; // kills ?
	int [] f = c?k:[e]; // kills :
	if (f>[e]) {}   // kills <
	if (f<[e]) {}   // kills >
	auto g = (k,[d]); // kills comma
	auto h = k~[d]; // kills ~

Array ops will kill + - * / & | % ^
Suddenly the list looks pretty short.
!@#$\.



More information about the Digitalmars-d mailing list