INDEX ======= BASICS: ------- first - Macro to return the first list node (not the cell). rest - Macro the return the second list cell pop - Destroy one list cell push - Create one list cell and set the node and next fields ITERATION: ----------------- iterate - Macro to create a for loop to visit each cell. iterate_list - Macro to visit each cell using a local variable. for_each - Applies a function to each node. LIST CELL COUNTS: ----------------- count - Returns the number of list cells in the list. second - Returns the second node. third - Returns the third node. fourth - Returns the fourth node. fifth - Returns the fifth node. last - Returns the last list cell. pair - Creates a list of two elements. COPYING: ----------------- copy_first - Pushes the first element from list 1 onto list 2. copy - Create a copy of a list. concat - Creates a new list that is a copy of both input lists. delete_n - Creates a new list without the chosen elements. reverse - Creates a backwards copy of the input list. sort - Use quick sort to construct a new list. transform - Creates a new list by transforming each of the nodes. TRANFORMS: (Note: These functions all modify the input list.) ---------- join - Concatenates list 1 and list 2. delete_d - Removes the requested elements from the list. transform_d - Modifies the list by applying a function to each node. insert - Add a new element into this spot in a list. (not NIL) push_last - Add a new element onto the end of a list. reverse_d - Reverse a list and destroy the old one. ASSOCIATED LISTS: ----------------- adelete - Remove a particular entry from an associated list. assoc - Find an entry in an associated list that matches a key. match - Return the data element of an a-list entry. DISPLAY: (*ALAS, NOT IMPLEMENTED IN TESSEARCT-1.02*) ----------------- print_cell - Print a hex dump of a list cell. show - Displays a string and a list (using lprint). SETS: ----- adjoin - Add a new element to list if it does not exist already. intersection - Create a new list that is the set intersection. set_union - Create a new list that is the set intersection. set_difference - Create a new list that is the set difference. s_adjoin - Add an element to a sort list if it is not there. s_intersection - Set intersection on a sorted list. Modifies old list. s_union - Set intersection on a sorted list. Modifies old list. search - Return the pointer to the list cell whose node matches. COMPARISONS: ----------------- is_same - Compares each node to the key. is_not_same - Compares each node to the key. is_key - Compares first of each node to the key. is_not_key - Compares first of each node to the key. CELL OPERATIONS: ----------------- new_cell - Obtain a new list cell from the free list. Allocate. free_cell - Return a list cell to the free list. destroy - Return all list cells in a list. destroy_nodes - Apply a function to each list cell and destroy the list. set_node - Assign the node field in a list cell. set_rest - Assign the next field in a list cell.