Re: Version of a Module

2017-07-04 Thread Lloyd Fournier
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

2017-06-29 Thread Martin Barth

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

2017-06-28 Thread Elizabeth Mattijsen
> On 28 Jun 2017, at 14:01, Martin Barth  wrote:
> 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

2017-06-28 Thread 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

2017-06-28 Thread Martin Barth

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

2017-06-28 Thread 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

2017-06-27 Thread Lloyd Fournier
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

2017-06-27 Thread Martin Barth

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