const pmake = { VERSION : "0.0" }; pmake.inherit = function(base) { const func = function() {}; Object.setPrototypeOf(func.prototype, base.prototype); return func; }; pmake.inherited = function(base, parent) { var proto = base.prototype; while(proto) { if(proto == parent.prototype) return true; proto = Object.getPrototypeOf(proto); } return false; }; pmake.register = function(base) { if(pmake.inherited(base, Compiler)) { } }; function Compiler() { }