Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

coqPackages.InteractionTrees: init at 1.0.0 #73075

Closed
wants to merge 1 commit into from

Conversation

Ptival
Copy link
Contributor

@Ptival Ptival commented Nov 8, 2019

This package required a bit of refactoring, I would love for someone to double-check and comment on that.

InteractionTrees has only one release, version 1.0.0. It dates from a while back, so I wanted to package both it, and a more recent version pointing at the current master branch.

Sadly, those have pretty different requirements on paco and coq-ext-lib. In particular, while I recently made coq-ext-lib be at version 0.10.3 for recent Coq versions, they supposedly have made a breaking change as far as InteractionTrees is concerned between 0.10.2 and 0.10.3.

So InteractionTrees_20191104 wants coq-ext-lib=0.10.2, which meant I had to make that available. In order to get that flexibility, I have parameterized InteractionTrees over builders for paco and coq-ext-lib (see in coq-packages.nix). I'm not sure that this is the way to go, so feedback on this would be appreciated.

@vbgl
Copy link
Contributor

vbgl commented Nov 9, 2019

If you package too many versions of a library, the configuration space may blow up. Most configurations are thus untested and quality of the package set decreases.

It is hard to fix InteractionTrees to make it compatible with latest coq-ext-lib? According to the changelog (https://github.com/coq-community/coq-ext-lib/releases/tag/v0.10.3), there are no breaking changes in that version…

Copy link
Contributor

@vbgl vbgl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Latest version of InteractionTrees (d408b9151f7f77d1ab0b8a0f2d57f210e16206ae) builds fine with paco and coq-ext-lib that are available in nixpkgs.

@Ptival
Copy link
Contributor Author

Ptival commented Nov 13, 2019

Yeah, I noticed it builds against coq-ext-lib 0.10.3, but the author of InteractionTrees warned against it, because they define some notation at level 60:

https://github.com/DeepSpec/InteractionTrees/blob/d408b9151f7f77d1ab0b8a0f2d57f210e16206ae/theories/Core/ITreeDefinition.v#L243-L249

whereas coq-ext-lib changed said notation to level 61:

https://github.com/coq-community/coq-ext-lib/blob/672e63a575c110cf5c76b42172037b0e1a111f39/theories/Structures/Monad.v#L73-L79

The following script:

From ExtLib Require Import Monad.
From ITree  Require Import Simple.
Import ITreeNotations.
Import MonadNotation.

fails with:

Error:
Notation "_ >=> _" is already defined at level 60 with arguments constr at next level, constr at level 60
while it is now required to be at level 61 with arguments constr at next level, constr at level 61.

which is why InteractionTrees has an upper bound to coq-ext-lib at 0.10.2 in its opam configuration.

I agree about removing the excess versions of all packages, but I think w.r.t. this issue we can either:

  • package InteractionTrees as it is in this PR,
  • only package InteractionTrees-1.0.0 and not the up-to-date,
    until they solve their forward compatibility.

@vbgl
Copy link
Contributor

vbgl commented Nov 14, 2019

Thanks for clarifying the issue.

Do we need to package two versions of InteractionTrees or one is enough? In which case, which version?

@Ptival
Copy link
Contributor Author

Ptival commented Nov 14, 2019

I think we can just package 1.0.0, and I'll possibly add a more recent version when they have a less complex dependency story. I'll change this PR to reflect this.

@Ptival
Copy link
Contributor Author

Ptival commented Nov 14, 2019

@vbgl do you have any input on when to phase out support for older Coq versions?

@vbgl
Copy link
Contributor

vbgl commented Nov 15, 2019

When maintaining them becomes a pain…

@stale
Copy link

stale bot commented Jun 1, 2020

Thank you for your contributions.
This has been automatically marked as stale because it has had no activity for 180 days.
If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity.
Here are suggestions that might help resolve this more quickly:

  1. Search for maintainers and people that previously touched the
    related code and @ mention them in a comment.
  2. Ask on the NixOS Discourse. 3. Ask on the #nixos channel on
    irc.freenode.net.

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 1, 2020
@Ptival
Copy link
Contributor Author

Ptival commented Jun 24, 2020

Still important to me, I'll update the PR hopefully in the near future!

@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 24, 2020
@vbgl
Copy link
Contributor

vbgl commented Apr 14, 2021

Closed by #118134.

@vbgl vbgl closed this Apr 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants