Containers.module



---------------------------------------------------------------
-- THIS FILE HAS BEEN CREATED FROM 
-- --> Library/Containers/Containers.module.pp <--
-- DO NOT MODIFY IT
---------------------------------------------------------------
-- Copyright (C) International Computer Science Institute, 1994.  COPYRIGHT  --
-- NOTICE: This code is provided "AS IS" WITHOUT ANY WARRANTY and is subject --
-- to the terms of the SATHER LIBRARY GENERAL PUBLIC LICENSE contained in    --
-- the file "Doc/License" of the Sather distribution.  The license is also   --
-- available from ICSI, 1947 Center St., Suite 600, Berkeley CA 94704, USA.  --
--------> Please email comments to "sather-bugs@icsi.berkeley.edu". <----------
(*

CONTAINER CLASSES

These data types can hold other objects.  They are all built up
out of more primitive Sather classes in Base.

The most important of these is ARRAY.  It extends the built-in array
providing class AREF and provides facilities for sorting, printing,
interating, and so forth.  The Sather language also allows a special
array-constructing literal syntax:
     | a, b, c |
ARRAY2 and ARRAY3 provide multiple dimensions and are built using AREF
with multiplicative indexing.

The TUP classes make it convenient to construct tuples of other types.
The TUP classes are value classes, so they are efficient; there is no
heap management involved in their implementation.  Because of Sathers
type inference, their construction can usually be acheived with:
    #(first, second)
The TUP classes "do the right thing" automatically with respect to
equality and hash values.

There are three types of container classes 
	- abstract interfaces      (such as $RO_SET{T} and $SET{T})
	- concrete implementations (such as H_SET, LH_SET and SET)
	- algorithm classes (collections of stateless algorithm functions)

*)

-- Container Hierarchy
    container.sa -has container.sa $CONTAINER -- Container abstraction
    Arrays.module
    Dispensers.module
    Maps.module
    Sets.module
    F_classes.module
    Lists.module
    Bags.module

    
--  Basic container classes  TUP and NEXT
    tup.sa -has tup.sa TUP 
    next.sa -has next.sa $NEXT NEXT

--  Standard container classes



--  Implementation classes
    hashtab.sa -has hashtab.sa DYNAMIC_BUCKET_TABLE DYNAMIC_DATABUCKET_TABLE 
				BUCKET DATABUCKET

--  Test classes
    tup_test.sa -has tup_test.sa TEST_TUP