[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