aboutsummaryrefslogtreecommitdiff
path: root/prescheme-nim-local/vec.scm
diff options
context:
space:
mode:
Diffstat (limited to 'prescheme-nim-local/vec.scm')
-rw-r--r--prescheme-nim-local/vec.scm21
1 files changed, 21 insertions, 0 deletions
diff --git a/prescheme-nim-local/vec.scm b/prescheme-nim-local/vec.scm
new file mode 100644
index 0000000..7fc4740
--- /dev/null
+++ b/prescheme-nim-local/vec.scm
@@ -0,0 +1,21 @@
+;; vec-a is computed at compile-time
+(define %vec-a (vector-unfold (lambda (i)
+ (* i i))
+ 5))
+
+;; take vec-a's length at compile-time
+(define %len-a (vector-length %vec-a))
+
+(define (main)
+ (define out (current-output-port))
+ (write-string "Print vec-a with vector-for-each:\n" out)
+ (write-integer %len-a out)
+ (vector-for-each (lambda (i val)
+ (write-string " vec-a[" out)
+ (write-integer i out)
+ (write-string "] = " out)
+ (write-integer val out)
+ (newline out))
+ %vec-a %len-a)
+ 0
+)