mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-15 16:57:35 +02:00
Added (vector->list)
This commit is contained in:
parent
0e8cd6a94e
commit
7d7e77df3d
1 changed files with 14 additions and 1 deletions
|
@ -40,6 +40,7 @@
|
||||||
Cyc-obj=?
|
Cyc-obj=?
|
||||||
make-string
|
make-string
|
||||||
vector
|
vector
|
||||||
|
vector->list
|
||||||
error
|
error
|
||||||
raise
|
raise
|
||||||
raise-continuable
|
raise-continuable
|
||||||
|
@ -119,7 +120,6 @@
|
||||||
(car lst)
|
(car lst)
|
||||||
(foldl (lambda (a b) (append-2 b a)) (car lst) (cdr lst)))))
|
(foldl (lambda (a b) (append-2 b a)) (car lst) (cdr lst)))))
|
||||||
(define (list . objs) objs)
|
(define (list . objs) objs)
|
||||||
(define (vector . objs) (list->vector objs))
|
|
||||||
(define (make-list k . fill)
|
(define (make-list k . fill)
|
||||||
(letrec ((x (if (null? fill)
|
(letrec ((x (if (null? fill)
|
||||||
#f
|
#f
|
||||||
|
@ -149,6 +149,19 @@
|
||||||
(let ((kth (list-tail lst k)))
|
(let ((kth (list-tail lst k)))
|
||||||
(set-car! kth obj)))
|
(set-car! kth obj)))
|
||||||
(define (reverse lst) (foldl cons '() lst))
|
(define (reverse lst) (foldl cons '() lst))
|
||||||
|
|
||||||
|
(define (vector . objs) (list->vector objs))
|
||||||
|
(define (vector->list vec . opts)
|
||||||
|
(letrec ((len (vector-length vec))
|
||||||
|
(start (if (> (length opts) 0) (car opts) 0))
|
||||||
|
(end (if (> (length opts) 1) (cadr opts) len))
|
||||||
|
(loop (lambda (i lst)
|
||||||
|
(if (= i end)
|
||||||
|
lst
|
||||||
|
(loop (+ i 1)
|
||||||
|
(cons (vector-ref vec i) lst))))))
|
||||||
|
(loop start '())))
|
||||||
|
|
||||||
(define (boolean=? b1 b2 . bs)
|
(define (boolean=? b1 b2 . bs)
|
||||||
(Cyc-obj=? boolean? b1 (cons b2 bs)))
|
(Cyc-obj=? boolean? b1 (cons b2 bs)))
|
||||||
(define (symbol=? sym1 sym2 . syms)
|
(define (symbol=? sym1 sym2 . syms)
|
||||||
|
|
Loading…
Add table
Reference in a new issue