typedef long SXint; typedef SXint SXbool; typedef double SXdouble; typedef void *SXobject; typedef char SXchar; typedef SXobject SXclass; typedef SXclass SXString; typedef unsigned char *SXutf; extern SXobject SXmakeString(char *str); extern SXobject SXcharToObject(SXchar c); extern SXobject SXintToObject(SXint val); extern SXint SXintFrom(SXobject val); extern SXdouble SXdoubleFrom(SXobject val); extern SXobject SXdoubleToObject(SXdouble val); extern char *stringOf(SXobject str); extern SXobject SXmakePrimitive(void *fn, SXint minArgs, SXint maxArgs); extern SXobject SXcoerce (SXobject self, SXclass c); extern SXobject SXmakeNameInterned(SXutf source); extern SXobject SXmakeArrayValues(SXobject v1, ...); extern SXobject SXsizeGetter(SXobject obj); extern void SXwriteString(SXobject str, char *cstring); extern SXobject SXread(SXobject str); extern SXobject SXwrite(SXobject str, SXobject o); extern void SXthreadYield(void); extern void SXthreadIdle(void); extern void *SXsafe_setfInit(int *lhs_address, int rhs); #define SXsetfInit(lhs,rhs) SXsafe_setfInit((int *)&(lhs), (int)(rhs)) extern SXobject SXgprintf(SXobject self, SXchar *formt, ...); extern SXobject debug; extern SXobject SXtrue; extern SXobject SXfalse; extern SXobject SXundefined;