Collection of standard data structures for GAP

Version 0.2.5
Released 2019-11-11

This project is maintained by Markus Pfeiffer, Max Horn, Christopher Jefferson, Steve Linton

Travis Build Status AppVeyor Build Status Code Coverage

The datastructures GAP package

The datastructures package aims at providing standard datastructures, consolidating existing code and improving on it, in particular in view of HPC-GAP.

The datastructures package consists of two parts: Interface declarations and implementations.


This is a BETA release of this package. Interfaces and behaviour might change between beta releases and break your code. If you are relying on any feature and would like it to be retained, please contact us via

or our slack channel #datastructures on

Interface Declarations

The goal of interface declarations is to define standard interfaces for datastructures and decouple them from the implementations. This enables easy exchangability of implementations, for example for more efficient implementations, or implementations more suited for parallelisation or sequential use.

The datastructures package declares interfaces for the following datastructures



List queues based on Reimer Behrends’ implementation in HPC-GAP


Full information and documentation can be found in the manual, available as PDF doc/manual.pdf or as HTML doc/chap0_mj.html, or on the package homepage at

Bug reports and feature requests

Please submit bug reports and feature requests via our GitHub issue tracker:


datastructures 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 files and LICENSE.