]> git.jsancho.org Git - gacela.git/commitdiff
(no commit message)
authorjsancho <devnull@localhost>
Thu, 14 Apr 2011 06:17:00 +0000 (06:17 +0000)
committerjsancho <devnull@localhost>
Thu, 14 Apr 2011 06:17:00 +0000 (06:17 +0000)
gacela.c

index 80d4abc79b24b11efe7f810741a1b653d39de16b..24dda3d5d18c4253eeece9dfecdd24df3933793d 100644 (file)
--- a/gacela.c
+++ b/gacela.c
@@ -3,9 +3,6 @@
 #include <libguile.h>
 #include <pthread.h>
 
-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 (&register_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);
 }