klebs | hi folks! what happens if we don't write "use v6" at the top of our scripts? is that bad to do? why is the default behavior (of not including "use v6") potentially undesirable? | 18:42 | |
gfldex | @klebs#2209 proper operation systems actually look into the first block of a file to determine the mime-type. | 19:35 | |
21:30
A26F64 joined
|
|||
Rogue | It was originally there to differentiate between Perl 5 and Perl 6 source | 21:39 | |
Since, at the time, Raku was called Perl 6 and was simply going to be the next version of Perl | |||
It's not really important anymore, unless you want to specify a minor version like 6.e | 21:40 | ||
It's not really important anymore, unless you want to specify a minor version like 6.d | |||
which you'd want to do if you're using something that was not implemented as of the previous release | 21:41 | ||
which you'd want to do if you're using some featurethat was not implemented as of the previous release | |||
which you'd want to do if you're using some feature that was not implemented as of the previous release | |||
A26F64 | I'm wondering if someone could recommend a clear and direct tutorial explaining how to place packages, modules, classes, subsets, etc. into separate files and then import them. The official documentation, while generally very informative and thorough, is not particularly clear on that from my perspective. | 21:43 | |
gfldex | Please note that v6 does not default to v6.c. This versioning is intentional an will allow us to incorporate backward compatibility breaking changes. | ||
A26F64 | In Perl packages are placed in files and identified with the `package` keyword. Raku is (I am to understand) not that simple. | 21:44 | |
There's quite a bit of discussion in the documentation about actually using the elements of a module once defined. But practically nothing about where to put the things. The "modules" page could be far more explicit. Something about META6.json and compunits and the `-I` flag and who knows what else. | 21:49 | ||
I thought (after wasting a lot of time going through the documentation and general searches with a detour through Synopsis 11) that perhaps I had things working. But then I discovered that specifying a filesystem file in META6.json's `provides` attribute just seems to load the whole file without respect to the module name used as the corresponding | 21:53 | ||
key and now I don't know what to do. | |||
klebs | thanks folks 👍 | 23:27 | |
thanks! | |||
what is an example of this? does the "use v6;" provide more information than the shebang? it doesn't seem like it to me. I somewhat like writing "use v6;" -- it is in my muscle memory. I'm just not sure if there is a reason I actually need it. It seems cleaner to not need it, is it not? | 23:31 | ||
[Coke] | . | 23:40 | |
it's hard to tell if that's a new send or an edit: use v6 is a holdover from when it might be mistaken for perl 5 code; it doesn't do anything in raku itself. use v6.x uses a specific version of the language | 23:41 |