Introduction and installation
Brief description of the package

The &GAP; package &OpenMath; provides an &OpenMath; phrasebook for &GAP;: it allows &GAP; users to import and export mathematical objects encoded in &OpenMath; for the purpose of exchanging them with other &OpenMath;-enabled applications.

This manual describes: how to view &OpenMath; representation of an object; how to read &OpenMath; object from stream or write it to stream for the purposes of exchange with another &OpenMath;-enabled application; how to find which objects can be converted to/from &OpenMath; using this package; how to extend the package to support private &OpenMath; content dictionaries.

For the detailed information about &OpenMath; standard and content dictionaries see the &OpenMath; homepage http://www.openmath.org.

For practical purposes, the &OpenMath; package will be most efficient if used in conjunction with the &GAP; package &SCSCP; () which implements the Symbolic Computation Software Composability protocol (). This protocol specifies an &OpenMath;-based remote procedure call framework, in which all messages (procedure calls and returns of results of successful computation or error messages) are encoded in &OpenMath; using content dictionaries &scscp1; and &scscp2; (, ). Using the &SCSCP; package, &GAP; can communicate locally or remotely with any other &OpenMath;-enabled &SCSCP;-compliant application which may be not only another computer algebra system but also another instance of the &GAP; system or even, for example, an external C/C++ or Java application. Such communication will go into a seamless manner with the &GAP;/&OpenMath; conversion going in the background.
Installation of the package

To use the &OpenMath; package it is required to install the &GAPDoc; package to use the help system and parse &OpenMath; objects in the XML format.

To install the &OpenMath; package, unpack the archive and place the openmath directory in the pkg subdirectory of your &GAP;4.4 installation. When you don't have write access to the directory of your main &GAP; installation, you can also install the package outside the &GAP; main directory by unpacking it inside a directory MYGAPDIR/pkg. Then to be able to load &OpenMath; you need to call GAP with the -l ";MYGAPDIR" option.

The package comes together with the &OpenMath; C library developed at INRIA and the program gpipe which should be compiled to parse the binary &OpenMath; format. The compilation should be performed in two stages: first the INRIA library, and then gpipe. To do this, change to the package directory gap4r4/pkg/openmath and enter the following commands:

cd OMCv1.3c/src/ ./configure make cd ../../ ./configure ../../ make

However, it is possible to ignore this step if the binary &OpenMath; format will not be used.