#if 0 typedef struct closure_struct { info_pointer *info_table; } closure; #endif typedef struct info_table_struct { void (*standard_entry_code) (); void (*evacuation_code) (); void (*scavenge_code) (); } info_table; typedef void *(*(*StgFunPtr)(void))(void); typedef StgFunPtr StgFun(void); typedef int StgWord; #if 0 struct codelabel { struct codelabel (*fp)(); }; typedef struct codelabel CodeLabel; #endif #if 0 void (*hax(void))(void) { return (void (*)(void))hax; } /* "true" C style */ struct foo { struct foo (*fun)(void); }; struct foo self(void) { struct foo tmp = { self }; return tmp; } #endif