On Tue, Dec 28, 2021 at 5:00 PM Marc Chantreux <m...@unistra.fr> wrote: > > long time ago, there was this 'use v6' line ... Does it still make sense?
I think it depends. ---- Let's first ignore Perl. Also, let's first assume your code is not visible online. ---- Imo *not* including a language version statement is an explicit way to say "I explicitly don't care if this program works the next time it gets compiled". (Where, by "works", I mean it compiles and/or runs correctly, or at least as correctly as it did last time.) In some cases that is a perfectly reasonable attitude to have. If you're going to be there when the program is next compiled and/or run, or can easily react if anything doesn't work, and *especially* if you're in control of *updates* to your compiler (presumably Rakudo, at the very least in the next few years), then specifying the language version is mostly redundant. If instead you want your program to run as best it can, then imo an explicit language version `use` statement is needed, even if it's `use v6.d+;` or whatever nails down (or explicitly does *not* nail down) what language version(s) you want to signal are appropriate. ---- Now let's continue to ignore Perl, but assume your program or library may be visible online. (Even if just on github but not intended to be part of the public ecosystem.) Consider those who develop Raku and/or compilers or tools for Raku. Let's say they're considering a change to Raku or a change to a compiler/tool, and the change's impact on any given source code depends on the Raku language version that that source code is presuming. So they decide to do an investigation of code in the ecosystem and in the wild, to get an idea of the practical scope and scale of the impact of the change. If your code does *not* explicitly declare what version it presumes, it may not be possible, or at least viable, to analyze it. Does this matter? Well, it's a bit like climate change. Each little thing we do makes close to no difference at all. But the sum total of what we do just about entirely determines what our future, and our childrens' futures, will be like. In this case it's "just" Raku. Does it matter? ---- Finally, what about Perl? I see consideration of Perl as being pretty much the same as consideration of Raku. So I do, or don't, write a Raku language version statement, without thinking about Perl, feeling that if I do what's right for Raku, it'll be roughly right relative to Perl too. -- love, raiph