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

Propagate conventions into the C and Fortran APIs #311

Open
Radonirinaunimi opened this issue Sep 19, 2024 · 10 comments
Open

Propagate conventions into the C and Fortran APIs #311

Radonirinaunimi opened this issue Sep 19, 2024 · 10 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@Radonirinaunimi
Copy link
Member

The renaming conventions should be propagated into the C and Fortran APIs as well as in the examples folder.

@Radonirinaunimi Radonirinaunimi self-assigned this Sep 19, 2024
@felixhekhorn felixhekhorn added the documentation Improvements or additions to documentation label Sep 19, 2024
@felixhekhorn
Copy link
Contributor

what were you thinking about? because "convolve" went through I believe ...

@cschwan
Copy link
Contributor

cschwan commented Sep 19, 2024

There are still lumi when it should be channel, but remember that we can't/shouldn't change the CAPI and by extension the Fortran C bindings - this would break all programs linking the CAPI. What we can and will do after merging the changes from v1-file-format, is to deprecate the lumi methods and add new function for the new functionality.

@alecandido
Copy link
Member

Yes, in this sense I strongly agree with @cschwan: PineAPPL is the project where stability should be taken most seriously.

Especially, when there are third-party tools not that actively maintained around. And supporting them is a selling point of PineAPPL.

What you could do is instead a "long term" deprecation plan (as @cschwan also proposed): just extend the API with the new conventions, and mark as deprecated the old one.
Still, you may be unable to actually drop the old for years, but it's a reasonable compromise.

@felixhekhorn
Copy link
Contributor

felixhekhorn commented Sep 19, 2024

well as said 2a8a991 broke already the interface ... I can see your point and I agree with it, but as Germans would say "the child already fell into the well" (in English this even rhymes 🤣 )

@cschwan
Copy link
Contributor

cschwan commented Sep 19, 2024

@felixhekhorn The CAPI wasn't broken by this commit, in fact you can still use the old functions as is done in examples/cpp/deprecated.cpp.

@felixhekhorn
Copy link
Contributor

@felixhekhorn The CAPI wasn't broken by this commit, in fact you can still use the old functions as is done in examples/cpp/deprecated.cpp.

I see ... so the commit didn't break the CAPI (which is the relevant information), but the Fortran API

@cschwan
Copy link
Contributor

cschwan commented Sep 19, 2024

Removing the Fortran binding was probably unintentional and that will break compilation, but existing programs should not break when you just replace the compiled library. Maybe that's even a good strategy to force people to upgrade.

@alecandido
Copy link
Member

alecandido commented Sep 19, 2024

Removing the Fortran binding was probably unintentional and that will break compilation, but existing programs should not break when you just replace the compiled library. Maybe that's even a good strategy to force people to upgrade.

Existing statically-compiled programs :P

(and I still consider better to adopt the deprecation plan explicitly, not to nudge users to upgrade just "breaking something, but not everything")

@cschwan
Copy link
Contributor

cschwan commented Sep 19, 2024

Dynamically-compiled programs, actually, because the CAPI function is still there.

@Radonirinaunimi
Copy link
Member Author

My idea was that ultimately we will have to fix the Fortran API in order to be able to use it in https://github.com/NNPDF/sihp-pp, and therefore take that opportunity to polish things and propagate the conventions.

I do understand indeed that this will have to be done with the utmost care, and I agree with @cschwan's plan.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

5 participants
@cschwan @felixhekhorn @alecandido @Radonirinaunimi and others