-
Notifications
You must be signed in to change notification settings - Fork 16
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
Language versioning. #88
Comments
The proposal says to just drop Yet, there is a proposal from @AlexDaniel to use semvers. While generally agree that changing In #80 I also proposed |
Well, it used to propose that. I changed that in e4461ed. As of right now it wasn't changed back :) |
Ah, right. Anyway, the word was said. The idea of using uppercase letters appeals to me because I was considering |
One thing I would really keep in mind when thinking about this is that versions are forever. There will always be historically a rakudo implementation for the language version 6.c. So it may be impolite to future packagers, etc to have a newer version that might compare older. And also consider what will happen with old code that contains "use v6.c" or whatever. |
From semver "Numeric identifiers always have lower precedence than non-numeric identifiers." so I think moving the major version to a letter may work, with those constraints - I just want to make sure it's considered. |
Please note, this is only the initial version of the PR, intended for internal discussion / augmentation before being turned into a real ("draft") PR, for wider discussion / voting.
@Grinnz yes, of course. Thank you for your concern. It's just that these discussions are happening all over the place so right now it's a bit hard to bring sense into them :) |
Briefly, if renaming happens, I would sum up my point of view:
Wether renaming will take place or not, as a side note, I would also add |
Why using 6? Sent with GitHawk |
See item 1 from my list. It's a heritage to keep our roots. Also, as @Grinnz mentioned, Support for both versioning schemes (the old one and any new one) will require more code to handle it. I don't think it worth it. Switching to an absolutely new versioning scheme won't bring us nothing but perhaps aesthetic satisfaction, except for simplifying the situation with |
|
For the communication purposes one can use What is related to |
If the 6 continue existing, I think lower cased letter makes more sense... but we don’t really need the 6. I prefer Sent with GitHawk |
What about something similar to Rakudo releases: Raku v2019.07 If digits are compared 2019 > 6, so no trouble there. |
I'm considering case-insensitive letters. Besides, you're still mixing up representation with technical use. Terminologywise,
But language is not being released neither monthly nor yearly. Only when ready. How would one remember what was a previous release of, say, v2020.12? Besides, think of cores. We currently have Another thing. Each core has own stash. They're currently not represented by namespaces, but in Overall, we have the following areas where language versioning affects things:
Not sure if I'm not missing something. The decision must take into account all the above items. |
C89, C++17 and so on? |
C, C++, Cobol, Fortran, ECMAScript all have year numbers as versions. |
The thing nobody of you mentions is that none of those languages supports multi-version code. There is no need for language-version pragmas in the source which are better be short and tell something to the code author. I would be the first one to throw a stone into the one who made me typing |
We currently use letters for defining language revisions. Combined with
6.
a letter forms a language version like6.c
.The language renaming PR proposes changes to this scheme.
The text was updated successfully, but these errors were encountered: