DIP 1003 Formal Review

Timon Gehr via Digitalmars-d digitalmars-d at puremagic.com
Tue May 16 13:26:36 PDT 2017


On 16.05.2017 22:00, H. S. Teoh via Digitalmars-d wrote:
> On Tue, May 16, 2017 at 09:48:07PM +0200, Timon Gehr via Digitalmars-d wrote:
> [...]
>> I'm saying no to this:
>>
>> ...
>> {
>>
>> }{
>>
>> }
> It doesn't have to be formatted that way. For example:
>
> 	int foo()
> 	in { assert(blah); }
> 	{
> 		// not so bad after all
> 	}

IMO, this is just as bad. It's the same thing.

>>> (Not to mention the IMO very ugly syntax clash with
>>> do-loops, which will reduce code readability even more.)
>>> ...
>>
>> Do you think your new syntax is significantly more readable? (Just
>> curious.)
>
> It at least gets rid of the verbosity of the current syntax.  I don't
> claim it's necessarily *significantly* more readable, but I'd consider
> it to be one step closer.  Getting all the way there would be another
> topic, and a very long, protracted one, given our track record.

But still: If we are going to break all usages of contracts, then why 
not just fix the entire syntax at once? It just seems to be a much 
better option than making it worse.


More information about the Digitalmars-d mailing list