May 16, 2014
On 5/16/2014 10:33 AM, Dicebot wrote:
> On Friday, 16 May 2014 at 17:22:21 UTC, Walter Bright wrote:
>> On 5/16/2014 9:43 AM, Dicebot wrote:
>>> Transitive
>>> borrowing solves certain class of issues that currently rely on convention,
>>> enabling whole new type of verified safe code (both memory safe and concurrency
>>> safe). Head-only? Doesn't look so.
>>
>> I'm concerned that transitive borrowing will *preclude* a number of useful cases.
>
> Which is why `ref` itself can't be used for that and usage of `scope` as
> qualifier is necessary to enable transitive behavior :)

True, but there comes a point where something gets complicated enough that nobody understands it and the implementation gets full of bugs.
May 16, 2014
On Fri, May 16, 2014 at 11:57:36AM -0700, Walter Bright via Digitalmars-d wrote:
> On 5/16/2014 10:33 AM, Dicebot wrote:
> >On Friday, 16 May 2014 at 17:22:21 UTC, Walter Bright wrote:
> >>On 5/16/2014 9:43 AM, Dicebot wrote:
> >>>Transitive borrowing solves certain class of issues that currently rely on convention, enabling whole new type of verified safe code (both memory safe and concurrency safe). Head-only? Doesn't look so.
> >>
> >>I'm concerned that transitive borrowing will *preclude* a number of useful cases.
> >
> >Which is why `ref` itself can't be used for that and usage of `scope` as qualifier is necessary to enable transitive behavior :)
> 
> True, but there comes a point where something gets complicated enough that nobody understands it and the implementation gets full of bugs.

*snicker*

	What I am going to tell you about is what we teach our
	programming students in the third or fourth year of graduate
	school... It is my task to convince you not to turn away because
	you don't understand it. You see my programming students don't
	understand it... That is because I don't understand it. Nobody
	does.
	Richard Deeman

Source: dlang.org. :-P


T

-- 
It is impossible to make anything foolproof because fools are so ingenious. -- Sammy
May 16, 2014
On Friday, 16 May 2014 at 18:57:34 UTC, Walter Bright wrote:
> On 5/16/2014 10:33 AM, Dicebot wrote:
>> On Friday, 16 May 2014 at 17:22:21 UTC, Walter Bright wrote:
>>> On 5/16/2014 9:43 AM, Dicebot wrote:
>>>> Transitive
>>>> borrowing solves certain class of issues that currently rely on convention,
>>>> enabling whole new type of verified safe code (both memory safe and concurrency
>>>> safe). Head-only? Doesn't look so.
>>>
>>> I'm concerned that transitive borrowing will *preclude* a number of useful cases.
>>
>> Which is why `ref` itself can't be used for that and usage of `scope` as
>> qualifier is necessary to enable transitive behavior :)
>
> True, but there comes a point where something gets complicated enough that nobody understands it and the implementation gets full of bugs.

Then we are back to square one "`scope` is needed but difficult to implement so lets not touch it" :) Which is understandable but does not warrant adding mostly useless concept simply because it is easier.

Also I believe `scope` is one of concepts that are hard to define but incredibly easy to grasp intuitively.
May 16, 2014
On 5/16/2014 1:18 PM, Dicebot wrote:
> Also I believe `scope` is one of concepts that are hard to define but incredibly
> easy to grasp intuitively.

How and where to put the annotations, and the notion of transitivity, are not so incredibly easy to grasp. The mix of ref and scope is also a bit of a wtf.
1 2 3 4 5
Next ›   Last »