On Wednesday, 9 January 2013 at 19:34:19 UTC, Andrei Alexandrescu wrote:
At the end of the day if references are part of the language and programs can build arbitrary reference topologies, safety entails GC.

It looks like a non sequitur to me... wouldn't this work?

A language X has a built-in data type called Reference, and no classes.

The only thing you can do with it are using these functions:

Reference CreateObject(Reference typename);
Reference DeleteValue(Reference object, Reference field);
Reference GetValue(Reference object, Reference field);
Reference SetValue(Reference object, Reference field, Reference value);

Given _just_ these functions you can build _any_ arbitrary reference topology whatsoever. There's no need for a GC to be running, and it's completely manual memory management.


It's memory-safe too. What am I missing here?

Reply via email to