Just found out that the volta project is now ready for the world to see.
First thought was, yay my jsc project is obselete, but when i looked at the code that volta had produced. It looks like volta uses javascript as msil – still bytecode but now as javascript. See the example project for volta here. A year ago i tried the very same.
Code from volta:
var oA = Assembly.References.cB();var kA = GetTypeDef(oA, "System.Int32");
var kB = GetInstanceDef(oA , "System.Nullable`1", [kA]);
var kC = GetTypeDef(Prelude, "Microsoft.LiveLabs.Volta.Prelude.RuntimeHelpers" );
var kD = GetTypeDef(Assembly, "WordWorm.MyPage");
var lA = GetTypeRef(Prelude, "Microsoft.LiveLabs.Volta .JavaScript.Object");
var lB = GetTypeRef(Prelude, "Microsoft.LiveLabs.Volta.Prelude.TypeDef");
var lC = GetTypeRef(oA, "System.Object");
var lD = GetTypeRef(oA, "System.Int32");
var lE = GetTypeRef(oA, "System .Void");
var mA = GetMethodDef(kC, "Box", [lA, lB, lC]);
var mB = GetMethodDef(kB, ".ctor", [lD, lE]);
var mC = GetMethodDef(kC, "Unbox", [lC, lC]);
var mD = GetMethodDef(kC, "OneLevelClone", [lC, lC]);
Code from jsc:
// NatureBoy.js.Dude2.LookAtMouse
type$QW1Ihd1VgDy4NHfHDq0FBw.kQAABt1VgDy4NHfHDq0FBw = function (b)
{
var a = this, c, d;
c = new pBcFaqMiojilwt8AVV9H1g();
c.e = b;
c.__4__this = a;
c.h = new ctor$hgMABnJhNza2FzlBzkMp7g(a, 'ogAABt1VgDy4NHfHDq0FBw');
UAAABnL6FTqbvTbIOm0H5w(c.e, c.h);
d = new ctor$GQcABllDWDCrMGy9G7lP7Q(c, '_LookAtMouse_b__3');
return d;
};
Now with projects like gwt, silverlight, xna, moonlight, flash, script#, operas 3d canvas and google gears it will be very interesting to see where it goes.
And yes, soon I will update the binaries for jsc. They are out of date at the moment and users should use svn.