Dear GAP Forum, The next major release of GAP, version 4.10.0, is now available at
http://www.gap-system.org/Releases/ A brief overview of major changes introduced in GAP 4.10.0 is given below. * Reduce impact of immediate methods GAP allows declaring so-called "immediate methods". The idea is that these are very simple and fast methods which are immediately called if information about an object becomes known, in order to perform some quick deduction. For example, if the order of a group is set, there might be immediate methods which update the filters IsFinite and IsTrivial of the group suitably. While this can be very elegant and useful in interactive GAP sessions, the overhead for running these immediate methods and applying their results can become a major factor in the runtime of complex computations that create thousands or millions of objects. A number of steps were taken to address this. * Change definition of IsPGroup to not require finiteness This is a small change in terms of amount of code changed, but we list it here as it has a potential (albeit rather unlikely) impact on the code written by GAP users: In the past, the GAP manual entry for IsPGroup defined p-groups as being finite groups, which differs from the most commonly used definition for p-groups. Note however that there was not actual implication installed from IsPGroup to IsFinite, so it always was possible to actually created infinite groups in the filter IsPGroup. In GAP 4.10, we adjusted the documentation for IsPGroup to the commonly accepted definition for p-groups. In addition, code in the GAP library and in packages using IsPGroup was audited and (in a very few cases) adjusted to explicitly check IsFinite. * Experimental support for using the Julia garbage collector It is now possible to use the garbage collector of the Julia language instead of GAP's traditional GASMAN garbage collector. This is partly motivated by a desire to allow tight integration with GAP and Julia in the future. Warning: right now, this is slower, and also requires a patched version of Julia. * libGAP (work in progress) We now provide a experimental way to allow 3rd party code to link GAP as a library; this is based on the libGAP code by SageMath, but different: while we aim to provide the same functionality, we do not rename any symbols, and we do not provide the same API. We hope that a future version of SageMath can drop its custom modifications for GAP and use this interface instead. Work is underway to achieve this goal. If you are interested in this kind of interface, please get in touch with us to help us improve it. In addition, GAP 4.10.0 includes a number of improvements and extensions of GAP functionality, changes in the GAP documentation, removing or making obsolete some functionality that was already deprecated for a long time, and a number of bugfixes. The complete description of these changes, with links to the documentation and to GitHub pull requests is available at https://www.gap-system.org/Manuals/doc/changes/chap2.html Additionally, GAP 4.10.0 distribution contains 140 packages, including numerous updates of previously redistributed packages. Added to the distribution: * The francy package by Manuel Martins, which provides an interface to draw graphics using objects. This interface allows creation of directed and undirected graphs, trees, line charts, bar charts and scatter charts. These graphical objects are drawn inside a canvas that includes a space for menus and to display informative messages. Within the canvas it is possible to interact with the graphical objects by clicking, selecting, dragging and zooming. * The JupyterVis package by Nathan Carter, which is intended for use in Jupyter Notebooks running GAP kernels and adds visualization tools for use in such notebooks, such as charts and graphs. No longer redistributed with GAP: * The linboxing package has been unusable (it does not compile) for several years now, and is unmaintained. It was therefore dropped from the GAP package distribution. If anybody is willing to take over and fix the package, the latest sources are available at https://github.com/gap-packages/linboxing. * The recogbase package has been merged into the recog package, and therefore is no longer distributed with GAP. The full list of new and updated packages in the GAP 4.10.0 distribution is: Package name | Version | Date ---------------------------------------------------- AClib | 1.3.1 | 11/10/2018 AutoDoc | 2018.09.20 | 20/09/2018 Automata | 1.14 | 26/09/2018 AutomGrp | 1.3.1 | 30/09/2018 CAP | 2018.08.31 | 31/08/2018 cohomolo | 1.6.7 | 14/09/2018 Convex | 2015.11.06 | 06/11/2015 CRIME | 1.5 | 11/10/2018 crypting | 0.9 | 22/09/2018 Cryst | 4.1.18 | 23/10/2018 curlInterface | 2.1.1 | 26/10/2018 DeepThought | 1.0.2 | 13/09/2018 Digraphs | 0.13.0 | 19/09/2018 Forms | 1.2.5 | 27/09/2018 Francy | 1.0.4 | 18/10/2018 GAPDoc | 1.6.2 | 17/10/2018 Gauss | 2018.09.08 | 08/09/2018 GeneralizedMorphismsForCAP | 2018.06.15 | 15/06/2018 GRAPE | 4.8.1 | 24/10/2018 groupoids | 1.63 | 23/10/2018 Guarana | 0.96.1 | 21/09/2018 HAP | 1.15 | 19/09/2018 hecke | 1.5 | 10/09/2018 idrel | 2.42 | 13/09/2018 IO | 4.5.4 | 19/09/2018 JupyterKernel | 1.0 | 05/10/2018 JupyterViz | 1.2.0 | 28/10/2018 kbmag | 1.5.6 | 14/09/2018 LiePRing | 1.9.2 | 11/10/2018 LinearAlgebraForCAP | 2018.02.07 | 07/02/2018 lpres | 1.0.0 | 19/09/2018 MapClass | 1.4.3 | 15/09/2018 matgrp | 0.51 | 17/09/2018 MatricesForHomalg | 2018.08.25 | 25/08/2018 ModIsom | 2.4.0 | 16/09/2018 ModulePresentationsForCAP | 2018.02.02 | 02/02/2018 orb | 4.8.1 | 10/09/2018 PolymakeInterface | 2018.09.25 | 25/09/2018 PrimGrp | 3.3.2 | 27/10/2018 QPA | 1.29 | 10/10/2018 recog | 1.3.1 | 18/09/2018 Semigroups | 3.0.20 | 01/10/2018 SgpViz | 0.999.4 | 29/10/2018 simpcomp | 2.1.9 | 20/10/2018 singular | 2018.09.10 | 10/09/2018 SONATA | 2.9.1 | 07/10/2018 TomLib | 1.2.7 | 26/10/2018 utils | 0.59 | 04/10/2018 uuid | 0.6 | 22/09/2018 Wedderga | 4.9.4 | 15/09/2018 XGAP | 4.28 | 12/09/2018 XMod | 2.72 | 16/09/2018 ---------------------------------------------------- We encourage all users to upgrade to GAP 4.10.0. You can download source archives for Linux and macOS, as well as the GAP installer for Windows from http://www.gap-system.org/Releases/. In addition, the following alternatives already provide GAP 4.10: * GAP Docker container: https://hub.docker.com/r/gapsystem/gap-docker/ * GAP.app by Russ Woodroofe: https://cocoagap.sourceforge.io/ You can also try GAP 4.10.0 in a remote Jupyter notebook on Binder: https://github.com/gap-system/try-gap-in-jupyter 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 There is also a 'gap' tag for questions about GAP at the Mathematics Q&A site: http://math.stackexchange.com/tags/gap/info In addition, you may find some GAP related news on Twitter: http://twitter.com/gap_system Wishing you fun and success using GAP, Alexander Konovalov on behalf of the GAP Group _______________________________________________ Forum mailing list Forum@gap-system.org https://mail.gap-system.org/mailman/listinfo/forum