Skip to content

Changes directory structure of stdlib as discussed in #216 #223

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

Merged
merged 12 commits into from
Jul 28, 2020

Conversation

jvdp1
Copy link
Member

@jvdp1 jvdp1 commented Jul 22, 2020

This PR changes the directory structure of stdlib as discussed in #216 opened by @wclodius2

In short:

  • all "experimental" terms have been removed from the names of the modules
  • a version ("experimental") tag has been added to all procedures and also in the specs. FORD uses the version tag as meta-data.

@jvdp1 jvdp1 requested review from certik and milancurcic July 22, 2020 16:54
@jvdp1
Copy link
Member Author

jvdp1 commented Jul 22, 2020

The FORD documentation can be dowloaded here.

@jvdp1 jvdp1 marked this pull request as ready for review July 22, 2020 17:05
@jvdp1
Copy link
Member Author

jvdp1 commented Jul 22, 2020

This is a major change in terms of structure for stdlib.
Is everybody ok with that? It should be easier for the users to use stdlib now. However, is it still clear enough that the procedures are experimentatl?

@jvdp1 jvdp1 requested a review from ivan-pi July 22, 2020 17:08
@certik
Copy link
Member

certik commented Jul 22, 2020

I think we are ok with the general idea to do it like this.

I think the only thing to figure out is how exactly to document that all those routines are experimental. Should we also add a comment next to each subroutine in the source file? I think I would prefer that --- we want to convey as clearly as possible that the subroutine is experimental.

@leonfoks
Copy link

@certik I believe having the version: experimental as @jvdp1 has done should suffice. Having the experimental tag in the Ford doc comments covers all bases. Is there anywhere else that would more clearly indicate the experimental nature of a function?

Could we have a script that simply parses out "version: experimental" and lists them in the docs? Maybe this is something we could add to FORD?

Copy link
Member

@milancurcic milancurcic left a comment

Choose a reason for hiding this comment

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

This is great, thank you @jvdp1.

I can't review all 51 files, but I trust that it's all or mostly correct. If there are any issues we can fix them as we go.

IMO it's clear enough that procedures are experimental the way it's documented now, but if others want it more explicitly documented, I don't object.

Copy link
Member

@certik certik left a comment

Choose a reason for hiding this comment

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

I am fine with the current way the version is done, as long as nobody objects. I am always more cautious with regards to these things.

@certik
Copy link
Member

certik commented Jul 22, 2020

Given how important the change is, I am CCing others who committed the most code so far: @zbeekman, @nshaffer, @scivision, @fiolj, @MarDiehl, @aradi, @ivan-pi, to make sure everybody is on board.

@fiolj
Copy link
Contributor

fiolj commented Jul 22, 2020

I've been away for a while. I am ok with the change in structure.

@jvdp1
Copy link
Member Author

jvdp1 commented Jul 22, 2020

Could we have a script that simply parses out "version: experimental" and lists them in the docs? Maybe this is something we could add to FORD?

The version of each procedure is mentioned in FORD website when you open the page of a procedure.
I think it would be also nice if the version would be added in the table that lists all the procedures.

@nshaffer
Copy link
Contributor

So in the generated docs, experimental interfaces get a subsection like

Version

Experimental

What would this say for stable interfaces, "stable"? Seems strange to me. Might just be the word "version". If we are only classifying interfaces as "experimental" or "stable", I think maybe calling this section "status" makes more sense? If I'm a user and I see "Version: stable", I wonder "OK, so is there and unstable version as well?" (a la how some Linux distributions classify packages as stable/unstable/testing).

Other than that detail, I support this change.

@certik
Copy link
Member

certik commented Jul 22, 2020

I agree, using Status instead of Version is better I think.

Copy link
Member

@aradi aradi left a comment

Choose a reason for hiding this comment

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

I agree with the suggested change version->status. Otherwise good to go, thanx @jvdp1 !

@jvdp1
Copy link
Member Author

jvdp1 commented Jul 24, 2020

I agree with the comments on status vs version. I changed the title Version in the specs to Status in this commit.

IMO The Status keyword has also the advantage that when a procedure will be moved to the stable version, it could be mentioned something like (if we go in this direction of course):

Status

Stable, since x.x.x

@jvdp1 jvdp1 changed the title WIP: Changes directory structure of stdlib as discussed in #216 Changes directory structure of stdlib as discussed in #216 Jul 24, 2020
@scivision
Copy link
Member

Yes this is a good and necessary change

Copy link
Member

@ivan-pi ivan-pi left a comment

Choose a reason for hiding this comment

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

Looks good to me. When we get to the point of actually stabilizing a routine we should edit the WORKFLOW.md with more accurate instructions on how the status is upgraded.

+1 to merge

@certik certik self-requested a review July 24, 2020 15:24
Copy link
Member

@certik certik left a comment

Choose a reason for hiding this comment

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

I think this is good to merge.

@jvdp1
Copy link
Member Author

jvdp1 commented Jul 28, 2020

It seems there is an agreement on the proposed change of the structure of stdlib.
Thank you all for your feedback. I'll merge.

@jvdp1 jvdp1 merged commit 14ef9d5 into fortran-lang:master Jul 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants