On Sunday, 2 February 2014 at 16:55:35 UTC, Andrei Alexandrescu
wrote:
On 2/2/14, 3:23 AM, JR wrote:
On Sunday, 2 February 2014 at 05:30:02 UTC, Andrei
Alexandrescu wrote:
On 2/1/14, 8:18 PM, Frank Bauer wrote:
On Sunday, 2 February 2014 at 03:38:03 UTC, Andrei
Alexandrescu wrote:
Whoa, this won't work without an explosion in language
complexity.
Andrei
Only daydreaming ...
No, it's a nightmare.
Andrei
So, going forward, what would you say is the preferred
direction to
strive toward?
I *seem* to remember reading here that you and Walter were
increasingly
growing to favor ARC, but I can't find the post. (Memory
bitrot on my
part is more than likely.)
I think of the following foci for the first half of 2014:
1. Add @nullable and provide a -nullable compiler flag to
verify it. The attribute is inferred locally and for white-box
functions (lambdas, templates), and required as annotation
otherwise. References not annotated with @nullable are
statically enforced to never be null.
2. Work on Phobos to see what can be done about avoiding
unnecessary allocation. Most likely we'll need to also add a
@nogc flag.
3. Work on adding tracing capabilities to allocators and see
how to integrate them with the language and Phobos.
4. Work on the core language and druntime to see how to
seamlessly accommodate alternate GC mechanisms such as
reference counting.
Andrei
Sounds good. But why @nullable instead of C# choice of "Type?" ?