/ blog /

Kaiserslautern FLINT meeting report

October 16, 2023

We have just wrapped up the 2023 FLINT development workshop in Kaiserslautern. This was the third-ever official FLINT meeting and the first such event in a decade, following the 2011 Sage-FLINT days and 2013 FLINT developers meeting which both took place at the University of Warwick in the UK. Granted, FLINT has had some representation at various Sage Days and Oscar meetings since then, and the main developers have met up a few times, but it was long overdue to have a big workshop focused on FLINT.


Overall outcome

12/16 participants posing for a photo.

We had 16 on-site participants, some of which I had not previously met in person. A handful of people who couldn't make it to Kaiserslautern were also involved remotely over Zulip, video and the issue tracker.

For some quantitive measure of productivity, we had merged 65 pull requests by Friday afternoon, comprising 266 commits with

 314 files changed, 6169 insertions(+), 44445 deletions(-)
(Yes! Net negative lines of code!)

Various discussions and coding projects launched during the workshop naturally couldn't be completed in five days' time but should lead to future results.

Pushing for 3.0

Walking from the hotel on Monday morning.

The most pressing goal was to clean up the codebase and finish any remaining issues blocking the final 3.0 release. Indeed, there is now a flint-3.0.0 release candidate! To this end, we checked off various maintenance tasks. For example:

Wrapper and documentation business

Hartmut Monien made the first public release of his new Haskell interface to FLINT and gave a live demo of it.

An important point of discussion was the degree of overlap between the many wrappers for FLINT (Python-FLINT, Sage, Nemo,, Haskell, etc.). Most of these projects generate parts of the bindings in a semi-automated fashion by scraping the FLINT documentation; we discussed the possibility to export an easily machine-readable API specification in some centralized and more robust way.

Related (but somewhat orthogonal) to this, Alex Best started an experiment to inline more of the documentation in the source code. This could help keep the API docs up to date and make FLINT's often dense code easier to understand by embracing a more literate style. We have still not decided whether to go in this direction with the documentation, but it looks promising.

Future features

Everyone looking busy.

Although much of the coding effort went into maintenance, we had time to implement a few minor new features. For example, Joel Dahne added an arb_minmax function, and Vincent Neiger added several useful nmod_vec and nmod_poly_mat helper functions. Several other more substantial feature projects were started:

Final comments

Beer, schnitzel and spätzle.

The workshop turned out to be very enjoyable. The weather was nice (perhaps alarmingly nice for October), the local arrangements worked well, and we had a nice relaxed atmosphere. There were some mixed opinions about putting up with German food (as one person put it, du sucre et du gras) for a whole week, but one can't have everything.

Thanks to all participants for making this happen! Apologies to anyone whose contribution was not listed explicitly in this summary report.

I will look into the possibility of following this up with a workshop in 2024.  |  Blog index  |  RSS feed  |  Follow me on Mastodon  |  Become a sponsor