int main( int argc, char* argv[] ) { struct list *l = cons(1.5, cons(2.6, cons(3.7, nil()))); high_level_func( print, l); // printf("%d",argc); return 0; }
void high_level_func ( void (*f)(struct list *l), struct list *l) { switch ( (int)l ) { case 0: printf( "^" ); return; default: f(l); high_level_func( f, l->next); return; } }
void other_stuff() { high_level_func(); do_other_stuff(); }
void thread_a() { high_level_func(); }