Re: Version of a Module
It is a bug. It's because of the way require is implemented at the moment is a little rough. The first one is asking for the .^ver of a stub package require has inserted. ::("Bailador").ver should work. LL On Wed, Jul 5, 2017 at 4:46 AM Martin Barth <mar...@senfdax.de> wrote: > Hi there, > > is this a bug? > > > perl6 -Ilib -e 'require Bailador; say Bailador.^ver' > No such method 'ver' for invocant of type 'Perl6::Metamodel::PackageHOW' > in block at -e line 1 > > vs > > > perl6 -Ilib -e 'use Bailador; say Bailador.^ver' > v0.0.7 > > it seems that there a 2 different metaclasses being used: > > > perl6 -Ilib -e 'use Bailador; say Bailador.HOW' > Perl6::Metamodel::ModuleHOW.new > > > perl6 -Ilib -e 'require Bailador; say Bailador.HOW' > Perl6::Metamodel::PackageHOW.new > > Am 28.06.2017 um 14:16 schrieb Simon Proctor: > > See I'm using mi6 to generate my META6.json file from the report and it > picks the version up from the module file. Other options like that seem > sensible to me. > > Simon > > On Wed, 28 Jun 2017, 13:01 Martin Barth, <mar...@senfdax.de> wrote: > >> Hello, >> >> but your approach means you have to state the version in the META6.json >> AND in the Module.pm6 file again. This would be the similar to having >> $VERSION in perl5. Shouldnt there be a simpler way? >> >> >> Am 28.06.2017 um 08:45 schrieb Fernando Santagata: >> >> Hi Martin, >> >> This works for me: >> >> File mytest.pm6 >> >> use v6; >> unit module mytest:ver<0.0.1>; >> >> sub myver is export >> { >> mytest.^ver; >> } >> >> File mytest.p6 >> >> #!/usr/bin/env perl6 >> use lib '.'; >> use mytest; >> >> say myver; >> >> Console output: >> >> $./mytest.p6 >> v0.0.1 >> >> I this what you meant? >> >> On Tue, Jun 27, 2017 at 10:37 PM, Martin Barth <mar...@senfdax.de> wrote: >> >>> Hello everyone, >>> >>> I wanted to repeat the question that I asked today on #perl6. >>> I am looking for a way to retrieve the version of a Perl6-Module from >>> within the module itself. >>> >>> there is often a our $VERSION in perl5 modules. is this still >>> idiomatic/a good way to go in perl6 >>> i think the version is meant to be part of the meta info and >>> such? >>> but that means the module itself does not know about its >>> version, just e.g. zef does? >>> i'm convinced there ought to be a way to get the full meta >>> info from whatever installation your script was grabbed from >>> but i don't know what or how >>> >> >> >> >> -- >> Fernando Santagata >> >> >> >
Re: Version of a Module
yap, when mi6 updates your META6.json this makes sense to me as well. This leads me to another question Can zef/perl6 handle differend modules version based on the suffix ':ve<0.0.1>' or based on the META6.json. I mean, could there be 2 scripts each using a different version of my module withouth having this suffix in it? Am 28.06.2017 um 14:16 schrieb Simon Proctor: See I'm using mi6 to generate my META6.json file from the report and it picks the version up from the module file. Other options like that seem sensible to me. Simon On Wed, 28 Jun 2017, 13:01 Martin Barth, <mar...@senfdax.de <mailto:mar...@senfdax.de>> wrote: Hello, but your approach means you have to state the version in the META6.json AND in the Module.pm6 file again. This would be the similar to having $VERSION in perl5. Shouldnt there be a simpler way? Am 28.06.2017 um 08:45 schrieb Fernando Santagata: Hi Martin, This works for me: File mytest.pm6 use v6; unit module mytest:ver<0.0.1>; sub myver is export { mytest.^ver; } File mytest.p6 #!/usr/bin/env perl6 use lib '.'; use mytest; say myver; Console output: $./mytest.p6 v0.0.1 I this what you meant? On Tue, Jun 27, 2017 at 10:37 PM, Martin Barth <mar...@senfdax.de <mailto:mar...@senfdax.de>> wrote: Hello everyone, I wanted to repeat the question that I asked today on #perl6. I am looking for a way to retrieve the version of a Perl6-Module from within the module itself. there is often a our $VERSION in perl5 modules. is this still idiomatic/a good way to go in perl6 i think the version is meant to be part of the meta info and such? but that means the module itself does not know about its version, just e.g. zef does? i'm convinced there ought to be a way to get the full meta info from whatever installation your script was grabbed from but i don't know what or how -- Fernando Santagata
Re: Version of a Module
> On 28 Jun 2017, at 14:01, Martin Barthwrote: > but your approach means you have to state the version in the META6.json AND > in the Module.pm6 file again. This would be the similar to having $VERSION in > perl5. Shouldnt there be a simpler way? Isn’t that info available in %?RESOURCES somewhere ?? Liz
Re: Version of a Module
See I'm using mi6 to generate my META6.json file from the report and it picks the version up from the module file. Other options like that seem sensible to me. Simon On Wed, 28 Jun 2017, 13:01 Martin Barth, <mar...@senfdax.de> wrote: > Hello, > > but your approach means you have to state the version in the META6.json > AND in the Module.pm6 file again. This would be the similar to having > $VERSION in perl5. Shouldnt there be a simpler way? > > > Am 28.06.2017 um 08:45 schrieb Fernando Santagata: > > Hi Martin, > > This works for me: > > File mytest.pm6 > > use v6; > unit module mytest:ver<0.0.1>; > > sub myver is export > { > mytest.^ver; > } > > File mytest.p6 > > #!/usr/bin/env perl6 > use lib '.'; > use mytest; > > say myver; > > Console output: > > $./mytest.p6 > v0.0.1 > > I this what you meant? > > On Tue, Jun 27, 2017 at 10:37 PM, Martin Barth <mar...@senfdax.de> wrote: > >> Hello everyone, >> >> I wanted to repeat the question that I asked today on #perl6. >> I am looking for a way to retrieve the version of a Perl6-Module from >> within the module itself. >> >> there is often a our $VERSION in perl5 modules. is this still >> idiomatic/a good way to go in perl6 >> i think the version is meant to be part of the meta info and >> such? >> but that means the module itself does not know about its >> version, just e.g. zef does? >> i'm convinced there ought to be a way to get the full meta >> info from whatever installation your script was grabbed from >> but i don't know what or how >> > > > > -- > Fernando Santagata > > >
Re: Version of a Module
Hello, but your approach means you have to state the version in the META6.json AND in the Module.pm6 file again. This would be the similar to having $VERSION in perl5. Shouldnt there be a simpler way? Am 28.06.2017 um 08:45 schrieb Fernando Santagata: Hi Martin, This works for me: File mytest.pm6 use v6; unit module mytest:ver<0.0.1>; sub myver is export { mytest.^ver; } File mytest.p6 #!/usr/bin/env perl6 use lib '.'; use mytest; say myver; Console output: $./mytest.p6 v0.0.1 I this what you meant? On Tue, Jun 27, 2017 at 10:37 PM, Martin Barth <mar...@senfdax.de <mailto:mar...@senfdax.de>> wrote: Hello everyone, I wanted to repeat the question that I asked today on #perl6. I am looking for a way to retrieve the version of a Perl6-Module from within the module itself. there is often a our $VERSION in perl5 modules. is this still idiomatic/a good way to go in perl6 i think the version is meant to be part of the meta info and such? but that means the module itself does not know about its version, just e.g. zef does? i'm convinced there ought to be a way to get the full meta info from whatever installation your script was grabbed from but i don't know what or how -- Fernando Santagata
Re: Version of a Module
Hi Martin, This works for me: File mytest.pm6 use v6; unit module mytest:ver<0.0.1>; sub myver is export { mytest.^ver; } File mytest.p6 #!/usr/bin/env perl6 use lib '.'; use mytest; say myver; Console output: $./mytest.p6 v0.0.1 I this what you meant? On Tue, Jun 27, 2017 at 10:37 PM, Martin Barth <mar...@senfdax.de> wrote: > Hello everyone, > > I wanted to repeat the question that I asked today on #perl6. > I am looking for a way to retrieve the version of a Perl6-Module from > within the module itself. > > there is often a our $VERSION in perl5 modules. is this still > idiomatic/a good way to go in perl6 > i think the version is meant to be part of the meta info and > such? > but that means the module itself does not know about its version, > just e.g. zef does? > i'm convinced there ought to be a way to get the full meta info > from whatever installation your script was grabbed from > but i don't know what or how > -- Fernando Santagata
Re: Version of a Module
Hi Martin, AFAIK you can only do this with hacks atm. It's different if the module is installed or if you are in the source directory doing pelr6 -Ilib. I do this in my own module here: https://github.com/spitsh/spitsh/blob/master/lib/Spit/Util.pm6#L61 LL On Wed, Jun 28, 2017 at 7:14 AM Martin Barth <mar...@senfdax.de> wrote: > Hello everyone, > > I wanted to repeat the question that I asked today on #perl6. > I am looking for a way to retrieve the version of a Perl6-Module from > within the module itself. > > there is often a our $VERSION in perl5 modules. is this still > idiomatic/a good way to go in perl6 > i think the version is meant to be part of the meta info and > such? > but that means the module itself does not know about its > version, just e.g. zef does? > i'm convinced there ought to be a way to get the full meta > info from whatever installation your script was grabbed from > but i don't know what or how >
Version of a Module
Hello everyone, I wanted to repeat the question that I asked today on #perl6. I am looking for a way to retrieve the version of a Perl6-Module from within the module itself. there is often a our $VERSION in perl5 modules. is this still idiomatic/a good way to go in perl6 i think the version is meant to be part of the meta info and such? but that means the module itself does not know about its version, just e.g. zef does? i'm convinced there ought to be a way to get the full meta info from whatever installation your script was grabbed from but i don't know what or how