[GAP Forum] GAP 4.8.2 release announcement

Alexander Konovalov alexk at mcs.st-and.ac.uk
Fri Feb 26 16:42:19 GMT 2016


Dear all,

This is to announce the release of GAP 4.8.2, which could be downloaded from

	http://www.gap-system.org/Releases/

This is the first major release made from the GAP repository on GitHub
(at https://github.com/gap-system/gap). An overview of the most 
significant ones is provided below. A more detailed version with 
hyperlinks is available on the GAP website here: 

	http://www.gap-system.org/Manuals/doc/changes/chap2.htm


New features:

* Added support for profiling which tracks how much time in spent on 
each line of GAP code. This can be used to show where code is spending 
a long time and also check which lines of code are even executed.

* Added _ability_ to install (in the library or packages) methods for 
accessing lists using multiple indices and indexing into lists using 
indices other than positive small integers. Such methods could allow
you, for example, to define behaviour for expressions like

m[1,2];
m[1,2,3] := x;
IsBound(m["a","b",Z(7)]);
Unbind(m[1][2,3])

* Added support for partially variadic functions to allow function 
expressions like 

function(a,b,c,x...) ... end;

which would require at least three arguments and assign the first three 
to a, b and c and then a list containing any remaining ones to x. 
The former special meaning of the argument arg is still supported and 
is now equivalent to function(arg...), so no changes in the existing code 
are required.

* Introduced CallWithTimeout and CallWithTimeoutList to call a function 
with a limit on the CPU time it can consume. This functionality may not 
be available on all systems and you should check GAPInfo.TimeoutsSupported 
before using this functionality.

* GAP now displays the filename and line numbers of statements in 
backtraces when entering the break loop.


Improved and extended functionality:

* Method tracing shows the filename and line of function during tracing.

* TraceAllMethods and UntraceAllMethods to turn on and off tracing all 
methods in GAP. Also, for the uniform approach UntraceImmediateMethods 
has been added as an equivalent of TraceImmediateMethods(false)

* Performance improvements for dictionaries.

* Improved methods for symmetric and alternating groups in the "natural" 
representations.

* Package authors may optionally specify the source code repository, 
issue tracker and support email address for their package using new 
components in the PackageInfo.g file.


Changed functionality:

* As a preparation for the future developments to support multithreading, 
some language extensions from the HPC-GAP project were backported to the 
GAP library to help to unify the codebase of both GAP 4 and HPC-GAP. In
particular, this introduces new keywords "atomic", "readonly" and 
"readwrite".

* There was inconsistent use of the following properties of semigroups: 
IsGroupAsSemigroup, IsMonoidAsSemigroup, and IsSemilatticeAsSemigroup,
which has been corrected.

* ReadTest became obsolete and for backwards compatibility is replaced by 
Test with the option to compare the output up to whitespaces.

* The function ErrorMayQuit, which differs from Error by not allowing 
execution to continue, has been renamed to ErrorNoReturn.

Fixed bugs:

* Problems arising when an element of an extension field was assigned 
into a compressed matrix.

* Problems in the Fitting-free code and code inheriting PCGS.

* A bug that caused a break loop in the computation of the Hall subgroup 
for groups having a trivial Fitting subgroup. 

* Including a break or continue statement in a function body but not in a 
loop now gives a syntax error instead of failing at run time.

* GroupGeneralMappingByImages now verifies that that image of a mapping is 
contained in its range. This may sometimes slow down construction of 
mappings. If this is a problem, and you are sure the image of the mapping 
will be contained in the range, use GroupGeneralMappingByImagesNC instead.

* Fixed a bug in caching the degree of transformation that could lead to a 
non-identity transformation accidentally changing its value to the identity 
transformation.

* Fixed the problem with using Windows default browser as a help viewer 
using SetHelpViewer("browser");.


New and updated packages since GAP 4.7.8

At the time of the release of GAP 4.7.8 there were 119 packages 
redistributed with GAP. New packages that have been added to the 
redistribution since the release of GAP 4.7.8 are:

* CAP (Categories, Algorithms, Programming) package by Sebastian Gutsche, 
Sebastian Posur and Øystein Skartsæterhagen, together with three associated 
packages GeneralizedMorphismsForCAP, LinearAlgebraForCAP] and 
ModulePresentationsForCAP] (all three - by Sebastian Gutsche and Sebastian 
Posur).

* Digraphs by Jan De Beule, Julius Jonušas, James Mitchell, Michael Torpey 
and Wilf Wilson, which provides functionality to work with graphs, digraphs, 
and multidigraphs.

* FinInG package by John Bamberg, Anton Betten, Philippe Cara, Jan De Beule, 
Michel Lavrauw and Max Neunhöffer for computation in Finite Incidence Geometry.

* HeLP package by Andreas Bächle and Leo Margolis, which computes constraints 
on partial augmentations of torsion units in integral group rings using a 
method developed by Luthar, Passi and Hertweck.

* matgrp package by Alexander Hulpke, which provides an interface to the 
solvable radical functionality for matrix groups, building on constructive 
recognition.

* NormalizInterface package by Sebastian Gutsche, Max Horn and Christof Söger, 
which provides a GAP interface to Normaliz, enabling direct access to the 
complete functionality of Normaliz, such as computations in affine monoids, 
vector configurations, lattice polytopes, and rational cones.

* profiling  package by Christopher Jefferson for transforming profiles 
produced by ProfileLineByLine and CoverageLineByLine into a human-readable 
form.

* Utils package by Sebastian Gutsche, Stefan Kohl and Christopher Wensley, 
which provides a collection of utility functions gleaned from many packages.

* XModAlg  package by Zekeriya Arvasi and Alper Odabas, which provides a 
collection of functions for computing with crossed modules and Cat1-algebras 
and morphisms of these structures.

In addition, a number of packages previously redistributed with GAP has been
updated.

We encourage all users to upgrade to GAP 4.8.2. If you need any help or 
would like to report any problems, please do not hesitate to contact us 
at support at gap-system.org or submit new issues on GitHub: 

	https://github.com/gap-system/gap/issues

Wishing you fun and success using GAP,

The GAP Group



More information about the Forum mailing list