The Vault programming language is being developed at Microsoft research as a safe variant of C.
void write (tracked($F) FILE, char) [ $F @ writable ];You can get used to anything, I guess, but if MS is going to the trouble to make a safe C, I think they would do well to make the effort to do it with a syntax that doesn't look bolted on. Oh, and just a nit: why is write() declared void rather than, say, int??? But these are just minor issues. Vault has some really cool features: