On Saturday, 12 July 2014 at 04:10:32 UTC, Walter Bright wrote:
On 7/11/2014 5:10 PM, Mike wrote:
The problem, however, when managing one's own memory is that
one cannot use some
of the built-in types, like Exceptions, that are instantiated
deep within the
runtime. A solution to this would likely quiet some of the
clamoring, IMO.
The thing is, Exceptions should be exceptional, not normal. So
if you're worried about GC pauses during exception processing,
I think it's time to re-examine what exceptions in your code
are being used for.
I understand that, but that wasn't my point. I was just using
Exceptions as an example of a built-in type (instantiated in the
runtime outside of the users control). Dynamic arrays are
another.
The goal is for the user to be able to be able to control the
allocation for all types in D, not just the ones the user
creates. And to be able to continue to use, to the extent
possible, roughly the same idioms and patterns they would use if
employing the GC.
It looks like you were headed down that path with DIP46
(http://wiki.dlang.org/DIP46). It's almost a year old. Do you
still feel its worth pursuing?
Mike