void Foo_init (void) { int argc = 1; char *arg = ""; char **argv = &arg; hs_init(&argc, &argv); hs_add_root(__stginit_Foo); }
int SDL_main(int argc, char *argv[]) { int i; #ifdef __APPLE__ void * pool = objc_msgSend((id)objc_lookUpClass("NSAutoreleasePool"), sel_getUid("alloc")); objc_msgSend(pool, sel_getUid("init")); #endif hs_init(&argc, &argv); #ifdef __GLASGOW_HASKELL__ hs_add_root(__stginit_RectanglesMain); #endif rectangles_main(); hs_exit(); #ifdef __APPLE__ objc_msgSend(pool, sel_getUid("release")); #endif return 0; }
static void library_init(void) { /* This seems to be a no-op, but it makes the GHCRTS envvar work. */ static char *argv[] = { STR(MODULE) ".so", 0 }, **argv_ = argv; static int argc = 1; printf("Loading library OfxPlugin and initializing rts\n"); hs_init(&argc, &argv_); hs_add_root(CAT(__stginit_, MODULE)); }
static void library_init(void) { /* This seems to be a no-op, but it makes the GHCRTS envvar work. */ static char *argv[] = { STR(CalculatorFinance) ".so", 0 }, **argv_ = argv; static int argc = 1; hs_init(&argc, &argv_); hs_add_root(CAT(__stginit_, CalculatorFinance)); }
int main(int argc, char *argv[]) { // Haskell setup hs_init(&argc, &argv); #ifdef __GLASGOW_HASKELL__ hs_add_root(__stginit_DhekziLauncher); #endif launch(); }
EQ_API HsBool eq_begin_runtime() { char **argv = internArgv; int argc = 1; lastResult = NULL; hs_init(&argc, &argv); hs_add_root(__stginit_FormulaDll); return HS_BOOL_TRUE; }
void HsStart() { int argc = 1; char* argv[] = {"ghcDll", NULL}; // argv must end with NULL // Initialize Haskell runtime char** args = argv; hs_init(&argc, &args); // Tell Haskell about all root modules hs_add_root(__stginit_Voidp); }
int main(int argc, char *argv[]) { hs_init(&argc, &argv); #ifdef __GLASGOW_HASKELL__ hs_add_root(__stginit_SDLWrapper); #endif haskell_main(); hs_exit(); return 0; }
void haskell_init(void) { int argc = 1; char* argv[] = {HS_PLUGIN_NAME, NULL}; // argv must end with NULL // Initialize Haskell runtime char** args = argv; hs_init(&argc, &args); // Tell Haskell about all root modules hs_add_root(__stginit_Main); }
static void doChildInit(apr_pool_t *pool, server_rec *pServer) { void *data = NULL; fprintf(stderr, "mod_ghc initialized; pid=%d\n", getpid()); apr_pool_userdata_get(&data, hs_init_key, pServer->process->pool); if (data == NULL) { // only hs_init once? fprintf(stderr, "mod_ghc hs_init; pid=%d\n", getpid()); apr_pool_userdata_set((const void *)1, hs_init_key, apr_pool_cleanup_null, pServer->process->pool ); fprintf(stderr, "mod_ghc registering cleanup; pid=%d\n", getpid()); apr_pool_cleanup_register(pool, NULL, doChildExit, apr_pool_cleanup_null); do_hs_init(); hs_add_root(__stginit_modzmghczm0zi1_ApacheziBindings); // __stginit_modzmghczm0zi1_ApacheziGlue } else { fprintf(stderr, "skipped the mod_ghc hs_init; pid=%d\n", getpid()); } }
int main(int argc, char *argv[]) { int i; hs_init(&argc, &argv); #ifdef __GLASGOW_HASKELL__ hs_add_root(__stginit_Safe); #endif printf("Main thread: %d\n", (int)pthread_self()); i = fibonacci_hs(42); printf("Fibonacci: %d\n", i); print_numcaps(); hs_exit(); return 0; }
int main(int argc, char *argv[]) { hs_init(&argc, &argv); hs_add_root(__stginit_HaskelineExport); // TODO: block signals at certain points of this program // in order to avoid race conditions. hdata = initialize_input(); signal(SIGINT, catch_signal); char* str1 = get_input_line(hdata,"first:"); char* str2 = get_input_line(hdata,"second:"); if (str1!=NULL && str2 != NULL) { printf("The strings were:\n%s\n%s\n",str1,str2); } close_input(hdata); hs_exit(); return 0; }