aggcat.spad line 782 [edit on github]
An eltable aggregate is one which can be viewed as a function. For example, the list [1, 7, 4] can be applied to 1, 2, and 3 respectively and will return the integers 1, 7, and 4; thus this list may be viewed as mapping 1 to 1, 2 to 7 and 3 to 4. In general, an aggregate can map members of a domain Dom to an image domain Im.
elt(u, x, y) applies u to x if x is in the domain of u, and returns y otherwise.
qelt(u, x) applies u to x without checking whether x is in the domain of u. If x is not in the domain of u a memory-access violation may occur. If a check on whether x is in the domain of u is required, use the function elt.
qsetelt!(u, x, y) sets the image of x to be y under u, without checking that x is in the domain of u. If such a check is required use the function setelt!.
setelt!(u, x, y) sets the image of x to be y under u, if x is in the domain of u. Error: if x is not in the domain of u.
Eltable(Dom, Im)