Nick Sabalausky:

> Also, I'm curious what you mean by "collection initialization" and 
> "simplified typestate management".

Collections, like an array, need a temporary transient state where they may 
contain nulls too.

The simple typestate management means that if you want to implement nonnull 
types well, the type system need to see the type of a variable as nullable in a 
point of the code, and nonnull later. The presence of an if statement or assert 
or cast needs to change the state of the type of the variable.

I have explained a bit both things several times in posts. The problem with 
collections and the typestate needs are explained in the original little 
tutorial about Spec# in my first post of this thread.

Bye,
bearophile

Reply via email to