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 supp...@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 _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum