packages feed

Hs2lib-0.4.8: Templates/main.template-unix.c

#include <Rts.h>

extern void __stginit_%name(void);

HsBool __attribute__ ((constructor)) %name_load(void);
void __attribute__ ((destructor)) %name_unload(void);

HsBool %name_load(void){
  int argc = 1;
  char *argv[] = { "ghcDll", NULL };
  /* N.B. argv arrays must end with NULL */

  // Initialize Haskell runtime
  hs_init(&argc, &argv);

  // Tell Haskell about all root modules
  hs_add_root(__stginit_%name);

  // do any other initialization here and
  // return false if there was a problem
  return HS_BOOL_TRUE;
}

void %name_unload(void){
  hs_exit();
}