Maxs homepage

Main Branches

Contact   Publications   Talks   Grants   Teaching   Mathematics   Computer   Images   Private   Links  

GAP Package IO

This GAP package provides a link to the standard UNIX I/O functionality that is available through the C-library. This part basically consists of functions on the GAP level that allow to call functions in the C-library.

Built on top of this is a layer for buffered input/output which is implemented completely in the GAP language. It is intented to be used by programs for which it is not necessary to have full direct access to the operating system.

On this level, quite a few convenience functions are implemented for inter process communication like starting up pipelines of processes to filter data through them and to start up processes and then communicate with them. There is also support for creating network connections over TCP/IP and UDP.

Building on this, the package contains an implementation of the client side of the HTTP protocol making it possible among other things to access web pages from within GAP.

Another part of the package is a framework for object serialisation. That is, GAP objects can be converted into a platform-independent byte sequence which can be stored to a file or sent over the network. The code takes complete care of arbitrarily self-referential data structures like lists containing themselves as an entry. The resulting byte strings can be read back into GAP and the original objects are rebuilt with exactly the same self-references. This works for most of the standard builtin types of GAP like numbers, permutations, polynomials, lists, and records and can be extended to nearly arbitrary GAP objects.

This package is usable on UNIX and M$-Windows.

The current version of this package is Version 4.2 . The package is in a reasonably stable state but not yet submitted for refereeing. However, I expect that the visible interface to its functionality does no longer change very much (except if major flaws in the design will be discovered).

You can download a copy via this link. The manual containing installation instructions is available in PDF-format. There is also a README file.

Please send any questions, comments or bug reports to me:
neunhoef AT mcs.st-and.ac.uk.

Version history:

VersionRelease dateLink to archive Required GAP version
4.228 May 2012 io-4.2.tar.gz >= 4.4.12
4.130 January 2012 io-4.1.tar.gz >= 4.4.12
4.027 January 2012 io-4.0.tar.gz >= 4.4.12
3.323 March 2011 io-3.3.tar.gz >= 4.4.12
3.22 February 2011 io-3.2.tar.gz >= 4.4.12
3.123 July 2010 io-3.1.tar.gz >= 4.4.12
3.08 April 2009 io-3.0.tar.gz >= 4.4.12
2.33 October 2007 io-2.3.tar.gz >= 4.4.9
2.22 April 2007 io-2.2.tar.gz >= 4.4
2.126 February 2007 io-2.1.tar.gz >= 4.4
2.012 December 2006 io-2.0.tar.gz >= 4.4
1.616 November 2006 io-1.6.tar.gz >= 4.4