+ CYSetProperty(context, cache, CYJSString("longdouble"), CYMakeType(context, sig::Primitive<long double>()), kJSPropertyAttributeDontEnum);
+
+ CYSetProperty(context, global, CYJSString("require"), &require_callAsFunction, kJSPropertyAttributeDontEnum);
+
+ JSObjectRef System(JSObjectMake(context, NULL, NULL));
+ CYSetProperty(context, all, CYJSString("system"), System);
+ System = CYCastJSObject(context, CYGetProperty(context, global, CYJSString("system")));
+ CYSetProperty(context, cy, CYJSString("System"), System);
+
+ JSObjectRef process(JSObjectMake(context, NULL, NULL));
+ CYSetProperty(context, global, CYJSString("process"), process);
+ CYSetProperty(context, cy, CYJSString("process"), process);
+
+ CYSetProperty(context, System, CYJSString("args"), CYJSNull(context));
+ CYSetProperty(context, System, CYJSString("print"), &System_print);
+
+ CYSetProperty(context, global, CYJSString("global"), global);
+ CYSetProperty(context, global, CYJSString("print"), &Global_print);