owned this note
owned this note
Published
Linked with GitHub
# GAP Days Fall 2018
[TOC]
## Program
### Monday
Plan for the day:
* Michael Torpey:
- Chat about possible package manager for GAP
- Prototype for a package manager for GAP: [github link](https://github.com/mtorpey/PackageManager)
(eventually we should track dependencies, etc.)
* Sebastian Gutsche:
* Participated in discussions about package manager and meta packages
* Started to work on the meta packages demo
* Andrea Thevis & Pascal Kattler:
- work on two packages about Origamis
* Dima:
- work on interface between SageMath and libGap (replacing old libGap with new one)
- discussed package manager
- old scripts needs update
* Florian Heiderich:
- Sanity checks in CAP, which should make error messages helpful
* Sebastian Posur:
- discussion with Mohamed about closed monoidal structures in CAP
- discussion with Florian about output sanity check in CAP
* Mohamed Barakat:
- discussion about meta-packages (to apply to the homalg and CAP projects)
- discussion with Sebastian about closed monoidal structures in CAP
- discussion with Tom about modelling constructible sets in a categorical context
* Reimer Behrends:
- Eliminate the dependency on Ward entirely
* Jan De Beule:
- worked on package for finite geometries
- Internal representation to internal representation of finite field elements (from 16 bit -> 32 bit)
* Thomas Breuer:
- Working on issues in the GAP Julia integration
* Wilf Wilson:
- I have largely been apart from the GAP world so far in 2018 (writing PhD thesis, new job) so this week I am reintegrating myself into the project
- I am trying to ensure that the Semigroups package is properly compatible with GAP
- I made some useful fixes to the Semigroups package
* Max Horn:
- Discussion about package manager
- Discussion about meta-packages
* Markus
- Fixes to JupyterKernel
- Fixes and Development of the GAP `MathInTheMiddle` package (https://github.com/gap-packages/MathInTheMiddle)
* Fabian Zickgraf:
- work on https://github.com/homalg-project/CAP_project/pull/188
will meet at 19:30 in front of the train station (departing CityHotel 19:15)
### Tuesday
#### Plan for the day:
* Michael Torpey:
* Continue [package manager prototype](https://github.com/mtorpey/PackageManager)
* Sebastian Gutsche:
* Give a talk
* Work on meta packages
* Review AutoDoc PRs
* Andrea Thevis & Pascal Kattler:
* Work on interface from GAP to SageMath Origami code
* Dima:
* go on with the porting
* Florian Heiderich: Sanity checks in CAP / Bialgebroids package
* Sebastian Posur:
* try to understand Fabian's pull request for CAP
* Mohamed Barakat:
* Work with Tom Kuhmichel on a first categorical model for constructible sets starting from a lattice/Heyting algebra.
* Start work on enhancing monoidal structures in CAP
* Discuss with Sebastian Gutsche about meta-packages
* Reimer Behrends:
* Continue working on un-Ward
* Jan De Beule:
* Work on GAP finite field (FF) support, increas internal limit from 2^16 to 2^24 or beyond.
* More work on FinInG and Forms packages.
* Thomas Breuer:
- continue with GAP-Julia integration, discuss with Sebastian and Max
* Wilf Wilson:
- Review issues and pull requests on Semigroups and Digraphs package
- ~~Check for unstated finiteness assumptions in the semigroup ideals code in Semigroups package~~
- ~~Look through issues/PR on GAP to get a feel for what is going on~~
- ~~Learn about `MatrixObj`???~~
* Max Horn:
- Plan to talk with people about
- Using GAP master (Manuel)
- Package manager (Michael, ...)
- meta packages proposal (Sebastian, ..)
- unward (Reimer)
- GAP-Sage integration via libGAP (Dima)
- GAP-Julia integration (Thomas, Sebastian, ...)
- ...
* Markus
- Keep Michael in check
- Fix https://github.com/gap-packages/MathInTheMiddle
* Fabian Zickgraf:
- finish https://github.com/homalg-project/CAP_project/pull/188
- discuss https://github.com/homalg-project/CAP_project/pull/189 with Sebastian Posur
#### Todays results:
* Michael Torpey:
- [PackageManager](https://github.com/mtorpey/PackageManager) can now install from name, PackageInfo.g, or URL, with one command
* Sebastian Gutsche:
* Gave talk :)
* First version of Metapackage loading system: https://github.com/gap-system/gap/pull/2267
* Andrea Thevis & Pascal Kattler:
* Talked to Markus about calling sage-functions for origamis from GAP
* improved some functions in the origami package
* worked on the documentation
* Dima:
* succeeded in making new libgap interface build
* started making necessary changes for the new API
* Florian Heiderich: Sanity checks in CAP
* Sebastian Posur:
* Fabian explained to me his pull request that automatically writes code for all CAP-operations concerning limits/colimits.
* Find inconsistent argument structure of functorial operations
* Mohamed Barakat:
* Talked with Sebastian Posur about a couple of some old open issues in CAP, which are now closed
* Talked with Florian on futher developments of the CAP-based package Bialgebroids
* Together with Tom we addedd to the CAP-based package Locales a first instance the Boolean algebra of constructible objects of an arbitrary lattice/Heyting algebra/co-Heyting algebra
* Started package Toposes
* Reimer Behrends:
* Wrapped up the analyzer functionality of unward.
* Jan De Beule:
* Got a working version of GAP, now allowing internal FFE in 32 bit, allowing FFs up to order 2^24. Tests need to be done.
* Handled some non urgent issues in FinInG and forms.
* Thomas Breuer:
- added a new item in the JuliaExperimental package (speedup by using Julia instead of GAP code)
* Wilf Wilson:
- Enabled a new release of Semigroups package that is compatible with both master and stable-4.10 versions of GAP. This v3.0.19.
- Reviewed issues and PRs on Semigroups and Digraphs packages
- Updated my test and release setup for Digraphs
* Max Horn:
* Helped Manuel with using GAP master
* Discussed unward with Reimer
* Discussed meta packages with Sebastian, Thomas, Jan
* Discussed details about Julia-GAP interface with Sebastian
* Discussed SageMath-libGAP integration with Dima and Markus
* Released IO 4.5.3
* Begun rewriting one of the 3+ ways in JuliaInterface for invoking Julia functions from GAP
* Markus Pfeiffer:
* Cleanup in the MathInTheMiddle package, deleted duplicate code, made tests great again
* Implemented enough SCSCP in MathInTheMiddle to wait for feedback from Erlangen again; connections with the py-scscp client work
* Released a new version of JupyterKernel that prints tracebacks and works on stable-4.10
* Syntax trees (rebased, cleaned up, started writing syntax-tree to GAP-AST compiler)
* LibGAP help for Dima
* Calling functions for origamis in Sage from GAP using SCSCP for Andrea and Pascal (actually works now, I will push some hacky code to github tomorrow)
* Sergio Siccha
* work on cleanly integrating the JupyterKernel error traceback with GAP. A PR to get rid of the first horrible hack should be up today!
* Alexander D. Rahm: Worked on documentation of the Torsion Subcomplexes Subpackage in GAP:
http://math.uni.lu/~rahm/subpackage-documentation/
* Fabian Zickgraf:
- finished https://github.com/homalg-project/CAP_project/pull/188
- discussed https://github.com/homalg-project/CAP_project/pull/189 with Sebastian Posur
### Wednesday
#### Plan for the day:
* Michael Torpey:
- Write permissive `InstallPackage` function
- Add test suite **with 110% coverage**
* Sebastian Gutsche:
* Continue to work on meta packages
* Discuss about JuliaInterface
* Review AutoDoc PR's (second try)
* Andrea Thevis & Pascal Kattler:
* Continue working on the origami package
* Dima:
- investigate ways to let ViewObj copy to a buffer (this is currently one of the stopgaps
in the porting to new libgap)
- write GAP tests for the new libgap:
- e.g. calling SaveWorkspace, and loading libgap with a workspace
* Florian Heiderich: Bialgebroids package
* Sebastian Posur:
* Fix the inconsistent argument structure of functorial operations
* Fix bugs in the opposite category
* Mohamed Barakat:
* Continue working with Tom on the packages Locales, and ZariskiFrames. Primarily we should start testing our first straightforward categorical implementation of the Boolean algebra of constructible objects.
* Continue on my own with the package Toposes, outsource further stuff from CAP
* Talk with Thomas Breuer about some issues (homalg, promised commutative algebra package for GAP)
* Reimer Behrends:
* Make unward rewrite GAP source properly.
* Jan De Beule:
* continue work on FFE
* continue work on Forms (discuss forms recognition with Dima)
* Thomas Breuer:
- discuss about GAP-Julia integration (hopefully)
- discuss ViewString (after Markus' talk)
* Wilf Wilson:
- ~~Check for unstated finiteness assumptions in the semigroup ideals code in Semigroups package~~
- ~~Look through issues/PR on GAP~~
- Proofread GAP's documentaion for `Info` and improve
- Review issues on Semigroups package
* Max Horn:
* further discussions (meta package, package manager, Julia-GAP integration ...)
- work on [GAP 4.10 release notes](https://github.com/gap-system/gap/wiki/GAP-4.10-release-notes) (possible set up a time slot for that, to teach others how to help, and then work on it together)
- ? finish `T_FUNCTION` patch for `JuliaInterface`
- ??? Work on `make install` (yes please-- Dima)
- ??? Write up thoughts on possible design and implementation of "proper" namespaces in GAP
- ??? Finish up prototype of `GAP_TOKENIZER` function which uses the GAP kernel scanner+reader to parse input into tokens + info on locaton of syntax errors (useful for refactoring GNU readline integraton in GAP, but also for Jupyter and other)
* Markus
* Continue with Andrea and Pascal with the prototype to call Sage from GAP
* SyntaxTrees (not happening, really)
* LibGAP discussions will probably take a lot of time
* Fabian Zickgraf:
- work on https://github.com/homalg-project/CAP_project/pull/189
* Sergio Siccha
* Teach the gap kernel to redirect where `"*stdout*"` and the other magic strings point to.
* Alexander D. Rahm: Updating the tutorial of the Torsion Subcomplexes Subpackage in GAP:
http://math.uni.lu/~rahm/subpackage-documentation/
#### Todays results:
* Michael Torpey
- Wrote permissive `InstallPackage` function
- Added test suite, only 88% coverage for now 🐝
* Markus Pfeiffer:
* Gave a talk on LibGAP
* Discussion on IO in GAP (Mainly mechanisms for View objects)
* Gave a very hacky SCSCP bridge from GAP to Sage to Andrea and Pascal (available for the interested under https://github.com/markuspf/HackInTheMiddle)
* Yes, I went there, https://github.com/gap-packages/PythonInterface
* Fixed a problem with LibGAP and loading workspaces
* Not very much happened on SyntaxTrees
* Max Horn
* discussion on ViewObj, ViewString etc. (with Markus, Thomas, Dima, ...)
* fixed a bug in `ShallowCopy` for `IteratorOfCartesianProduct` [PR #2829](https://github.com/gap-system/gap/pull/2829)
* make Boehm GC usable in (non-HPC) GAP [PR #2829](https://github.com/gap-system/gap/pull/2829)
* new IO release `IO_chdir`, fix `ChangeDirectoryChange`
* Reimer Behrends:
* Unward is now capable of doing a complete rewrite of the GAP source tree.
* Sebastian Posur:
* fixed the two issues mentioned in my "Plan for the day"
* learned about possible pitfalls concerning CI from Sebastian Gutsche
* Dima:
* Wrote some tests for GAP's libgap, submitted GAP's [PR #2833](https://github.com/gap-system/gap/pull/2833) and a related [issue 2832](https://github.com/gap-system/gap/issues/2832). The latter resolved by [PR #2840](https://github.com/gap-system/gap/pull/2840) that I reviewed and approved.
* Tried to better understand libgap's memory management, and
came up with [issue 2837](https://github.com/gap-system/gap/issues/2837).
* opened [issue 2839](https://github.com/gap-system/gap/issues/2839) to deal with another poting issue of Sagemath's libGAP to GAP's libgap
* Andrea Thevis & Pascal Kattler
* started working with the prototype version of the interface between GAP and sage which Markus Pfeiffer implemented
* updated the documentation
* Wilf Wilson
* **Mad**e some small pull requests to GAP:
* Fixed a problem with Green's relations library code
* Adjusted library doc for `Info`
* Reviewed Semigroups and Digraphs packages issues and PRs
* Made Digraphs v0.13.0 release
* Jan De Beule
* Discused the internal FFE with Markus and Max. An issue that caused a warning has been solved. FF up to order 2^24 are now functional (at least it compiles). More testing and documenting is necessary before a pull request will be made
* Continued work on forms package. Issues on forms recognition are almost solved.
* Thomas Breuer:
* discussion with Mohamed about data structures and more
* discussion with Markus, Max, Sebastian^2 about ViewString issues
* discussion with Max and Sebastian about GAP-Julia integration
* Sergio Siccha
* still trying to understand GAP's io
* Fabian Zickgraf:
* fixed CI of `CAP_project`, `homalg_project`, `FinSetsForCAP`, `FinGSetsForCAP`
* improved CI of `homalg_project` (https://github.com/homalg-project/homalg_project/pull/209)
* discussed why not to test external packages together with `CAP`
### Thursday
#### Plan for the day:
* Michael Torpey:
* Hitting [100% test coverage](https://github.com/mtorpey/PackageManager)
* [Compiling packages](https://github.com/mtorpey/PackageManager/issues/5)
* Further work on the Package Manager?
* Sebastian Gutsche:
* Adressing some issues in JuliaInterface:
* Create a single repo for GAPJulia (GAP part) and LibGAP.jl (Julia part)
* Let LibGAP.jl use the new libgap API
* Provide install script
* Tons of other stuff
* Resolve https://github.com/homalg-project/homalg_project/issues/147
* Continue to work on meta packages
* Andrea Thevis & Pascal Kattler:
* Continue working on the origami package
* Continue working with the interface which allows using sage functions in GAP
* Talk to Mohamed about the GAP-sage interface which is part of homalg
* Dima:
* get on with finishing PR #2833
* understand more about GAP's GC --- and start on *documentation* for libgap
*users*
* get on with porting Sagemath's libGAP interface
* Florian Heiderich:
* Sebastian Posur:
* Redo functor documentation
* Make n-ary functor features explicitly visible to the user
* Mohamed Barakat:
* Start a package FiniteTopologies to have a finite topology as an instance of finite locale in order to test our implementation of the Boolean algebra of constructible objects.
* Continue working on the package Toposes
* Think about a strategy to generalize monoidal structures in CAP.
* Reimer Behrends:
* Get started on getting HPCGAP to actually work without ward.
* Jan De Beule:
* Continue work of yesterday
* Thomas Breuer:
* more discussions about GAP-Julia integration
* discussion on GAP kernel API?
* Wilf Wilson:
- Check for unstated assumptions in the ideals code of the Semigroups package
- Look through issues/PR on GAP
* Max Horn:
* work on GAP--Julia interface
* write GAP 4.10 release notes
* Markus:
* Syntax trees
* Maybe talk to Wilf
* look at origami code in sage
* Sergio Siccha:
* work on redirecting `"*errout*"`
* Fabian Zickgraf:
- work on https://github.com/homalg-project/CAP_project/pull/189
**Todays results:**
* Michael Torpey
* ![](https://codecov.io/github/mtorpey/PackageManager/coverage.svg?branch=master&token=) code coverage
* Code automatically compiles
* Alexander D. Rahm: Completed the tutorial & documentation of the Torsion Subcomplexes Subpackage (version 2.1) in GAP. Official tutorial on the HAP website:
http://hamilton.nuigalway.ie/Hap/www/SideLinks/About/AboutTorsionSubcomplexes.html
* Jan De Beule
* did pull request for large FFE.
* finalized forms 1.2.5
* investigate the use of profiling package (so far unsuccesfully)
* Since today is told to be the last "summer" day, time has come to enjoy it.
* Max Horn
* worked on GAP-Julia interface
* submit several PRs for it
* many discussions with Sebastian & Dima
* wrote a couple dozen GAP 4.10 release notes (40+ or so)
* wrote some PRs for Michael's `PackageManager` (e.g. support for Mercurial, better manual)
* ...
* Markus Pfeiffer:
* Talked to Wilf about computing automorphism groups of semigroups
* Due to illness not much happened
* Andrea Thevis & Pascal Kattler:
* Continued working on the origami package
* Talked with Mohamed about the use of the homalg/IO interface between GAP and Sage
* Started working with the homalg/IO interface between GAP and Sage
* Sebastian Posur:
* achieved my "Plan for the day"
* Mohamed Barakat
* Started FiniteTopologies with Tom and he will fill in the mathematics
* Talked with Andrea and Pascal about the use of the homalg/IO interface between GAP and Sage.
* Talked with Fabian about performance issues concerning using equivalences of categories to transport structure
* Wilf Wilson:
* Talked with Markus
* Made some small PRs to GAP
* Broke the Semigroups package
* Dima:
* made #2833 ready for review
* wrote some experimental code to interface with libgap (perhaps will make it into libgap tests).
* Thomas:
* continued work on GAP-Julia
* Sergio Siccha:
* got a proof of concept for redirecting `"*errout*"`
* Fabian Zickgraf:
* updated CI of `FinSetsForCAP` and `FinGSetsForCAP`: use new package `Toposes`
* added tests for consistent whitespace to `FinSetsForCAP` and `FinGSetsForCAP`
* made whitespace consistent in `FinSetsForCAP` and `FinGSetsForCAP`
* talked with Mohamed about performance issues concerning using equivalences of categories to transport structure
### Friday
#### Plan for the day:
* Michael Torpey:
* Hack like mad
* Release `PackageManager-0.0.1-alpha`?
* Sebastian Gutsche:
* Next iteration of meta packages
* Review & Merge GAPJulia PR's
* Make GAPJulia & LibGAP.jl one repo
* Andrea Thevis & Pascal Kattler:
* Continue working on the origami package
* Include functionality of sage in our GAP package with the help of the homalg/IO interface
* Dima:
* ~~walk 4km across Siegen with my backpack~~
* continue hacking on Sage-libgap interface
* update the corresponding Sage [ticket](https://trac.sagemath.org/ticket/22626).
* Siegen-D/dorf-Soton-Oxford...
* Florian Heiderich:
* Sebastian Posur:
* Talk to several people about their CAP-projects
* Mohamed Barakat:
* Continue working on the new packages FiniteTopologies and Toposes
* Discuss with several people
* Reimer Behrends:
* Jan De Beule:
* play with profiling. Objective is to extend the series of test files of the forms package to reach a decent code coverage.
* Thomas:
* continue GAP-Julia
* Wilf Wilson:
* Learn about `MatrixObj` from Markus
* Write some documentation for the Semigroups package
* Work out why Semigroups standard tests don't pass when all packages are loaded
* Go home
* Max Horn:
* more work on GAP 4.10 release notes
* more GAP-Julia work
* ...
* Markus:
* Explain `MatrixObj`s to Wilf
* Syntax Trees or Origamis.
* Get to London
* Sergio Siccha:
* Some work on GAP's io
* Think about how to turn the `PrintExpr` functions into `StringExpr`s.
* Fabian Zickgraf:
- work on https://github.com/homalg-project/CAP_project/pull/189
## Project descriptions and reports
**For each project, please write and maintain a one paragraphs description and a report on what was achieved along the week.**
* GAP package manager (Dima, Max, Michael, Sebastian, ...), see [this HackMD](https://hackmd.io/xgD2EUeURWiuvHPzIGoW2g)
* Meta packages, see [this HackMD](https://hackmd.io/Ez3dE-O4RbWa__Mbkr_5Tg#)
* [libGAP->libgap for Sagemath](https://trac.sagemath.org/ticket/22626) has moved to the point the GAP's own libgap may do basic computations in Sage's Python shell (still WIP)