From: jsancho Date: Thu, 14 Apr 2011 06:17:00 +0000 (+0000) Subject: (no commit message) X-Git-Url: https://git.jsancho.org/?a=commitdiff_plain;h=a77a0257caeeaaa3cc0977008d4cf9a92a9ee1cd;p=gacela.git --- diff --git a/gacela.c b/gacela.c index 80d4abc..24dda3d 100644 --- a/gacela.c +++ b/gacela.c @@ -3,9 +3,6 @@ #include #include -int contador = 0; -int incremento = 1; - SCM prueba () { int flags; @@ -31,9 +28,9 @@ SCM prueba () { void *bucle () { while (1) { - contador = contador + incremento; - if (contador > 1000) incremento = -1; - else if (contador < 0) incremento = 1; + scm_c_eval_string("(define contador (+ contador incremento))"); + scm_c_eval_string("(if (> contador 1000) (define incremento -1))"); + scm_c_eval_string("(if (< contador 0) (define incremento 1))"); } pthread_exit(NULL); } @@ -45,31 +42,27 @@ SCM lanzar_bucle () { return SCM_UNSPECIFIED; } -SCM ver_contador () { +/*SCM ver_contador () { return scm_from_int(contador); -} +}*/ static void* register_functions (void* data) { scm_c_define_gsubr ("prueba", 0, 0, 0, &prueba); - scm_c_define_gsubr ("ver-contador", 0, 0, 0, &ver_contador); +// scm_c_define_gsubr ("ver-contador", 0, 0, 0, &ver_contador); scm_c_define_gsubr ("lanzar-bucle", 0, 0, 0, &lanzar_bucle); return NULL; } int main (int argc, char *argv[]) { -/* GSCM_status status; - GSCM_top_level toplev; - - status = gscm_eval_str(NULL, toplev, "(use-modules (ice-9 readline))"); - status = gscm_eval_str(NULL, toplev, "(activate-readline)"); -*/ scm_with_guile (®ister_functions, NULL); scm_c_eval_string("(set-repl-prompt! \"gacela>\")"); scm_c_eval_string("(use-modules (ice-9 readline))"); scm_c_eval_string("(activate-readline)"); + scm_c_eval_string("(define contador 0)"); + scm_c_eval_string("(define incremento 1)"); scm_shell (argc, argv); }