Jump to page: 1 2 3
Thread overview
DIP 1009 (Add Expression-Based Contract Syntax) Accepted
Apr 06, 2018
Mike Parker
Apr 06, 2018
H. S. Teoh
Apr 06, 2018
Jonathan M Davis
Apr 06, 2018
Adam D. Ruppe
Apr 06, 2018
H. S. Teoh
Apr 06, 2018
Timon Gehr
Apr 09, 2018
Timon Gehr
Apr 11, 2018
really?
Apr 11, 2018
Jonathan M Davis
Apr 11, 2018
H. S. Teoh
Apr 11, 2018
H. S. Teoh
Apr 06, 2018
Zach Tollen
Apr 07, 2018
Jordan Wilson
Apr 07, 2018
Zach Tollen
Apr 06, 2018
Per Nordlöw
Apr 07, 2018
Jacob Carlborg
Apr 09, 2018
Zach Tollen
Apr 11, 2018
Jonathan M Davis
Apr 11, 2018
Zach Tollen
Apr 11, 2018
Dmitry Olshansky
Apr 11, 2018
H. S. Teoh
Apr 12, 2018
Kagamin
Apr 12, 2018
Dmitry Olshansky
April 06, 2018
Congratulations to Zach Tollen and everyone who worked on DIP 1009. It took a painful amount of time to get it through the process, but it had finally come out of the other side with an approval. The proposal itself was approved early on, but it needed quite a bit of revision to get to an acceptable final draft. The DIP in its final form:


https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1009.md

Though I will not retroactively apply review summaries to all previously approved DIPs, I will do so with those currently working through the process. I've started with this one. Note that I kept the 'Preliminary Review' name instead of using the new 'Community Review' so that it would match the review thread title.

I would like to remind everyone that DIP 1013, "The Deprecation Process", is currently under Community Review, with very little feedback so far. I encourage everyone to take a look at it and speak up if any flaws or potential enhancements are seen.

https://forum.dlang.org/thread/rxlbdijkbhanwvbksuej@forum.dlang.org
April 06, 2018
On Friday, 6 April 2018 at 12:26:36 UTC, Mike Parker wrote:
> Congratulations to Zach Tollen and everyone who worked on DIP 1009. It took a painful amount of time to get it through the process, but it had finally come out of the other side with an approval. The proposal itself was approved early on, but it needed quite a bit of revision to get to an acceptable final draft. The DIP in its final form:
>
>
> https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1009.md

It looks very well designed!
And makes using of in/out contracts very pleasant and clear.
Thank you to everyone who worked on this DIP!

April 06, 2018
On Fri, Apr 06, 2018 at 12:26:36PM +0000, Mike Parker via Digitalmars-d-announce wrote:
> Congratulations to Zach Tollen and everyone who worked on DIP 1009. It took a painful amount of time to get it through the process, but it had finally come out of the other side with an approval.

WOOHOO!!!! Just this week, I've started to wonder whatever happened to this DIP.  So happy to hear it's approved!!  Finally, sane contract syntax!


T

-- 
The computer is only a tool. Unfortunately, so is the user. -- Armaphine, K5
April 06, 2018
On Friday, April 06, 2018 08:00:42 H. S. Teoh via Digitalmars-d-announce wrote:
> On Fri, Apr 06, 2018 at 12:26:36PM +0000, Mike Parker via Digitalmars-d-
announce wrote:
> > Congratulations to Zach Tollen and everyone who worked on DIP 1009. It took a painful amount of time to get it through the process, but it had finally come out of the other side with an approval.
>
> WOOHOO!!!! Just this week, I've started to wonder whatever happened to this DIP.  So happy to hear it's approved!!  Finally, sane contract syntax!

It definitely improves the syntax, but I confess that I still don't see much point in using contracts outside of virtual functions. Everywhere else, the behavior is the same if you just put assertions at the top of the function. Now, if the contracts ended up in the documentation or something - or if it were actually changed so that contracts were compiled in based on how the caller were compiled rather than the callee - then maybe having an actual contract would make sense, but as it stands, I don't see the point.

- Jonathan M Davis

April 06, 2018
On Friday, 6 April 2018 at 16:57:21 UTC, Jonathan M Davis wrote:
> Now, if the contracts ended up in the documentation or something

My documentation generator supports contracts, but I found in practice, most of them are so illegible it doesn't actually help any to include them, so I never do.

But if they were simpler single expressions, it might make sense to revisit that.
April 06, 2018
On Fri, Apr 06, 2018 at 05:02:54PM +0000, Adam D. Ruppe via Digitalmars-d-announce wrote:
> On Friday, 6 April 2018 at 16:57:21 UTC, Jonathan M Davis wrote:
> > Now, if the contracts ended up in the documentation or something
> 
> My documentation generator supports contracts, but I found in practice, most of them are so illegible it doesn't actually help any to include them, so I never do.
> 
> But if they were simpler single expressions, it might make sense to revisit that.

Yeah, I think having expression syntax will make contracts more readable.  We'll just have to see.

When will this DIP be implemented? AIUI Timon already has an implementation sitting around somewhere.  Can't wait for it to get merged...


T

-- 
GEEK = Gatherer of Extremely Enlightening Knowledge
April 06, 2018
On Friday, 6 April 2018 at 12:26:36 UTC, Mike Parker wrote:
> Congratulations to Zach Tollen and everyone who worked on DIP 1009.

Thanks. People reading the announcement should know that this DIP was almost completely the result of a team effort. My original draft was subject to significant and valid criticism, and in the ensuing forum discussion, the participants collectively revised the entire proposal, using an idea by H.S. Teoh. Then, in rewriting the DIP, both Mike Parker and Timon Gehr were indispensable in meeting the writing standards required for a highly technical DIP. If the process permitted giving the latter two credit as DIP authors (which it didn't!), I would readily have done so without hesitation. Thank you both.

I think we've now given Design-by-Contract a really good chance of becoming commonly used in the D wild. Let's see what happens!

- Zach

April 06, 2018
On Friday, 6 April 2018 at 12:26:36 UTC, Mike Parker wrote:
> Congratulations to Zach Tollen and everyone who worked on DIP 1009. It took a painful amount of time to get it through the process, but it had finally come out of the other side with an approval. The proposal itself was approved early on, but it needed quite a bit of revision to get to an acceptable final draft. The DIP in its final form:
>
>
> https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1009.md

Great work. Great syntax.
April 07, 2018
On 06.04.2018 19:36, H. S. Teoh wrote:
> On Fri, Apr 06, 2018 at 05:02:54PM +0000, Adam D. Ruppe via Digitalmars-d-announce wrote:
>> On Friday, 6 April 2018 at 16:57:21 UTC, Jonathan M Davis wrote:
>>> Now, if the contracts ended up in the documentation or something
>>
>> My documentation generator supports contracts, but I found in
>> practice, most of them are so illegible it doesn't actually help any
>> to include them, so I never do.
>>
>> But if they were simpler single expressions, it might make sense to
>> revisit that.
> 
> Yeah, I think having expression syntax will make contracts more
> readable.  We'll just have to see.
> 
> When will this DIP be implemented? AIUI Timon already has an
> implementation sitting around somewhere.  Can't wait for it to get
> merged...
> 
> 
> T
> 

I'll rebase it against master and create a pull request ASAP.
April 07, 2018
On 2018-04-06 14:26, Mike Parker wrote:
> Congratulations to Zach Tollen and everyone who worked on DIP 1009. It took a painful amount of time to get it through the process, but it had finally come out of the other side with an approval. The proposal itself was approved early on, but it needed quite a bit of revision to get to an acceptable final draft. The DIP in its final form:
> 
> 
> https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1009.md
> 
> Though I will not retroactively apply review summaries to all previously approved DIPs, I will do so with those currently working through the process. I've started with this one. Note that I kept the 'Preliminary Review' name instead of using the new 'Community Review' so that it would match the review thread title.
> 
> I would like to remind everyone that DIP 1013, "The Deprecation Process", is currently under Community Review, with very little feedback so far. I encourage everyone to take a look at it and speak up if any flaws or potential enhancements are seen.
> 
> https://forum.dlang.org/thread/rxlbdijkbhanwvbksuej@forum.dlang.org

What's the philosophy around accepted DIPs containing multiple suggestions/alternatives. For example, this DIP mentions three alternatives for the "out" syntax [1], it's not crystal clear which one was actually accepted.

When a DIP is accepted and it contains multiple alternatives, can we move the non-accepted alternatives to a separate section, use a strike through font style or similar?

[1] https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1009.md#new-out-syntax

-- 
/Jacob Carlborg
« First   ‹ Prev
1 2 3