The following function can be used to validate the OpenMath XML objects
produced by the package. It requires the program 'xmllint', from
Libxml2, the XML C library for Gnome, available from http://www.xmlsoft.org/ and included in most modern Linux distributions.
OMValidate := function ( obj )
local file, fromgap_stream, togap_stream, togap, xmllint_exec, openmath2_rng, OMPutObject;
- For converting Gap -> OpenMath, add a method for 'OMPut', in file
gap/omput.gi .
- For converting OpenMath -> Gap, add in 'OMsymTable_new', in file
gap/new.g .
- For converting a nullary symbol OpenMath -> Gap, add code in
'OMnullarySymbolToGAP', in file gap/gap.g . (Remark: OMnullarySymbolToGAP
removed by AK in April 2009, now all is done by OMsymLookup function).
- For a conversion in Yacas, use there OMDef(yacasSymbol, cd, name)
* Convert OMsymTable and related stuff from list to record
(Remark: done by AK in April 2009 with renaming to OMsymRecord).
* Remove the difference between nullary and n-ary symbols, and use the
OpenMath roles instead, see the OpenMath Standard, version 2.0, section
"2.1.4 OpenMath Symbol Roles". (Remark: OMnullarySymbolToGAP
removed by AK in April 2009, now all is done by OMsymLookup function).
Check the functions OMnextToken and OMinstreamNextByte: they do the same.
Some IsHasseDiagram stuff is already defined in main Gap library
lib/relation.gd:
#P IsHasseDiagram(<rel>)
##
## returns `true' if the binary relation <rel> is a Hasse Diagram of a
## partial order, i.e. was computed via `HasseDiagramBinaryRelation'
## (see~"HasseDiagramBinaryRelation").
##
DeclareProperty("IsHasseDiagram", IsBinaryRelation);
* cleanup in the cds directory.
* fill placeholders in OMsymRecord with more symbols where appropriate
* test and move entries from OMsymRecord_new in new.g to gap.g
* implement more private CDs from the SCIEnce project
Readme of the last release containing INRIA library:
The OpenMath Package
--------------------
The package 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.
Copyright:
==========
The OpenMath package is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2 of the License, or
(at your option) any later version. For details, see the FSF's own site https://www.gnu.org/licenses/gpl.html.
Additionally, it contains code developed at INRIA (copyright INRIA),
under the ESPRIT project number 24969 (OpenMath). The user may not use
the library in commercial products without seeking permission from the
GAP group (support@gap-system.org) and the CAFE team at INRIA SA
(stephane.dalmas@sophia.inria.fr).
Installation:
=============
This package is installed as a normal Gap package: see Gap reference
manual, chapter "74 GAP Packages" (and if you don't have write access to
the Gap installation see also section "9.2 GAP Root Directory"), for
details.
The binaries should be compiled in two stages:
- compilation of the OpenMath C library from INRIA
- compilation of the 'gpipe' program
To do this, change to the package directory gap4r4/pkg/openmath
and perform the following commands:
cd OMCv1.3c/src/
./configure
make
cd ../../
./configure ../../
make
The part in C language compiles and runs also on Windows with Cygwin
(see http://www.cygwin.com/).
A Windows user may also try to get a precompiled OMC binary from
ftp://ftp-sop.inria.fr/safir/OM (I didn't try), and thereafter
cd pkg/openmath
./configure ../../
make
Some historical notes from previous releases and changelogs
are collected below.
To contact developers, please write to:
obk1 at st-andrews dot ac dot uk
* * * Readme of the first release of the package (2000) * * *
The compilation is non-standard! See below.
This package has been developed to allow GAP users to
import and export mathematical objects encoded in OpenMath,
for the purpose of exchanging them with other applications that
are OpenMath enabled.
1. Copyright
This package is distributed under GPL license and the terms of the GAP
copyright. Additionally, it contains code developed at INRIA
(copyright INRIA), under the ESPRIT project number 24969 (OpenMath).
The user may not use the library in commercial products without seeking
permission from the GAP group (support@gap-system.org) and the
CAFE team at INRIA SA (stephane.dalmas@sophia.inria.fr).
It may be redistributed ``as is'' together with this notice.
2. Technicalities and installation
This package includes a C program, and works with full functionality
only if this program has been compiled.
To install this package (after extracting the packages archive
file to the GAP pkg directory):
a) go to the directory `pkg/openmath/OMCv1.3c/src' and call
/bin/sh ./configure
and then call `make' to compile the INRIA library (producing libOM.a).
b) go to the directory `pkg/openmath' (the
directory containing this README file) and call
/bin/sh ./configure <path>
where <path> is a path to the main GAP root directory (so normally you would
call /bin/sh ./configure ../..).
afterwards call `make' to compile the binary. See file examples for usage examples.
c) you also need to modify the file hasse/config.g
to make the Hasse diagram stuff work.
3. The INRIA library
The files in the directory `openmath/OMCv1.3c' are the OpenMath C library
version 1.3c developed by the CAFE group at INRIA SA. For the latest
version, contact: stephane.dalmas@sophia.inria.fr , or try
ftp://ftp-sop.inria.fr/safir/OM .
Andrew Solomon (andrew@illywhacker.net),
Department of Computer Science,
University of St. Andrews.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.