Complexity nomenclature

Nordlöw via Digitalmars-d digitalmars-d at puremagic.com
Thu Mar 17 02:44:25 PDT 2016


On Friday, 4 December 2015 at 01:27:42 UTC, Andrei Alexandrescu 
wrote:
> These complexities must be reflected in the name of the 
> primitives. Or perhaps it's okay to conflate a couple of them. 
> I know names are something we're awfully good at discussing 
> :o). Destroy!
>
>
> Andrei

I'm currently sitting in a software sector with one of the most 
demands on software stability and predictability there is. A key 
issue here is time-deterministic execution. I've seen no language 
that addresses this problem. What about adding yet another code 
qualifier, say @deterministic, that either

- forbids non-time-determinstic execution paths such as 
`if-statements` or perhaps better
- makes the compiler generate code that strives to be as 
deterministic as possible, for instance executing all brances of 
a conditional statement.

and of course checking this transitively over function calls. 
This would have to take into account direct or in-direct 
recursions which might become complicated.

I'm of course also aware of the inherent variations in microcode 
execution time for most CPU architectures of today. Despite this 
fact, safety-critical systems (in for instance aerospace) uses 
the architectures and are in need of tools that can do as good as 
currently possible at least at the source code level.

Destroy!


More information about the Digitalmars-d mailing list