On Saturday, 4 October 2014 at 11:19:10 UTC, Joseph Rushton
Wakeling via Digitalmars-d wrote:
On 04/10/14 11:18, Walter Bright via Digitalmars-d wrote:
What you're doing is attempting to write a program with the
requirement that the
program cannot fail.
The only way to have super high uptime is to design the system
so that failure
is isolated, and the failed process can be quickly restarted
or replaced.
Ignoring bugs is not isolation, and hoping that bugs in one
thread doesn't
affected memory shared by other threads doesn't work.
Right. Which is why I'd like to move the discussion over to
"How can we achieve this in D?"
I see two things that are in the way (aside from the obvious
things like non-@safe code): Casting away shared, and implicitly
shared immutable data. The former can be checked statically, but
the latter is harder to work around in the current language.