Beispiel #1
0
void Foo_init (void) {
  int argc = 1;
  char *arg = "";
  char **argv = &arg;
  hs_init(&argc, &argv);
  hs_add_root(__stginit_Foo);
}
Beispiel #2
0
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;
}
Beispiel #3
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));
}
Beispiel #4
0
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));
}
Beispiel #5
0
int main(int argc, char *argv[])
{
  // Haskell setup
  hs_init(&argc, &argv);
#ifdef __GLASGOW_HASKELL__
  hs_add_root(__stginit_DhekziLauncher);
#endif

  launch();
}
Beispiel #6
0
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);
}
Beispiel #8
0
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;
}
Beispiel #9
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);
}
Beispiel #10
0
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;
}
Beispiel #12
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;
}