High-level prolog interface modules go here.  The modules ultimately
depend on the C modules from ../Modules, but the intent here is
provide familiar python facilities while, at the same time, exploiting
the embedded prolog engine.

The functions provided by these module should strive for independence
from any particular prolog implementation.


*	 Import a prolog module, but have is look like a python module. (TDB)

*    Automatically wrap a prolog module as a python class. This will
	 probably require the class to be written in a certain style. (TBD)

*	 A python class that can act, on callback, as a prolog predicate,
	 including the ability to backtrack. (TBD)

*	 Prolog modules sources from python strings.

*	 Convert Python data to and from prolog terms

Quite apart from using the prolog engine to run queries, it is nice to
have the prolog term as a fundamental python type.  Python already has
number, string, and list types.  New from prolog would be the logical
variable and compound terms.  The python string could probably act as
either a prolog string or an atom.  There are some problems, however.

In prolog, integer, atom, float, string, variable, and compound are
varieties of prolog term.  I don't see how the python string, for
example, can be given a retroactive classification as a prolog term.

It is not clear how prolog can support dictionaries.
