1;;; Package defs for the Scheme Underground sorting package, 2;;; in the Scheme 48 module language. 3 4;;; This code is 5;;; Copyright (c) 1998 by Olin Shivers. 6;;; The terms are: You may do as you please with this code, as long as 7;;; you do not delete this notice or hold me responsible for any outcome 8;;; related to its use. 9;;; 10;;; Blah blah blah. Don't you think source files should contain more lines 11;;; of code than copyright notice? 12 13;;; The general sort package: 14 15(define-structure sorting sorting-interface 16 (open scheme 17 list-merge-sort 18 vector-heap-sort 19 vector-merge-sort 20 vector-quick-sort 21 sorted 22 delete-neighbor-duplicates) 23 (files sort) 24 (optimize auto-integrate)) 25 26(define-structure sorted sorted-interface 27 (open scheme 28 vector-utils) 29 (files sortp) 30 (optimize auto-integrate)) 31 32(define-structure delete-neighbor-duplicates delete-neighbor-duplicates-interface 33 (open scheme 34 vector-utils) 35 (files delndups) 36 (optimize auto-integrate)) 37 38(define-structure binary-searches binary-searches-interface 39 (open scheme 40 vector-utils) 41 (files vbinsearch)) 42 43(define-structure list-merge-sort list-merge-sort-interface 44 (open scheme 45 (subset exceptions (assertion-violation))) 46 (files lmsort) 47 (optimize auto-integrate)) 48 49(define-structure vector-merge-sort vector-merge-sort-interface 50 (open scheme 51 vector-utils 52 vector-insertion-sort-internal) 53 (files vmsort) 54 (optimize auto-integrate)) 55 56(define-structure vector-heap-sort vector-heap-sort-interface 57 (open scheme 58 vector-utils) 59 (files vhsort) 60 (optimize auto-integrate)) 61 62(define-structures ((vector-insertion-sort vector-insertion-sort-interface) 63 (vector-insertion-sort-internal 64 vector-insertion-sort-internal-interface)) 65 (open scheme 66 vector-utils) 67 (files visort) 68 (optimize auto-integrate)) 69 70(define-structure vector-quick-sort vector-quick-sort-interface 71 (open scheme 72 vector-utils 73 vector-insertion-sort-internal) 74 (files vqsort2)) 75 76(define-structure vector-quick-sort3 vector-quick-sort3-interface 77 (open scheme 78 vector-utils 79 vector-insertion-sort-internal) 80 (files vqsort3)) 81 82(define-structure vector-utils (export vector-copy 83 vector-portion-copy 84 vector-portion-copy! 85 vector-start+end 86 vectors-start+end-2) 87 (open scheme) 88 (files vector-util)) 89 90