Hook Olin's sorting code into the regular build, replacing the old T

implementation.
This commit is contained in:
sperber 2004-01-26 21:30:55 +00:00
parent d772a5df84
commit 3f108f501f
3 changed files with 95 additions and 25 deletions

View File

@ -13,7 +13,8 @@ USER=${USER-`logname 2>/dev/null || echo '*GOK*'`}
,load $srcdir/scheme/env/init-defpackage.scm ,load $srcdir/scheme/env/init-defpackage.scm
((*structure-ref filenames 'set-translation!) ((*structure-ref filenames 'set-translation!)
"=scheme48/" "$srcdir/scheme/") "=scheme48/" "$srcdir/scheme/")
,load =scheme48/more-interfaces.scm =scheme48/link-packages.scm ,load =scheme48/more-interfaces.scm =scheme48/sort/interfaces.scm
,load =scheme48/link-packages.scm
,load =scheme48/more-packages.scm ,load =scheme48/more-packages.scm
(ensure-loaded command-processor) (ensure-loaded command-processor)
(ensure-loaded usual-commands) (ensure-loaded usual-commands)

View File

@ -648,23 +648,3 @@
option-optional-arg? option-optional-arg?
option-processor option-processor
args-fold)) args-fold))
(define-interface srfi-42-interface
(export ((do-ec
list-ec append-ec
string-ec string-append-ec
vector-ec vector-of-length-ec
sum-ec product-ec
min-ec max-ec
any?-ec every?-ec
first-ec last-ec
fold-ec fold3-ec) :syntax)
((:
:list :string :vector
:integers
:range :real-range :char-range
:port
:dispatched) :syntax)
((:do :let :parallel :while :until) :syntax)
:-dispatch-ref :-dispatch-set! make-initial-:-dispatch
(:generator-proc :syntax)))

View File

@ -415,6 +415,7 @@
(files (big placeholder)) (files (big placeholder))
(optimize auto-integrate)) (optimize auto-integrate))
;---------------- ;----------------
; Big Scheme ; Big Scheme
@ -423,10 +424,6 @@
signals) ;call-error signals) ;call-error
(files (big random))) (files (big random)))
(define-structure sort (export sort-list sort-list!)
(open scheme-level-2)
(files (big sort)))
(define-structure pp (export p pretty-print define-indentation) (define-structure pp (export p pretty-print define-indentation)
(open scheme-level-2 (open scheme-level-2
tables tables
@ -495,6 +492,88 @@
threads thread-cells fluids) threads thread-cells fluids)
(files (big thread-fluid))) (files (big thread-fluid)))
;;; Package defs for the Scheme Underground sorting package,
;;; The general sort package:
(define-structure sorting sorting-interface
(open scheme
list-merge-sort
vector-heap-sort
vector-merge-sort
sorted
delete-neighbor-duplicates)
(files (sort sort))
(optimize auto-integrate))
(define-structure sorted sorted-interface
(open scheme
vector-utils)
(files (sort sortp))
(optimize auto-integrate))
(define-structure delete-neighbor-duplicates delete-neighbor-duplicates-interface
(open scheme
receiving
formats
vector-utils)
(files (sort delndups))
(optimize auto-integrate))
(define-structure binary-searches binary-searches-interface
(open scheme
vector-utils)
(files (sort vbinsearch)))
(define-structure list-merge-sort list-merge-sort-interface
(open scheme
receiving
(subset signals (error)))
(files (sort lmsort))
(optimize auto-integrate))
(define-structure vector-merge-sort vector-merge-sort-interface
(open scheme
receiving
vector-utils
vector-insertion-sort-internal)
(files (sort vmsort))
(optimize auto-integrate))
(define-structure vector-heap-sort vector-heap-sort-interface
(open scheme
receiving
vector-utils)
(files (sort vhsort))
(optimize auto-integrate))
(define-structures ((vector-insertion-sort vector-insertion-sort-interface)
(vector-insertion-sort-internal
vector-insertion-sort-internal-interface))
(open scheme
vector-utils)
(files (sort visort))
(optimize auto-integrate))
(define-structure vector-utils (export vector-copy
vector-portion-copy
vector-portion-copy!
vector-start+end
vectors-start+end-2)
(open scheme)
(files (sort vector-util)))
;;; end Package defs for the Scheme Underground sorting package,
(define-structure sort (export sort-list sort-list!)
(open scheme-level-2
sorting)
(begin
(define (sort-list l obj-<)
(list-sort obj-< l))
(define (sort-list! l obj-<)
(list-sort! obj-< l))))
(define-structure big-util big-util-interface (define-structure big-util big-util-interface
(open scheme-level-2 (open scheme-level-2
formats formats
@ -942,7 +1021,17 @@
search-trees search-trees
sicp sicp
sockets sockets
sort sort
delete-neighbor-duplicates
binary-searches
sorted
list-merge-sort
vector-merge-sort
vector-heap-sort
vector-insertion-sort
sorting
strong strong
thread-fluids thread-fluids
traverse traverse