[09:51:43] <vlad3> Пришлось таки добавить микрофрэймворк (20 строк) для поддержки классического ООП. Уж очень говнистый код был с куче й "type.prototype.method = ..."
[09:52:00] <vlad3> Стало тормознее, но не сильно.
[09:54:16] <vlad3> Во:
[09:54:25] <vlad3> function Class(){}
Class.extend = function extend(methods){
var result = methods.init;

function P(){
 for(var m in methods)
  this[m] = methods[m];
}
P.prototype = this.prototype;
P.prototype.constructor = result.prototype.constructor;

result.prototype = new P();
result.prototype.base = this.prototype;
result.extend = extend;
return result;
}

function inherited(obj, method){
return method.bind(obj);
}
[09:55:13] <vlad3> Эти 20 строк дались с большим трудом. Нечеловеческий ЯП.
[09:56:13] <vlad3> Теперь можно описывать методы класса, наследовать и вызывать базовые методы.
[09:58:59] <vlad3> Из-за гребанутого "this" пришлось долго отлаживаться. В какой-то момент он "съезжал" (становился одинаковым для разных объектов), глючило неописуемо :)