diff options
Diffstat (limited to 'implementation/flexvectors.sld')
-rw-r--r-- | implementation/flexvectors.sld | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/implementation/flexvectors.sld b/implementation/flexvectors.sld new file mode 100644 index 0000000..25e1543 --- /dev/null +++ b/implementation/flexvectors.sld @@ -0,0 +1,50 @@ +(define-library (flexvectors) + (export ; Constructors + make-flexvector flexvector + flexvector-unfold flexvector-unfold-right + flexvector-copy flexvector-reverse-copy + flexvector-append flexvector-concatenate flexvector-append-subvectors + + ; Predicates + flexvector? flexvector-empty? flexvector=? + + ; Selectors + flexvector-ref flexvector-front flexvector-back flexvector-length + + ; Mutators + flexvector-add! flexvector-add-front! flexvector-add-back! + flexvector-remove! flexvector-remove-front! flexvector-remove-back! + flexvector-add-all! flexvector-remove-range! flexvector-clear! + flexvector-set! flexvector-swap! + flexvector-fill! flexvector-reverse! + flexvector-copy! flexvector-reverse-copy! + flexvector-append! + + ; Iteration + flexvector-fold flexvector-fold-right + flexvector-map flexvector-map! flexvector-map/index flexvector-map/index! + flexvector-append-map flexvector-append-map/index + flexvector-filter flexvector-filter! flexvector-filter/index flexvector-filter/index! + flexvector-for-each flexvector-for-each/index + flexvector-count flexvector-cumulate + + ; Searching + flexvector-index flexvector-index-right + flexvector-skip flexvector-skip-right + flexvector-binary-search + flexvector-any flexvector-every flexvector-partition + + ; Conversion + flexvector->vector flexvector->list flexvector->string + vector->flexvector list->flexvector string->flexvector + reverse-flexvector->list reverse-list->flexvector + generator->flexvector) + + (import (scheme base) + (scheme case-lambda) + (scheme write) + (srfi 1) + (srfi 145)) + + (include "flexvectors-body1.scm") + (include "flexvectors-body2.scm")) |