Вот теперь IOJS и библиотека primitive друзья
В C чтобы использовать элемент массива достаточно:
int * array = {0, 1, 2, 3};
int a = array[0]; //Очень просто
В JS чтобы так сделать нужно:
var array = PRIM.Int.array([0, 1, 2, 3]);
var a = array.get(0); //Получить нулевой индекс - да такие вот операторы на JS
var a = array.get(); //Для нулевого индекса можно так
var a = array.add(0).ptr; //Через геттер, создавая при этом еще один экземпляр pointer
Однако есть и отличия:
var a = 1;
var array = PRIM.Int.array([0, 1, 2, 3]);
array.set(a, 0); //Установить так
array.add(0).ptr = a; //Большая разница
array.add(0).set(a); //Можно и так
И мало кто знает. В primitive.js сеттеры, геттеры и функции, которые встроены в классы не являются основными. Основными являются именно static функции. Я этот фарш решил добавить для удобочитаемости кода.
Кстати, новые экземпляры (классы) не содержать многого. Они содержат всего 2 переменные (1 из которых ссылка). Остальное это либо прототипы либо статики.
За основу стиля я взял именно стиль как у SIMD. Да и сам SIMD можно использовать (скажу позже как). У данной библиотеки есть еще ".mem" геттер и сеттер. Его и можно отправлять в плаванье.