====================================================================
ApplicationProgramInterface examples
====================================================================

The ApplicationProgramInterface exposes Axiom internal functions
which might be useful for understanding, debugging, or creating
tools.

The getDomains function takes the name of a category and returns
a set of domains which inherit from that category:

  getDomains 'Collection

   {AssociationList, Bits, CharacterClass, ComplexDoubleFloatVector, DataList,
    DoubleFloatVector, EqTable, FlexibleArray, GeneralPolynomialSet,
    GeneralSparseTable, GeneralTriangularSet, HashTable, IndexedBits,
    IndexedFlexibleArray, IndexedList, IndexedOneDimensionalArray,
    IndexedString, IndexedVector, InnerTable, KeyedAccessFile, Library, List,
    ListMultiDictionary, Multiset, NeitherSparseOrDensePowerSeries,
    OneDimensionalArray, Point, PrimitiveArray, RegularChain,
    RegularTriangularSet, Result, RoutinesTable, Set, SparseTable,
    SquareFreeRegularTriangularSet, Stream, String, StringTable, Table,
    U32Vector, Vector, WuWenTsunTriangularSet}
                                                             Type: Set Symbol

This can be used to form the set-difference of two categories:

  difference(getDomains 'IndexedAggregate, getDomains 'Collection)

   {DirectProduct, DirectProductMatrixModule, DirectProductModule,
    HomogeneousDirectProduct, OrderedDirectProduct,
    SplitHomogeneousDirectProduct}
                                                             Type: Set Symbol

The credits function prints a list of the people who have contributed
to the development of Axiom. This is equivalent to the )credits command.

The summary function prints a short list of useful console commands.

The getAncestors function takes the name of a domain or category
and returns a list of categories from which it inherits.

getAncestors 'IndexedAggregate

   {Aggregate, BasicType, CoercibleTo, Eltable, EltableAggregate, Evalable,
    HomogeneousAggregate, InnerEvalable, SetCategory, Type}
                                                            Type: Set(Symbol)

