My favorites
▼
|
Sign in
hefdoeshwk
Code exercises for the blog Hef Does Homework.
Project Home
Downloads
Wiki
Issues
Source
Checkout
Browse
Changes
Source path:
svn
/
trunk
/
eopl2
/
scheme
/
1.15.10.scm
r24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
; returns a new vector with the elements of `lst` attached to the end of `v`. Do this without using vector->list, list->vector, and append.
(define vector-append-list
(lambda (v lst)
(vector-append-list2 v lst (make-vector (+ (vector-length v) (length lst))) 0)))
(define vector-append-list2
(lambda (v lst newV i)
(if (< i (vector-length v))
(let ((sidefx (vector-set! newV i (vector-ref v i))))
(vector-append-list2 v lst newV (+ i 1)))
(if (not (null? lst))
(let ((sidefx (vector-set! newV i (car lst))))
(vector-append-list2 v (cdr lst) newV (+ i 1)))
newV))))
(vector-append-list '#(1 2 3) '(4 5))
; #(1 2 3 4 5)
Show details
Hide details
Change log
r2
by jonathan.hefner on Jun 8, 2008
Diff
Initial commit
Go to:
/trunk/.project
/trunk/eopl2
/trunk/eopl2/about.txt
/trunk/eopl2/haskell
/trunk/eopl2/haskell/1.15.1.hs
/trunk/eopl2/haskell/1.15.2.hs
/trunk/eopl2/haskell/1.15.3.hs
/trunk/eopl2/scheme
/trunk/eopl2/scheme/1.15.1.scm
/trunk/eopl2/scheme/1.15.10.scm
/trunk/eopl2/scheme/1.15.2.scm
/trunk/eopl2/scheme/1.15.3.scm
/trunk/eopl2/scheme/1.15.4.scm
/trunk/eopl2/scheme/1.15.5.scm
/trunk/eopl2/scheme/1.15.6.scm
/trunk/eopl2/scheme/1.15.7.scm
/trunk/eopl2/scheme/1.15.8.scm
/trunk/eopl2/scheme/1.15.9.scm
/trunk/eopl2/scheme/1.16.1.scm
/trunk/eopl2/scheme/1.16.2.scm
/trunk/eopl2/scheme/1.16.3.scm
/trunk/eopl2/scheme/1.16.4.scm
/trunk/eopl2/scheme/1.16.5.scm
/trunk/eopl2/scheme/1.17.1.scm
/trunk/eopl2/scheme/1.17.2.scm
/trunk/eopl2/scheme/1.17.3.scm
/trunk/eopl2/scheme/1.18.1.scm
/trunk/eopl2/scheme/1.18.2.scm
/trunk/eopl2/scheme/1.18.3.scm
/trunk/eopl2/scheme/1.19.scm
/trunk/eopl2/scheme/1.22.scm
/trunk/eopl2/scheme/1.23.scm
/trunk/eopl2/scheme/1.24.scm
/trunk/eopl2/scheme/1.25.scm
/trunk/eopl2/scheme/figure1.1.scm
Project members,
sign in
to write a code review
Older revisions
All revisions of this file
File info
Size: 716 bytes, 19 lines
View raw file
Powered by
Google Project Hosting