Zulip Chat Archive

Stream: general

Topic: Call to action: porting mathlib to Lean 3.6


Gabriel Ebner (Feb 25 2020 at 13:17):

Due to a conference deadline, I would like to release Lean 3.6 this week. I'm aware that there are still quite a few outstanding changes, but there's no need to hurry. We'll be doing a 3.7 release pretty soon after.
I've made a mathlib branch for the next Lean release and started porting: https://github.com/leanprover-community/mathlib/tree/lean-nightly However, there's lots of breakage from removing sub_eq_add_neg and add_comm. It would be really great if you could help in the porting process!

Scott Morrison (Feb 25 2020 at 16:51):

I wonder if the simplest thing to do is just mark those lemmas as @[simp] again, but in mathlib. Then there's no urgency, as we can patch mathlib continuously.

Simon Hudon (Feb 25 2020 at 18:45):

Why are bumping to 3.6 and 3.7 already?

Gabriel Ebner (Feb 25 2020 at 19:03):

The reason why I'd like to release 3.6 very soon (i.e. this week) is because we have a conference deadline coming up, and we'd like to have mathlib running on Lean 3.6 (mainly for the nested docstrings).

Gabriel Ebner (Feb 25 2020 at 19:03):

I think there have been enough changes floating around to warrant a 3.7 release. Floris suggested that it would be better to have more but smaller releases for Lean so that it is easier to migrate mathlib from one release to the next, and I agree.

Bryan Gin-ge Chen (Feb 25 2020 at 19:04):

As I recall the nested docstrings were originally for @Rob Lewis's next doc-gen update. Are those PRs going to land soon as well? (No rush, just curious.)

Simon Hudon (Feb 25 2020 at 19:10):

What I mean is that there are version numbers that we can be using like 3.5.2. Why jump up to 3.6 and 3.7 already? I don't think we have any major features yet, do we?

Gabriel Ebner (Feb 25 2020 at 19:12):

I was mainly going by backwards compatibility. 3.5.1 contained only bugfixes and new features, while 3.6 will break backwards compatibility. 3.7 will very likely break backwards compatibility again.

Simon Hudon (Feb 25 2020 at 19:22):

I can see moving to 3.6 but I don't think we could put a few backward compatibility breaking version in 3.6

Gabriel Ebner (Feb 25 2020 at 19:24):

I'm not sure I understand you correctly. We already have breaking changes in 3.6 (the removal of three simp lemmas). I'd also like to merge the discrete_field change, which is also very much a breaking change.

Bryan Gin-ge Chen (Feb 25 2020 at 19:28):

The nested comments in docstrings change is also a breaking change, since it changes the Lean grammar.

Johan Commelin (Feb 25 2020 at 19:29):

I think Simon means that 3.6.1 could break compatibility with 3.6

Johan Commelin (Feb 25 2020 at 19:29):

Just make 3.6.x a rapid chain of backwards-incompatible bumps.

Gabriel Ebner (Feb 25 2020 at 19:30):

Ah ok, I'm completely fine with that as well. That's just like the old days.

Rob Lewis (Feb 25 2020 at 19:31):

Bryan Gin-ge Chen said:

As I recall the nested docstrings were originally for Rob Lewis's next doc-gen update. Are those PRs going to land soon as well? (No rush, just curious.)

Yep, once nested docstrings land, I'll finish those up.

Wojciech Nawrocki (Feb 25 2020 at 19:53):

Neither of those schemes is compatible with semver, although 3.6, 3.7, .. is maybe a bit closer. To be fully compatible, the next community version would have to be called 4.0.0c or something, which would probably confuse everyone.

Sebastian Ullrich (Feb 25 2020 at 20:01):

That's easy, just skip straight to 5.0.0c

Kevin Buzzard (Feb 25 2020 at 20:04):

That will cause confusion. How about we just rename the software? "Fat"?

Simon Cruanes (Feb 25 2020 at 20:06):

"Mean"

Simon Cruanes (Feb 25 2020 at 20:06):

So that people can refer to the "lean and mean" community!

Gabriel Ebner (Feb 26 2020 at 12:29):

I wonder if the simplest thing to do is just mark those lemmas as @[simp] again, but in mathlib. Then there's no urgency, as we can patch mathlib continuously.

It's way too much fun and I'm already fixing up the breakage causes by the discrete_field removal anyhow.

Anne Baanen (Feb 27 2020 at 14:22):

I'll help with the porting process :D I guess I will start with the linear_algebra and ring_theory directories since I know them the best


Last updated: Dec 20 2023 at 11:08 UTC