RFC: moving forward with @nogc Phobos
Dicebot via Digitalmars-d
digitalmars-d at puremagic.com
Mon Sep 29 08:53:03 PDT 2014
On Monday, 29 September 2014 at 15:18:40 UTC, Andrei Alexandrescu
wrote:
> On 9/29/14, 5:29 AM, Dicebot wrote:
>> Any assumption that library code can go away with some set of
>> pre-defined allocation strategies is crap. This whole
>> discussion was
>> about how important it is to move allocation decisions to user
>> code
>> (ranges are just one tool to achieve that, Don has been
>> presenting
>> examples of how we do that with plain arrays in DConf 2014
>> talk).
>
> That's making exactly the confusion I was - that memory
> allocation strategy is the same as memory management strategy.
Yes but neither decision belongs to library code except for very
rare cases.
>
>> In that regard allocators + ranges are still the way to go in
>> my
>> opinion. Yes, sometimes those result in very hard to use API -
>> providing
>> GC-heavy but friendly alternatives for those shouldn't do any
>> harm. But
>> in general full decoupling of algorithms from allocations is
>> necessary.
>> If that makes D poor cousin of C++ we may have a learn few
>> tricks from C++.
>
> As long as things are trivial they can be done with relative
> ease, albeit with more pain. But consider e.g. the recent JSON
> library by Sönke. It needs to create a lookup data structure
> and return things like strings from it. What primitives do you
> think could it define?
Sounds like it may have to define own kind of allocator with
certain implementation restrictions (and implement it in terms of
GC by default). I have not actually read the code for that
proposal so hard to guess. Will need to do it if it really
matters.
More information about the Digitalmars-d
mailing list