aboutsummaryrefslogtreecommitdiff
path: root/prescheme-nim-local/vec.scm
blob: 7fc474034aa27577690358924e61adb3b3de68ca (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
)