[Top][All Lists]
[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))))))