b r a y d e n . o r g / Software

/ WebHome / LanguagePages / VaultProgrammingLanguage

This Web


WebHome  
Topic List  
Web Statistics 

All Webs


Books
Main
Random
Software
TWiki  

brayden.org


Home
Monthly Digest
Today's Links
Resumé
Reading List
Books RSS
Random RSS
Software RSS

Other


Dale's Blog

currently-reading
TextDrive

The Vault programming language is being developed at Microsoft research as a safe variant of C.

The Vault Programming Language

The Vault Programming Language - at Microsoft Research. This is a variant of C with static type- and semantic-checking built-in. The goal is to get the runtime efficiency and flexibility of C, but with security and robustness guaranteed (or at least assisted) by the compiler. I hope that something useful and non-proprietary comes out of this.

Unfortunately, syntactically Vault is explicitly attribute/predicate based, and looks like an odd cross between Perl and C#. For example, here's what the interface declaration for the write() function looks like:

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:

  1. closures
  2. variants - a replacement for unions
  3. functions and data structures that are parameterized by data type
  4. A better module system
  5. and more

 
 
Current Rev: r1.1 - 03 Dec 2005 - 16:00 GMT - DaleBrayden, Revision History:Diffs | r1.1
© 2003-2011 by the contributing authors.