DataList(S)

alql.spad line 1 [edit on github]

This domain provides some nice functions on lists

# : % -> NonNegativeInteger
from Aggregate
< : (%, %) -> Boolean
from PartialOrder
<= : (%, %) -> Boolean
from PartialOrder
= : (%, %) -> Boolean
from BasicType
> : (%, %) -> Boolean
from PartialOrder
>= : (%, %) -> Boolean
from PartialOrder
any? : (Mapping(Boolean, S), %) -> Boolean
from HomogeneousAggregate(S)
child? : (%, %) -> Boolean
from RecursiveAggregate(S)
children : % -> List(%)
from RecursiveAggregate(S)
coerce : List(S) -> %

coerce(l) creates a datalist from l

coerce : % -> List(S)

coerce(x) returns the list of elements in x

coerce : % -> OutputForm
from CoercibleTo(OutputForm)
concat : (%, %) -> %
from LinearAggregate(S)
concat : (%, S) -> %
from LinearAggregate(S)
concat : (S, %) -> %
from LinearAggregate(S)
concat : List(%) -> %
from LinearAggregate(S)
concat! : (%, %) -> %
from ExtensibleLinearAggregate(S)
concat! : (%, S) -> %
from ExtensibleLinearAggregate(S)
concat! : List(%) -> %
from UnaryRecursiveAggregate(S)
construct : List(S) -> %
from Collection(S)
convert : % -> InputForm if S has ConvertibleTo(InputForm)
from ConvertibleTo(InputForm)
copy : % -> %
from Aggregate
copyInto! : (%, %, Integer) -> %
from LinearAggregate(S)
count : (S, %) -> NonNegativeInteger
from HomogeneousAggregate(S)
count : (Mapping(Boolean, S), %) -> NonNegativeInteger
from HomogeneousAggregate(S)
cycleEntry : % -> %
from UnaryRecursiveAggregate(S)
cycleLength : % -> NonNegativeInteger
from UnaryRecursiveAggregate(S)
cycleSplit! : % -> %
from UnaryRecursiveAggregate(S)
cycleTail : % -> %
from UnaryRecursiveAggregate(S)
cyclic? : % -> Boolean
from RecursiveAggregate(S)
datalist : List(S) -> %

datalist(l) creates a datalist from l

delete : (%, Integer) -> %
from LinearAggregate(S)
delete : (%, UniversalSegment(Integer)) -> %
from LinearAggregate(S)
delete! : (%, Integer) -> %
from ExtensibleLinearAggregate(S)
delete! : (%, UniversalSegment(Integer)) -> %
from ExtensibleLinearAggregate(S)
distance : (%, %) -> Integer
from RecursiveAggregate(S)
elt : (%, "rest") -> %
from UnaryRecursiveAggregate(S)
elt : (%, "sort") -> %

l.sort returns l with elements sorted. Note: l.sort = sort(l)

elt : (%, "unique") -> %

l.unique returns l with duplicates removed. Note: l.unique = removeDuplicates(l).

elt : (%, UniversalSegment(Integer)) -> %
from Eltable(UniversalSegment(Integer), %)
elt : (%, "first") -> S
from UnaryRecursiveAggregate(S)
elt : (%, "last") -> S
from UnaryRecursiveAggregate(S)
elt : (%, "value") -> S
from RecursiveAggregate(S)
elt : (%, Integer) -> S
from Eltable(Integer, S)
elt : (%, Integer, S) -> S
from EltableAggregate(Integer, S)
elt : (%, "count") -> NonNegativeInteger

l."count" returns the number of elements in l.

empty : () -> %
from Aggregate
empty? : % -> Boolean
from Aggregate
entries : % -> List(S)
from IndexedAggregate(Integer, S)
entry? : (S, %) -> Boolean
from IndexedAggregate(Integer, S)
eq? : (%, %) -> Boolean
from Aggregate
eval : (%, S, S) -> % if S has Evalable(S)
from InnerEvalable(S, S)
eval : (%, Equation(S)) -> % if S has Evalable(S)
from Evalable(S)
eval : (%, List(S), List(S)) -> % if S has Evalable(S)
from InnerEvalable(S, S)
eval : (%, List(Equation(S))) -> % if S has Evalable(S)
from Evalable(S)
every? : (Mapping(Boolean, S), %) -> Boolean
from HomogeneousAggregate(S)
explicitlyFinite? : % -> Boolean
from StreamAggregate(S)
fill! : (%, S) -> %
from IndexedAggregate(Integer, S)
find : (Mapping(Boolean, S), %) -> Union(S, "failed")
from Collection(S)
first : (%, NonNegativeInteger) -> %
from LinearAggregate(S)
first : % -> S
from IndexedAggregate(Integer, S)
hash : % -> SingleInteger if S has Hashable
from Hashable
hashUpdate! : (HashState, %) -> HashState if S has Hashable
from Hashable
index? : (Integer, %) -> Boolean
from IndexedAggregate(Integer, S)
indices : % -> List(Integer)
from IndexedAggregate(Integer, S)
insert : (%, %, Integer) -> %
from LinearAggregate(S)
insert : (S, %, Integer) -> %
from LinearAggregate(S)
insert! : (%, %, Integer) -> %
from ExtensibleLinearAggregate(S)
insert! : (S, %, Integer) -> %
from ExtensibleLinearAggregate(S)
last : (%, NonNegativeInteger) -> %
from UnaryRecursiveAggregate(S)
last : % -> S
from UnaryRecursiveAggregate(S)
latex : % -> String
from SetCategory
leaf? : % -> Boolean
from RecursiveAggregate(S)
leaves : % -> List(S)
from RecursiveAggregate(S)
leftTrim : (%, S) -> %
from LinearAggregate(S)
less? : (%, NonNegativeInteger) -> Boolean
from Aggregate
list : S -> %
from ListAggregate(S)
map : (Mapping(S, S), %) -> %
from HomogeneousAggregate(S)
map : (Mapping(S, S, S), %, %) -> %
from LinearAggregate(S)
map! : (Mapping(S, S), %) -> %
from HomogeneousAggregate(S)
max : (%, %) -> %
from OrderedSet
max : % -> S
from HomogeneousAggregate(S)
max : (Mapping(Boolean, S, S), %) -> S
from HomogeneousAggregate(S)
maxIndex : % -> Integer
from IndexedAggregate(Integer, S)
member? : (S, %) -> Boolean
from HomogeneousAggregate(S)
members : % -> List(S)
from HomogeneousAggregate(S)
merge : (%, %) -> %
from LinearAggregate(S)
merge : (Mapping(Boolean, S, S), %, %) -> %
from LinearAggregate(S)
merge! : (%, %) -> %
from ExtensibleLinearAggregate(S)
merge! : (Mapping(Boolean, S, S), %, %) -> %
from ExtensibleLinearAggregate(S)
min : (%, %) -> %
from OrderedSet
min : % -> S
from HomogeneousAggregate(S)
minIndex : % -> Integer
from IndexedAggregate(Integer, S)
more? : (%, NonNegativeInteger) -> Boolean
from Aggregate
new : (NonNegativeInteger, S) -> %
from LinearAggregate(S)
node? : (%, %) -> Boolean
from RecursiveAggregate(S)
nodes : % -> List(%)
from RecursiveAggregate(S)
parts : % -> List(S)
from HomogeneousAggregate(S)
position : (S, %) -> Integer
from LinearAggregate(S)
position : (S, %, Integer) -> Integer
from LinearAggregate(S)
position : (Mapping(Boolean, S), %) -> Integer
from LinearAggregate(S)
possiblyInfinite? : % -> Boolean
from StreamAggregate(S)
qelt : (%, Integer) -> S
from EltableAggregate(Integer, S)
qsetelt! : (%, Integer, S) -> S
from EltableAggregate(Integer, S)
qsetfirst! : (%, S) -> S
from UnaryRecursiveAggregate(S)
qsetrest! : (%, %) -> %
from UnaryRecursiveAggregate(S)
reduce : (Mapping(S, S, S), %) -> S
from Collection(S)
reduce : (Mapping(S, S, S), %, S) -> S
from Collection(S)
reduce : (Mapping(S, S, S), %, S, S) -> S
from Collection(S)
remove : (S, %) -> %
from Collection(S)
remove : (Mapping(Boolean, S), %) -> %
from Collection(S)
remove! : (S, %) -> %
from ExtensibleLinearAggregate(S)
remove! : (Mapping(Boolean, S), %) -> %
from ExtensibleLinearAggregate(S)
removeDuplicates : % -> %
from Collection(S)
removeDuplicates! : % -> %
from ExtensibleLinearAggregate(S)
rest : % -> %
from UnaryRecursiveAggregate(S)
rest : (%, NonNegativeInteger) -> %
from UnaryRecursiveAggregate(S)
reverse : % -> %
from LinearAggregate(S)
reverse! : % -> %
from LinearAggregate(S)
rightTrim : (%, S) -> %
from LinearAggregate(S)
sample : () -> %
from Aggregate
second : % -> S
from UnaryRecursiveAggregate(S)
select : (Mapping(Boolean, S), %) -> %
from Collection(S)
select! : (Mapping(Boolean, S), %) -> %
from ExtensibleLinearAggregate(S)
setchildren! : (%, List(%)) -> %
from RecursiveAggregate(S)
setelt! : (%, "rest", %) -> %
from UnaryRecursiveAggregate(S)
setelt! : (%, "first", S) -> S
from UnaryRecursiveAggregate(S)
setelt! : (%, "last", S) -> S
from UnaryRecursiveAggregate(S)
setelt! : (%, "value", S) -> S
from RecursiveAggregate(S)
setelt! : (%, Integer, S) -> S
from EltableAggregate(Integer, S)
setelt! : (%, UniversalSegment(Integer), S) -> S
from LinearAggregate(S)
setfirst! : (%, S) -> S
from UnaryRecursiveAggregate(S)
setlast! : (%, S) -> S
from UnaryRecursiveAggregate(S)
setrest! : (%, %) -> %
from UnaryRecursiveAggregate(S)
setvalue! : (%, S) -> S
from RecursiveAggregate(S)
size? : (%, NonNegativeInteger) -> Boolean
from Aggregate
smaller? : (%, %) -> Boolean
from Comparable
sort : % -> %
from LinearAggregate(S)
sort : (Mapping(Boolean, S, S), %) -> %
from LinearAggregate(S)
sort! : % -> %
from LinearAggregate(S)
sort! : (Mapping(Boolean, S, S), %) -> %
from LinearAggregate(S)
sorted? : % -> Boolean
from LinearAggregate(S)
sorted? : (Mapping(Boolean, S, S), %) -> Boolean
from LinearAggregate(S)
split! : (%, NonNegativeInteger) -> %
from UnaryRecursiveAggregate(S)
swap! : (%, Integer, Integer) -> Void
from IndexedAggregate(Integer, S)
tail : % -> %
from UnaryRecursiveAggregate(S)
third : % -> S
from UnaryRecursiveAggregate(S)
trim : (%, S) -> %
from LinearAggregate(S)
value : % -> S
from RecursiveAggregate(S)
~= : (%, %) -> Boolean
from BasicType

HomogeneousAggregate(S)

ConvertibleTo(InputForm)

OrderedSet

Collection(S)

shallowlyMutable

Aggregate

LinearAggregate(S)

EltableAggregate(Integer, S)

ExtensibleLinearAggregate(S)

finiteAggregate

PartialOrder

Eltable(UniversalSegment(Integer), %)

InnerEvalable(S, S)

Comparable

RecursiveAggregate(S)

StreamAggregate(S)

Hashable

FiniteLinearAggregate(S)

UnaryRecursiveAggregate(S)

CoercibleTo(OutputForm)

Eltable(Integer, S)

IndexedAggregate(Integer, S)

BasicType

Evalable(S)

ListAggregate(S)

SetCategory