## typelocked-vector.api
# Compiled by:
#
src/lib/std/src/standard-core.sublib# Generic interface for typelocked vector packages.
### "Thought is subversive and revolutionary, destructive and terrible.
### Thought is merciless to privilege, established institutions, and comfortable habit.
### Thought is great and swift and free."
###
### -- Bertrand Russell
# This api is implemented in:
#
#
src/lib/std/src/vector-of-one-byte-unts.pkg#
src/lib/std/src/vector-of-chars.pkg#
src/lib/std/src/vector-of-eight-byte-floats.pkgapi Typelocked_Vector {
#
Vector;
Element;
maximum_vector_length: Int;
# vector creation functions
from_list: List( Element ) -> Vector;
from_fn: (Int, (Int -> Element)) -> Vector;
length: Vector -> Int;
cat: List( Vector ) -> Vector;
get: (Vector, Int) -> Element;
(_[]): (Vector, Int) -> Element; # (_[]) enables 'vec[index]' notation;
set: (Vector, Int, Element) -> Vector;
(_[]:=): (Vector, Int, Element) -> Vector; # (_[]:=) enables 'vec[index] := value' notation;
keyed_apply: ((Int, Element) -> Void) -> Vector -> Void;
apply: (Element -> Void) -> Vector -> Void;
keyed_map: ((Int, Element) -> Element) -> Vector -> Vector;
map: (Element -> Element) -> Vector -> Vector;
keyed_fold_forward: ((Int, Element, X) -> X) -> X -> Vector -> X;
keyed_fold_backward: ((Int, Element, X) -> X) -> X -> Vector -> X;
fold_forward: ((Element, X) -> X) -> X -> Vector -> X;
fold_backward: ((Element, X) -> X) -> X -> Vector -> X;
keyed_find: ((Int, Element) -> Bool) -> Vector -> Null_Or ((Int, Element));
find: (Element -> Bool) -> Vector -> Null_Or( Element );
exists: (Element -> Bool) -> Vector -> Bool;
all: (Element -> Bool) -> Vector -> Bool;
compare_sequences: ((Element, Element) -> Order) -> (Vector, Vector) -> Order;
};
## COPYRIGHT (c) 1994 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.