void object_init();
void strpool_init();
void stdout_init();
void boolean_init();
void character_init();
void list_init();
void entset_init();
void numset_init();
void intset_init();
void strset_init();
void charset_init();
void boolset_init();
void scope_init();
void debug_init();
void clib_init();
void subsock_init();

void init_mem();
void init_clib();
void init_subsock();
void init_object();
void init_strpool();
void init_stdout();
void init_stdin();
void init_abstract();
void init_boolean();
void init_integer();
void init_float();
void init_character();
void init_collection();
void init_string();
void init_sstring();
void init_idstring();
void init_pstring();
void init_slicestr();
void init_list();
void init_slist();
void init_plist();
void init_rlist();
void init_ulist();
void init_slicelst();
void init_srlist();
void init_set();
void init_dset();
void init_sset();
void init_mset();
void init_pset();
void init_rset();
void init_srset();
void init_mapset();
void init_powset();
void init_listset();
void init_entset();
void init_numset();
void init_intset();
void init_strset();
void init_charset();
void init_boolset();
void init_map();
void init_scope();
void init_jscope();
void init_variable();
void init_niterator();
void init_iterator();
void init_filter();
void init_selector();
void init_parameter();
void init_namelist();
void init_identifier();
void init_procedure();
void init_function();
void init_exprfunc();
void init_predef();
void init_lazy();

void subsock_fini();

#include <assert.h>
#include <time.h>

void interp_init(){
  time_t t; time(&t); srand(t);
  init_mem();
  init_clib();
  init_object();
  init_subsock();
  init_collection();
  init_string();
  init_sstring();
  init_strpool();
  init_stdout();
  init_stdin();
  init_abstract();
  init_boolean();
  init_integer();
  init_float();
  init_character();
  init_idstring();
  init_pstring();
  init_slicestr();
  init_list();
  init_slist();
  init_plist();
  init_rlist();
  init_ulist();
  init_slicelst();
  init_srlist();
  init_set();
  init_dset();
  init_sset();
  init_mset();
  init_pset();
  init_rset();
  init_srset();
  init_mapset();
  init_powset();
  init_listset();
  init_entset();
  init_numset();
  init_intset();
  init_strset();
  init_charset();
  init_boolset();
  init_map();
  init_scope();
  init_jscope();
  init_variable();
  init_niterator();
  init_iterator();
  init_filter();
  init_selector();
  init_parameter();
  init_namelist();
  init_identifier();
  init_procedure();
  init_function();
  init_exprfunc();
  init_predef();
  init_lazy();

  object_init();
  strpool_init();
  stdout_init();  
  boolean_init();  
  character_init();  
  entset_init();
  numset_init();
  intset_init();
  strset_init();
  charset_init();
  boolset_init();
  scope_init();
  debug_init();
  clib_init();
  subsock_init();
}

void interp_fini(){
  subsock_fini();
}

