used in the function syntax, indicates that a functions behavior (side effects) is not tractable


The imperative keyword indicates to the compiler that it should not attempt to model the behavior of the function for the purposes of optimization and introspection. Functions that cannot be statically analyzed in a predetermined time frame are assumed to be imperative. This hint avoids the computational cost involved, thereby improving performance.

copyright © Brent Lewis 2017