


## 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
api Typelocked_Vector {
Vector;
Element;
max_len: Int;
# vector creation functions
from_list: List( Element ) -> Vector;
tabulate: (Int, (Int -> Element)) -> Vector;
length: Vector -> Int;
cat: List( Vector ) -> Vector;
get: (Vector, Int) -> Element;
set: (Vector, Int, Element) -> Vector;
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_left: ((Int, Element, X) -> X) -> X -> Vector -> X;
keyed_fold_right: ((Int, Element, X) -> X) -> X -> Vector -> X;
fold_left: ((Element, X) -> X) -> X -> Vector -> X;
fold_right: ((Element, X) -> X) -> X -> Vector -> X;
findi: ((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;
collate: ((Element, Element) -> Order) -> (Vector, Vector) -> Order;
};
## COPYRIGHT (c) 1994 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2012,
## released under Gnu Public Licence version 3.


