Project results
Project descriptions and reports
ThebeLab
- Prepared and delivered a demo; now included in ThebeLab’s examples directory
- GAP demo
- SageMath demo (about)
- Improved ThebeLab’s documentation
- Finalized Sage’s ticket enabling live documentation with ThebeLab
- Experiments to turn GAP documentation into live documentation using ThebeLab
Around Binder
Docker image for GAP
- Update the official GAP Docker to 4.9.1
- Update the GAP Docker Master image
- Test GAP Docker containers after updates and cleaning up old issues in their repositories
- Use GAP Docker Master to create a Binder-ready image
- Add Jupyter to it
- Provide fixed tags
- Provide a boiler-plate repo that shows how to use gap-docker-master on binder gap-system/gap-docker-binder
- Provide a Readme
Jupyter kernel for GAP
- Multiple Bugfixes on Jupyter Kernel
- Added visjs demo to JupyterKernel repo: examples to work with graphs either by nodes and edges, or using dot language.
- Created FrancyMonoids package
- Working on francy async branch errors
- Added dot functions to the NumericalSgps package to be used either with
JupyterSplashDot
or with the provided function DotSplash
- Make syntax errors and warnings show in red
- Make use of error output stream consistent in GAP
- Checked that we support latest version of Jupyter protocol (5.3 at the time of writing).
- Fix to GAP’s Help to make Jupyter help display work again
- Fix indenting in the syntax highlighting: gap-packages/JupyterKernel/pull/46
- Explore viz.js as an alternative to command line
graphviz
: see DotSplash
in dot-numericalsgps repo or provide a way to choose engine in JupyterSplashDot
- Look at inorder.js and see if we can use it to adress some wishes for using Jupyter in teaching
- Deposit JupyterKernel and Dependencies (uuid, crypting) with GAP for 4.9.2
GAP Package development
- FSR package
- Get CurlInterface and the Debugger released for distribution
- Update the build system of ~20 GAP packages to take advantage of GAP 4.9 improvements; also several other pull requests for those package fixing various other minor issues
libgap
Goal: push further the integration of GAP’s own libgap implementation, and experiment with it from Sage, Julia, …
- Created a plan for the future libgap development
- Extracted and analyzed the GAP symbols used by Sage
- Try the latest libgap in Sage
libsemigroups
- Wrote and published on binder a sample notebook illustrating the interactive use of libsemigroups with cling
- Lots of improvements to libsemigroups
Python/Sage bindings
In the Cernay meeting we started exploring the use of cppyy to obtain bindings for libsemigroups. The technology looks very promissing but still on the bleeding edge: it tends to segfault due to bugs in cppyy.
Bugs analyzed, reduced, and reported upstream:
With the fixes, a non trivial part of libsemigroups works now smoothly:
- Basic elements: transformations, …
- Semigroups of elements preexisting types
- Semigroups of Python objects
Notebook collection website for ODK and GAP
Current version available in Sebastian Gutsche’s try branch
Experimenting with Azure
- Try to use GAP in Azure Notebooks
- Try https://docs.microsoft.com/en-us/azure/container-instances/container-instances-quickstart-portal
Results of GAP Developers meeting
General
- Develop a roadmap for refactoring the REPL in GAP to better support libGAP/JuPyter and generally be more flexible
Discuss GAP release/development cycle
- Suggested release schedule for GAP 4.10.
- 2018-11-01 release of GAP 4.10.1 (first user release)
- 2018-10-01 release of GAP 4.10.0
- 2018-09-17 prepare changelog (during GAP days)
- 2018-09-01 branching of stable-4.10
OpenDreamKit