November 01, 2015
On 10/27/2015 10:45 PM, Andrei Alexandrescu wrote:
> Oddly enough I want to dissuade you from doing RC - per my post "Safe reference counting cannot be implemented as a library" it's impossible to make library-level RC safe, which decreases its interest dramatically. We plan to do language-level reference counting, which, if we succeed, would obviate any RC library for classes.
> 
> However, working on uniqueness is great! We'll either see how far we can get within the current language, or figure the minimal language additions needed to make it work.

Well unique classes also cannot be implemented safely.

Now I think @safe reference counting is great but we don't know if or when any of those ideas pan out. So I'd rather implement a small dub package now than waiting for the ultimate solution. If that gets laters obsoleted by a safer and better dmd/phobos implementation, all the better.




November 01, 2015
On 11/01/2015 04:35 PM, Martin Nowak via dmd-internals wrote:
> On 10/27/2015 10:45 PM, Andrei Alexandrescu wrote:
>> Oddly enough I want to dissuade you from doing RC - per my post "Safe
>> reference counting cannot be implemented as a library" it's impossible
>> to make library-level RC safe, which decreases its interest
>> dramatically. We plan to do language-level reference counting, which, if
>> we succeed, would obviate any RC library for classes.
>>
>> However, working on uniqueness is great! We'll either see how far we can
>> get within the current language, or figure the minimal language
>> additions needed to make it work.
>
> Well unique classes also cannot be implemented safely.

There's a less pleasant possibility: have the unique object NOT offer a pointer/reference to the held resource, but only offer a method such as .relinquish() that destructively reads it. So:

Unique!int x = makeUnique!int(42);
int* p = x.relinquish;
assert(x.empty);
assert(*p == 42);

So... relinquish destructively gets the raw pointer from the unique object and puts the responsibility of managing it straight on the shoulders of the user.

> Now I think @safe reference counting is great but we don't know if or
> when any of those ideas pan out. So I'd rather implement a small dub
> package now than waiting for the ultimate solution. If that gets laters
> obsoleted by a safer and better dmd/phobos implementation, all the better.

I think that's a great route to follow. A carefully written library implementation will inform any study


Andrei

_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals
November 01, 2015
(finishing predictable sentence)

On 11/01/2015 05:42 PM, Andrei Alexandrescu wrote:
> I think that's a great route to follow. A carefully written library
> implementation will inform any study

... of an in-language solution. -- Andrei
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals
1 2
Next ›   Last »