guile-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile/guile-lightning test.scm


From: Marius Vollmer
Subject: guile/guile-lightning test.scm
Date: Tue, 10 Apr 2001 17:04:07 -0700

CVSROOT:        /cvs
Module name:    guile
Changes by:             01/04/10 17:04:07

Modified files:
        guile-lightning: test.scm 

Log message:
        Adapted to rest of changes.

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-lightning/test.scm.diff?tr1=1.7&tr2=1.8r1=text&r2=text

Patches:
Index: guile/guile-lightning/test.scm
diff -u guile/guile-lightning/test.scm:1.7 guile/guile-lightning/test.scm:1.8
--- guile/guile-lightning/test.scm:1.7  Sun Apr  8 20:57:36 2001
+++ guile/guile-lightning/test.scm      Tue Apr 10 17:04:07 2001
@@ -224,26 +224,20 @@
 ;                                           (local n) (quote -1)))))))
 
 (define code '(lambda-template (n)
-               (labels ((loop (i sum)
+               (labels ((loop ((i :reg 1)
+                               (sum :reg 1))
                               (invoke (global simple-format)
                                       (quote #t)
                                       (quote "~A\n")
                                       (local sum))
                               (if (invoke (global <=)
                                           (local i) (local n))
-                                  (goto loop 
+                                  (goto loop
                                         (invoke (global +)
-                                                (local i) (local sum))
+                                                (local i) (quote 1))
                                         (invoke (global +)
                                                 (local i) (local sum)))
-                                  (goto return (local sum))))
-                        (return (x)
-                                (labels ((dummy (a b)
-                                                (goto return2
-                                                      (local x) (quote a))))
-                                        (goto dummy (quote 1) (quote 2))))
-                        (return2 (x dummy)
-                                 (local x)))
+                                  (local sum))))
                        (goto loop (quote 1) (quote 0)))))
 
 (compile-show code)
@@ -254,16 +248,29 @@
   (let loop ((i 1)
             (sum 0))
     (if (<= i n)
-       (loop (+ i sum) (+ i sum))
+       (loop (+ i 1) (+ i sum))
        sum)))
 
-(compile-show '(lambda-template ()
-                (labels ((l1 (a)
-                             (goto l2 (quote 1)))
-                         (l2 (b)
-                             (labels ((l3 (c)
-                                          (goto l4 (local b))))
-                                     (goto l3 (quote 1))))
-                         (l4 (d)
-                             (local d)))
-                        (goto l1 (quote 0)))))
+; (compile-show '(lambda-template ()
+;               (labels ((l1 (a)
+;                            (goto l2 (quote 1)))
+;                        (l2 (b)
+;                            (labels ((l3 (c)
+;                                         (goto l4 (local b))))
+;                                    (goto l3 (quote 1))))
+;                        (l4 (d)
+;                            (local d)))
+;                       (goto l1 (quote 0)))))
+
+(define sum-ints (compile
+                 '(lambda-template (n)
+                    (labels ((loop (i sum)
+                                   (if (invoke (global <=)
+                                               (local i) (local n))
+                                       (goto loop
+                                             (invoke (global +)
+                                                     (local i) (quote 1))
+                                             (invoke (global +)
+                                                     (local i) (local sum)))
+                                       (local sum))))
+                            (goto loop (quote 1) (quote 0))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]