diff --git a/src/ikarus.boot b/src/ikarus.boot index b18387d..5dca912 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/ikarus.sort.ss b/src/ikarus.sort.ss index 6c492a3..e3158b7 100644 --- a/src/ikarus.sort.ss +++ b/src/ikarus.sort.ss @@ -1,9 +1,9 @@ (library (ikarus.sort) - (export list-sort vector-sort) + (export list-sort vector-sort vector-sort!) (import (ikarus system $fx) - (except (ikarus) list-sort vector-sort)) + (except (ikarus) list-sort vector-sort vector-sort!)) (define (merge1 vector (sort-tail list v) (vector-length v)))) + + (define (vector-sort! list v) (vector-length v))]) + (unless (null? ls) + (vector-set! v i (car ls)) + (f (fx+ i 1) v (cdr ls))))) + ) diff --git a/src/makefile.ss b/src/makefile.ss index e0d9143..0470f45 100755 --- a/src/makefile.ss +++ b/src/makefile.ss @@ -326,6 +326,7 @@ [member i r] [list-sort i] [vector-sort i] + [vector-sort! i] [bwp-object? i] [weak-cons i] [weak-pair? i] diff --git a/src/todo-r6rs.ss b/src/todo-r6rs.ss index 73ba089..d20b48a 100755 --- a/src/todo-r6rs.ss +++ b/src/todo-r6rs.ss @@ -14,11 +14,11 @@ [sc (rnrs syntax-case (6))] [fi (rnrs files (6))] [ne (null-environment)] + [sr (rnrs sorting (6))] [ba (rnrs base (6))] [ls (rnrs lists (6))] [is (rnrs io simple (6))] [bv (rnrs bytevectors (6))] - [sr (rnrs sorting (6))] [uc (rnrs unicode (6))] [ex (rnrs exceptions (6))] [bw (rnrs arithmetic bitwise (6))] @@ -686,7 +686,7 @@ ;;; [list-sort C sr] [vector-sort C sr] - [vector-sort! S sr] + [vector-sort! C sr] ;;; [file-exists? C fi] [delete-file C fi]