»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:03 mr-foobar left 00:04 mcmillhj_ joined
Geth doc: 981ace3664 | (Will "Coke" Coleda)++ | xt/duplicates.t
Add a test for duplicate words

Addresses #1338
00:08
doc: f2cf0ba26a | (Will "Coke" Coleda)++ | 6 files
Remove duplicated words in docs.

Fixes #1338, passes xt/duplicate.t
00:09 mr-foobar joined, mcmillhj_ left 00:11 curt_ left 00:13 AndroUser2 left 00:15 AndroUser2 joined, troys_ is now known as troys 00:41 AndroUser2 left, AndroUser2 joined 00:53 zacts joined 01:03 AndroUser2 left 01:04 lookatme joined 01:05 AndroUser2 joined, mr-foobar left
lookatme morning .o/ 01:06
01:07 mr-foobar joined 01:23 Actualeyes joined
BenGoldberg Good evening. 01:38
01:43 fatguy left
Geth doc/master: 4 commits pushed by (Will "Coke" Coleda)++ 01:45
[Coke] .tell AlexDaniel - perl6/doc now has a doubled-word test. 01:51
yoleaux [Coke]: I'll pass your message to AlexDaniel.
01:54 Cabanossi left 01:57 Cabanossi joined
zengargoyle does anybody know off-hand what code is behind the modules.perl6.org/todo pages? 02:04
02:04 skids left
MasterDuke zengargoyle: tadzik just recently added that feature, you should be able to find his commits here github.com/perl6/modules.perl6.org 02:13
zengargoyle MasterDuke: thanks much 02:18
MasterDuke np 02:19
02:33 troys is now known as troys_
raiph I rakudobugged RT#131406 but stackoverflow.com/questions/442664...all-struct remains unanswered. Goodnight #perl6. 02:34
02:36 raiph left 02:40 mcmillhj left 02:41 mcmillhj joined
zengargoyle i has sorta hoped it was a Test::EcosystemFriendly type of module the one could drop into authoring tests. but it looks more like something mixed in with the site generation code. 02:41
and it's Perl5 at that :) 02:45
02:50 mcmillhj left 02:52 noganex joined 02:55 noganex_ left 03:01 mcmillhj joined 03:05 mcmillhj left 03:10 Cabanossi left 03:11 Cabanossi joined 03:22 Actualeyes left, mcmillhj joined 03:23 AndroUser2 left 03:25 AndroUser2 joined 03:26 mcmillhj left 03:31 fatguy joined 03:33 mcmillhj joined 03:35 mr-foobar left 03:37 mr-foobar joined 03:38 mcmillhj left 03:43 mcmillhj joined 03:50 troys_ is now known as troys 03:52 mcmillhj left, mcmillhj joined 03:54 Cabanossi left 03:56 Xliff joined
Xliff \o 03:56
Hi-Low
03:56 Cabanossi joined
Xliff If anyone is awake, here is a question. With the lexical restrictions now on require(), is it at all possible to export symbols outside the scope? 03:57
03:58 khw left 04:01 BenGoldberg left 04:04 wamba joined, mr-foobar left 04:06 mr-foobar joined 04:08 pilne left
llfourn Xliff: outside of the scope of the require statement? 04:12
m: my &sub = { require Test <&output>; &output }; say &sub; 04:13
camelia -> ;; $_? is raw { #`(Block|53050232) ... }
llfourn m: my &sub = do { require Test <&output>; &output }; say &sub; 04:14
camelia Trying to import from 'Test', but the following symbols are missing: &output
in block <unit> at <tmp> line 1
llfourn m: my &sub = do { require Test <&ok>; &ok }; say &sub; #rather
camelia sub ok (;; Mu | is raw) { #`(Sub|67442136) ... }
Xliff llfourn: Ah! Thanks. That works for subs, but what about data? 04:16
llfourn data?
should work for any kind of variable just use a different sigil
Xliff Yeah. I have hash data stored in a module, and I want to be able to 'require' that and use it at runtime.
04:16 BenGoldberg joined
llfourn what is it stored in? 04:16
a variable?
Xliff Hash
llfourn is it exported? 04:17
Xliff Yes
llfourn my %hash := do { require MyModule <%myhash>; %myhash }; say %hash; # like this then?
Xliff Yeah. Something like that. 04:18
However now that I think about it, it might be better to have this dynamic stuff put into an object.
It's been a while since I've looked at this project.
Was last year, I think.
llfourn in any case you can get any exported symbol with require using the same method
geekosaur that is generally better than randomly polluting global namespaces 04:19
Xliff Right. Thanks!
geekosaur: Yeah. It is.
This was done early in my Perl6 experience where I was still struggling with Perl5Think.
04:32 ufobat joined 04:34 mr-foobar left 04:37 mr-foobar joined 04:38 Actualeyes joined 04:40 Cabanossi left 04:41 Cabanossi joined 04:44 curan joined
lookatme How find a class attribute name with a interpolated string ? Such as "$!a" . 04:52
In class S { has $.a; }
moritz lookatme: exactly like that 04:55
m: class A { has $.x; method foo { "x is $!x"}}; A.new(x => 42).foo 04:56
camelia ( no output )
lookatme Oh, I mean "\$!a"
moritz m: class A { has $.x; method foo { "x is $!x"}}; say A.new(x => 42).foo
camelia x is 42
lookatme sorry
moritz of, if you don't want interpolation?
yes, backslash, or use a different quoting construct
lookatme I have many attribute such as $.a1 $.a2 .... 04:57
04:57 mcmillhj left
lookatme I want use a for loop access them 04:57
How to lookup that name in a class method .? just like package name ::("\$bar") 04:58
m: my $bar = 1; say ::("\$bar")
camelia 1
04:59 mcmillhj joined
geekosaur m: class A {has $.a1; has $.a2; }; my $a = A.new(a1 => 5, a2 => 3); my $x = 2; dd $a."a$x"() 05:00
camelia 3
geekosaur remember that outside the class, you are using an accessor method; so you can use the indirect/symbolic method call syntax instance."methodname"() 05:02
05:02 AndroUser2 left
lookatme I want access them in method of that class 05:03
05:03 AndroUser2 joined
geekosaur I think I'd still use the accessor in that case; I don't know how you'd access the actual attribute 05:03
05:03 mcmillhj left
lookatme class A { has $.a1; has $.a2; method foo() { #`(name look up)... = 2 for 1 .. 2; } 05:04
raydiak m: class A {has $.a1 = 5; has $.a2 = 3; method foo () {say self."a$_"() for 1..2; }; }; A.new.foo(); 05:05
camelia 5
3
lookatme Assigned 2 to $!a1 $!a2 ... $!an
I need write them, not just access, and I don't want add a `is rw` for them 05:06
moritz any reason not use an array in the first place? 05:08
lookatme No, I want use array with NativeCall, but not support
class A is repr('CSturct') { has Pointer[void] @.foo; # not support } 05:09
05:10 mcmillhj joined
lookatme moritz, I just try to solve this problem : stackoverflow.com/questions/442664...all-struct 05:10
moritz lookatme: I'm not well-versed with NativeCall. As for programmatically setting attributes, you can go meta 05:11
my @attributes = $obj.^attributes; @attributes[0].set_value($obj, $new_value); 05:12
lookatme moritz, oh thanks, I will try that 05:13
05:14 mcmillhj left 05:25 Cabanossi left 05:26 AndroUser2 left, Cabanossi joined, AndroUser2 joined 05:31 mcmillhj joined, AndroUser2 left, AndroUser2 joined 05:35 mcmillhj left 05:36 parv joined 05:40 BenGoldberg left 05:42 mcmillhj joined 05:43 araujo left 05:46 mcmillhj left 05:47 xtreak joined 05:53 domidumont joined 05:58 domidumont left 05:59 domidumont joined 06:01 troys is now known as troys_ 06:04 nadim joined 06:11 lowbro joined, lowbro left, lowbro joined, jonas2 joined 06:12 fatguy left 06:18 cyphase left 06:23 cyphase joined 06:32 AndroUser2 left, AndroUser2 joined 06:40 thundergnat left
nadim timotimo: good morning, I asked a few days ago but I may have missed the answer. we were talking about dumping data with ddt and you asked about folding in a terminal. I had a follow up question: where do you want it? in some curses interface for user interaction or programatically folded and dumped on stdout? 06:45
06:50 troys_ is now known as troys 06:51 AlexDaniel joined 06:55 darutoko joined 06:58 troys left
AlexDaniel feels stupid about github.com/perl6/doc/issues/1338 07:03
yoleaux 01:51Z <[Coke]> AlexDaniel: - perl6/doc now has a doubled-word test.
AlexDaniel I shouldn't doubt that these things are possible 07:04
[Coke]++
07:05 mr-foobar left 07:06 mr-foobar joined 07:23 parv left 07:25 espadrine_ joined 07:34 mr-foobar left 07:37 mr-foobar joined 07:39 mcmillhj joined 07:41 lookatme left 07:42 TEttinger left
Voldenet m: my Promise[Int] $i; 07:43
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while parameterizing Promise
at <tmp>:1
Exception details:
5===SORRY!5=== Error while compiling <tmp>
Promise cannot be parameterized
at <tmp>:1
------> 3my P…
07:44 simonm joined, mcmillhj left
Voldenet Hm, is there some sane way to parametrize a Promise? 07:44
07:48 rindolf joined 07:50 mcmillhj joined
AlexDaniel Voldenet: what exactly are you trying to do? 07:52
that is, why do you need a parameterized promise?
Voldenet I want to ensure that the consumer gets the value of expected type 07:53
AlexDaniel what about something like this? 07:55
m: subset IntPromise of Promise where *.result ~~ Int
camelia ( no output )
AlexDaniel not sure if this will have any unwanted subsequences 07:56
depends on how you use it, I guess 07:57
07:58 zakharyas joined, mcmillhj left 08:03 lookatme joined 08:06 mr-foobar left 08:07 xtreak left 08:08 xtreak joined 08:10 mr-foobar joined 08:12 xtreak left
lookatme m: use NativeCall; class foo is repr('CStruct') { has uint8 $.a; }; say nativesizeof(foo); 08:18
camelia 1
08:19 dakkar joined
lookatme m: use NativeCall; class foo is repr('CStruct') { has uint8 $.a; }; class bar is repr('CStruct') { has foo $.a; } say nativesizeof(bar); 08:20
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 3 bar is repr('CStruct') { has foo $.a; }7⏏5 say nativesizeof(bar);
expecting any of:
infix
inf…
lookatme m: use NativeCall; class foo is repr('CStruct') { has uint8 $.a; }; class bar is repr('CStruct') { has foo $.a; }; say nativesizeof(bar);
camelia 8
08:21 xtreak joined
lookatme m: use NativeCall; class foo is repr('CStruct') { has uint8 $.a; }; class bar is repr('CStruct') { HAS foo $.a; }; say nativesizeof(bar); 08:23
camelia 1
08:33 itaylor57 left 08:36 thundergnat joined 08:37 xtreak left 08:38 xtreak joined, xtreak left, xtreak joined
Voldenet AlexDaniel: isn't *.result blocking a thread in this case? 08:39
08:40 wamba left, itaylor57 joined 08:44 AlexDaniel left 08:47 espadrine_ left 08:51 xtreak left 08:52 xtreak joined 08:53 olinkl_ joined 08:54 diego_k joined, dustinm`_ joined 08:55 xtreak left, avalenn_ joined, itaylor57_ joined, xtreak joined, tarski_ joined 08:56 avarab joined, avarab left, avarab joined, bonsaikitten joined, itaylor57_ left, obarb joined, huf_ joined, nowan_ joined 08:57 itaylor57_ joined, perigrin_ joined, itaylor57_ left 08:58 webart joined 08:59 exodist_ joined 09:00 abruanese_ joined, Voldenet_ joined 09:01 itaylor57 left, curan left, Exodist left, nowan left, xiaomiao left, huf left, brabo left, avalenn left, olinkl left, tarski left, avar left, abruanese left, diegok left, perigrin left, go|dfish left, jsimonet left, dustinm` left, Voldenet left, gtodd left, obarb is now known as brabo, olinkl_ is now known as olinkl, exodist_ is now known as Exodist, abruanese_ is now known as abruanese, curan joined 09:04 tarski_ left 09:05 Voldenet_ is now known as Voldenet, Voldenet left, Voldenet joined
lizmat . 09:06
09:06 mr-foobar left
lookatme Is there a way use NativeCall get a CStruct variable on the stack without a help function 09:06
Such as `struct foo { int a; }; struct foo create(int a) { struct foo f; f.a = a; return foo; };`. This is code c side 09:08
09:08 mr-foobar joined, jsimonet joined
lookatme use NativeCall; class Foo is repr<CStruct> { has int32 $.a; submethod TWEAK() { $!a = int32.new(5); }; }; sub create_foo(int32) returns Foo is native("./libuc.so") { * }; say create_foo(int32.new(65)).a; 09:08
09:08 go|dfish joined
lookatme Here is Perl 6 side 09:08
This code will segment fault
rakudo version: This is Rakudo version 2017.05 built on MoarVM version 2017.05 09:09
struct foo { int a; }; struct foo create_foo(int a) { struct foo f; f.a = a; return foo; }; 09:10
jnthn lookatme: No
lookatme Noway ?
09:10 AndroUser2 left 09:11 AndroUser2 joined
jnthn lookatme: No, there's not a way, and I'm not even sure if the libraries we depend on to do the heavy lifting of FFI support it either. 09:13
zengargoyle gist.github.com/zengargoyle/5a14f0...0e9b85a22a
i'm still taking votes whether this is a bug or not.
lookatme jnthn, oh thanks 09:14
zengargoyle stategically awaiting people who might have an opinion to show up. :)
jnthn I have a vague recollection of the ABI not being specified for this and so it being potentially compiler specific also...
lookatme How to handle this case, Is it feasible allocate same size memory in Perl 6 side ? 09:19
09:23 wamba joined
jnthn I can't really think of a workaround for it short of writing some kind of C wrapper library and building it with LibraryMake or similar 09:24
09:25 Cabanossi left 09:26 Cabanossi joined 09:30 Actualeyes left
nine jnthn: Got to know some very nice Czech people yesterday. Though before I try that again, I'll have to train my liver some more for those Czech beers ;) niner.name/pictures/2017-05-30%20Ko...211216.jpg 09:30
jnthn :-) 09:31
There's no shortage of nice beer in .cz :)
09:32 grondilu joined
lookatme jnthn, yeah, write a help function would works. I think I find a better way to solve that. I gotta write some test for that. 09:33
09:34 itaylor57 joined, kyan left
zengargoyle jnthn: any thoughts on the weirdness i see? 09:38
jnthn zengargoyle: Looks like a bug at first glance 09:41
zengargoyle jnthn: thanks, it just thought it should work but maybe there was some bit of ~~ and regex complications that would explain why it doesn't or can't. 09:44
jnthn nine: Oh, and having beer gets nicer here today for those who don't smoke...the ban on smoking in pubs/restaurants begins today. :)
zengargoyle: I'm pretty sure that * ~~ /<$rx>/ should be working right 09:45
nine jnthn: oooh, that's nice. It's still 11 months till the real ban on smoking begins in Austria
jnthn (as in, should give equivalent results to writing a closure out by hand)
nine: Oh wow, I forgot that Austria still hadn't do that
*done 09:46
zengargoyle i'll rakudobug it then.
jnthn zengargoyle: Thanks
zengargoyle always seems to bump into the things that don't work, enough to have a bit of a complex about it. :) 09:47
nine jnthn: yeah, what we have now is a typical Austrian useless compromise. The innkeeper's lobby prevented an outright ban, so we ended up with a dysfunctional seggregation between smoking and non-smoking areas. Now they are complaining about the high construction cost for that "solution". 09:49
zengargoyle in Califonia, US we have places to move to family owned and operated and/or number of employee's < limit to get around the restriction. 09:52
09:55 AlexDaniel joined
AlexDaniel m: my @foo; @foo.push: { ‘hello world’ }; @foo»()' 09:56
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3o; @foo.push: { ‘hello world’ }; @foo»()7⏏5'
expecting any of:
infix
infix stopper
statement end
statemen…
AlexDaniel m: my @foo; @foo.push: { ‘hello world’ }; @foo»()
camelia Weird node in analyze: NQPMu
===SORRY!===
Unknown QAST node type NQPMu
jnthn m: my @foo; @foo.push: { ‘hello world’ }; @foo».() 09:57
camelia ( no output )
09:58 lowbro left, committable6 left, committable6 joined, ChanServ sets mode: +v committable6
AlexDaniel jnthn: sure, but that's still a bug 09:58
10:00 domidumont left 10:05 lookatme left 10:18 xtreak left 10:22 skids joined
zengargoyle does anybody have favorite github CLI tool(s)? 10:37
10:49 skids left 10:52 skids joined 10:57 skids left 11:01 AndroUser2 left 11:03 curt_ joined 11:05 pmurias joined 11:06 margeas joined 11:13 skids joined 11:20 domidumont joined 11:22 domidumont left 11:51 aborazmeh joined, aborazmeh left, aborazmeh joined 11:58 pmurias left 11:59 pmurias joined
Geth doc: 812e3c9e06 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6
Fix rendering; dogbert17++
12:04
12:13 Zoffix joined 12:14 Zoffix left 12:19 Zoffix joined
Zoffix \o 12:19
How to specify a META6.json dep to mean "this version or any higher?" 12:20
I tried adding `"Testo:ver('1.002001+')"` to `test-depends` but it's still installing 1.002001, even though 1.002002 is available
(and if I specify "Testo:ver('1.002002')", it installs 1.002002) 12:21
Basically, the goal is block out too-old, buggy versions 12:22
pmurias do we have a "semver compatible" like npm does? 12:24
^1.2.3 is >=1.2.3 < 2.0.0 in npm
Zoffix The + makes it smartmatch right 12:25
m: say v1.2 ~~ v1.1
camelia False
Zoffix m: say v1.2 ~~ v1.1+
camelia True
Zoffix It's just appears to match in wrong order, so 1.002001 gets matched first
12:27 andrewalker left
pmurias Zoffix: isn't it just finding the thing in the cache that matches> 12:28
(wild guess, haven't checked)
Zoffix I don't know what it's doing. 12:29
but it's not doing what I want it to do :/
Or rather, I don't even know if it's supported. But I tried adding :ver<> to make it want a specific version and that worked, but now I want it to want "this or higher" version. 12:30
Which is probably what's it's doing... though more specifically I want it to want "highest version that's at least this"
12:31 raschipi joined
Zoffix heh 12:36
Zoffix spots "# TODO: deprecate usage of --depsonly" in zef's source
I use it all over the place and IIRC the new travis docs also use it
pmurias I'm not sure that specifing something like "the highest version that exists but which is at least this" in the META6.json itself makes sense
seems like more of a zef policy 12:37
Zoffix I just told the sense
lizmat Zoffix: what output do you get with RAKUDO_MODULE_DEBUG
?
perhaps that gives a pointer ? 12:38
Zoffix In fact, it's the default policy if you omit the :ver() and assume "at least this" means version zero
nine Zoffix: maybe try --/cache 12:40
Zoffix 1 sec (I'm on slow network so this is taking ages)
pmurias without a version it's not safe to assume any old one will work 12:41
Zoffix pmurias: maybe not, but if you already have version 2.1 installed, the installer won't go out to try and install version 2.2 12:42
nine Zoffix: and why should it? You told it, 2.1 is fine. 12:43
Zoffix The only difference in my case is I *know* version 2.1 is unsafe, so I want the installer to keep getting the latest versions, as it was doing, except also upgrade if version is 2.1
nine: don't think cache is the issue since just running `zef install Testo` installs 1.002002 12:44
12:46 _4d47 joined
Zoffix lizmat: here's the output. Don't see the extra output mention 1.002001 nor 1.002002 fpaste.scsys.co.uk/563850 12:48
lizmat perhaps that's the clue: there's no test for version at all yet ? 12:49
Zoffix Buf I specify Testo:ver('1.002002') it installs it and before it got pushed to the ecosystem, told me it couldn't find it 12:50
12:51 pilne joined
lizmat installing != loading ? 12:51
just brainstorming
_4d47 hello everybody, small question, is it possible to specify a method always returns self in the signature, eg thinking --> self 12:52
Zoffix _4d47: nope
lizmat NYI I would say :-) 12:53
Zoffix Yeah :)
_4d47 Zoffix: okay thanks, i'll keep that return then :)
Zoffix _4d47: you don't need to explicitly write `return`. method foo { self } is sufficient 12:54
12:54 mcmillhj joined
Zoffix .ask ugexe is there a way to specify "highest version above N" as a prereq in META6.json? :ver('1.002001+') seems to install 1.002001, even though 1.002002 is available: irclog.perlgeek.de/perl6/2017-05-31#i_14665569 12:57
yoleaux Zoffix: I'll pass your message to ugexe.
Zoffix removes version limit for now...
Thanks all \o
12:57 Zoffix left 13:00 curan left 13:01 cdg joined 13:07 mr-foobar left 13:08 mr-foobar joined 13:11 Khisanth left 13:14 andrewalker joined
zengargoyle ZofBot: did you try the 'update' of zef? i was wondering about how slow it was on my dsl and if it cached information or not. 13:16
i don't know if it updates on an interval or querries the net each time or what... but it does have an 'update' command. 13:18
13:18 rightfold joined
zengargoyle darn ZofBot: meant Zoffix. 13:19
13:25 Khisanth joined 13:33 astj_ left, astj joined
pmurias .ask Zoffix do you things such a requirement even makes sense, the 1.002001 doesn't stop working when 1.002002 becomes available 13:37
yoleaux pmurias: I'll pass your message to Zoffix.
13:38 astj left, araraloren joined, Zoffix joined
raschipi Zoffix has his own bot that delivers messages with his name on it for him. 13:38
Zoffix zengargoyle: it's a day-old install
yoleaux 13:37Z <pmurias> Zoffix: do you things such a requirement even makes sense, the 1.002001 doesn't stop working when 1.002002 becomes available
araraloren evening <_< 13:39
Zoffix pmurias: right, but neither does it get any new features or bug fixes. I may as well never update the Testo module, since the updates would never get installed
13:40 Cabanossi left
Zoffix pmurias: so my only two options: don't specify the version, and risk users with an already-installed Testo module receive a bug, which, and while it's not currently the case, could be a serious security bug. Or... to keep updating N+ modules each time a new prereq gets released 13:41
zengargoyle Zoffix: the update is Update package indexes for repositories .... it may not auto update indexes unless asked for a specific not found verstion..... if it actually caches repository information. .... my thinking anyway.
13:41 Cabanossi joined
Zoffix Fuck, I don't think my requirement is all that crazy: don't install old, buggy versions is the crux of it 13:41
zengargoyle: the version isn't unfound. It gets installed if I don't specify the `+` 13:42
pmurias: Perl 5 has this versioning by default. `use Mojolicious 7.30` will happily accept 7.31 and specifying Mojolicious => 7.30 in meta file will install 7.31 if it's avaiable 13:43
zengargoyle even if it's already installed? i thought zef told me i already installed something if any something was installed.
pmurias Zoffix: does zef choose the older version if none are already installed/fetched? 13:44
Zoffix And I appreciate that we have more complex versioning scheme that will let apps to actually specify 7.30 when it's the version the app targets, but we also need to target this IMO much more common case of "latest version that's at least N" 13:45
pmurias: yes, that's exactly my problem
zengargoyle ah, think i get you maybe. if ask for 2+ you get 2 but if ask for nothing you get 3.
Zoffix It would've been fine if it refused to update if the matching version were already installed, but it actually installs an older version when none are installed 13:46
pmurias that doesn't seem desirable
Zoffix nope
zengargoyle: right: don't spec version => install 3; spec 3 => install 3; spec 2+ => install 2. I want it to install 3 in case of 2+ (or install nothing if 2 is *already installed*) 13:47
zengargoyle like 2+ is 2+? and we need a greedy version of +
Zoffix My understanding of 2+ as in smartmatch 13:48
zengargoyle gotcha
Zoffix m: say 3 ~~ 2+
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing required term after infix
at <tmp>:1
------> 3say 3 ~~ 2+7⏏5<EOL>
expecting any of:
prefix
term
Zoffix m: say v3 ~~ v2+
camelia True
zengargoyle so it needs to search from highest version down to lowest instead of lowest to highest (zef that is)
Zoffix And I think what happens is zef has a bunch of versions and before asking if 3 is acceptable, asks if 2 is, and gets a Yes, and installs it 13:49
pmurias having an option to use the oldest version of stuff is sometimes helpfull but hopefully the new versions of stuff are improved
zengargoyle we need a +> going up and a +< going down. :P 13:50
Zoffix :)
13:51 avarab is now known as avar
moritz ZefTM, the Enterprise Module Manager: Installs the Auldest Module Possible! 13:51
13:52 devmikey joined
zengargoyle so --enterprise and --/enterprise flag for zef. :P 13:53
or just --janeway
zengargoyle decides not to think about if ver can contain code.... (2.1 ... *)[*-1] 13:59
i want NativeCall to sorta work the same way. OpenSSL just failed because i don't have libssl.so but i have 3 other versions of libssl.so.ver available. pich the highest if not specified??? 14:01
14:02 abruanese left
zengargoyle it ends up being a random guess for me anyway picking which to link to libssl.so to make things work. 14:03
Zoffix m: grammar { token TOP { $<value>=[<.token>*?] $ }; token token { <-restricted +name-sep> }; token restricted { < : > }; token name-sep { < :: > } }.parse(q|(2.1 ... *)[*-1]|).say 14:04
camelia 「(2.1 ... *)[*-1]」
value => 「(2.1 ... *)[*-1]」
Zoffix zengargoyle: well, zef will parse it, but I don't know if it'll do anything with it :)
14:05 khw joined, mcsnolte joined
Zoffix "Failed to update cpan mirror No such method 'IO' for invocant of type 'Any'" 14:11
zengargoyle my other burning zef question was cpan ... i keep a local pass-thru cpan proxy on home network but haven't tested if it works for p6 yet. 14:15
does wonders for cpanm installs...
Zoffix Here. I distilled my problem to a one-liner: `zef uninstall Testo; zef install 'Testo:ver<1.002001+>'` 14:16
That installs 1.002001, despite 1.002002 being availabl.e
Zoffix digs through zef's sauce
zengargoyle < Inf would be cool. 14:19
Zoffix Neat. You can make your own recommendation manager. 14:21
zef++
zengargoyle cool 14:22
14:25 Cabanossi left 14:26 Cabanossi joined
[Coke] wonders if anyone has an idea for github.com/perl6/doc/issues/1352 - I am thinking I'm going to cheat here and change any default values in a signature to Nil when compiling it to test. Seem reasonable? 14:27
Or, should we not show the hidden variable in the doc? 14:28
s/hidden/attribute/
Zoffix Interesting. zef uninstall Testo; zef --/cached install 'Testo:ver<1.002001+>' says No candidates found matching identity: Testo:ver('1.002001+'). So it installs 1.002001 despite 1.002002 being available, but only if cache is enabled :S
14:30 AlexDaniel left
Geth doc: d6e7d04957 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6
Remove use of attributes in method sig

Fixes #1352
14:30
Zoffix [Coke]: the easy way out methinks. Since usually the description would mention defaults. It was just in this case it's a giant routine that takes a billion args, so I added them to sig 14:31
[Coke] Zoffix++ 14:32
Zoffix & 14:33
14:33 Zoffix left
Geth doc: a547aff15d | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6
Remove needless sentence

The previous sentence already says params default to attrs
14:46
14:55 g4 left 15:14 KDr2 joined 15:23 Cabanossi left 15:25 mr_ron joined 15:26 Cabanossi joined 15:29 AlexDaniel joined
ugexe Zoffix: "Testo:ver(v1.002001+)" maybe 15:30
yoleaux 12:57Z <Zoffix> ugexe: is there a way to specify "highest version above N" as a prereq in META6.json? :ver('1.002001+') seems to install 1.002001, even though 1.002002 is available: irclog.perlgeek.de/perl6/2017-05-31#i_14665569
15:31 aborazmeh left 15:33 cdg_ joined
ugexe i'll check into it more tonight, keep me updated if you figure out anything else 15:34
15:35 cdg left 15:37 salva left 15:38 salva joined
ugexe m: say Version.new(v1.002002+) ~~ Version.new(v1.002001) 15:42
camelia False
ugexe hmm
perigrin_ heh/w 51 15:46
bah
15:47 kyan joined
titsuki_ bisect: say Set (|) Set; 15:53
15:53 hythm left
bisectable6 titsuki_, Bisecting by output (old=2015.12 new=160de7e) because on both starting points the exit code is 0 15:53
titsuki_, bisect log: gist.github.com/9f9f7d23c28a5855a5...c2ed67e6a7
titsuki_, (2017-05-13) github.com/rakudo/rakudo/commit/40...a06860bda1
15:55 Cabanossi left 15:56 Cabanossi joined, lichtkind left 16:03 freeze joined, _4d47 left 16:09 lichtkind joined, araraloren left, setty1 joined
Geth ecosystem: whity++ created pull request #344:
add Log distribution
16:10
16:21 domidumont joined 16:23 Cabanossi left, jonas2 left 16:26 Cabanossi joined 16:29 [particle] left 16:30 [particle] joined 16:31 CacoS joined
cxreg an interesting story from Go, may be relevant here 16:32
www.weave.works/blog/linux-namespa...-don-t-mix 16:33
Geth ecosystem: 4f2bd49ccb | (André Brás)++ (committed by Zoffix Znet) | META.list
add Log distribution (#344)
16:35
16:37 robertle joined
perlpilot the code renders badly 16:37
cxreg I think the lesson here is that using worker threads without insight to kernel namespaces means that things might be scheduled with the wrong set of masks, so probably rakudo would have the same problem in the same scenario 16:40
16:41 dakkar left 16:46 wamba left
jnthn cxreg: Yes, having a thread pool managed automagically for you does not go well with various bits of systems programming. 16:49
16:49 zakharyas left
jnthn cxreg: That's why Perl 6 also provides the primitive stuff like Thread, Lock, Semaphore, etc. which are thin wrappers around the pthreads (or Windows equivalent) things. 16:49
So you can have the tighter control when you need it. 16:51
16:51 AlexDaniel left
cxreg jnthn: fair point, and afaict Go does not offer those low level options 16:52
jnthn Of course, then people have to know when they should do that... :)
cxreg right. might be worth a blog post or a docs mention or something.
"Why Perl 6 is better than Go nyah nyah" 16:53
jnthn Indeed.
haha ;P
jnthn would be a little surprised if Go didn't provide such escape hatches 16:54
raschipi cxreg: jnthn is also fixing the MoarVM pipeworks so that calling the libC primitives directly unsing NativeCall works too.
cxreg jnthn: afaict it really does not
16:55 mr_ron left
cxreg jnthn: it totally abstracts scheduling for you, sometimes to your detriment 16:55
jnthn Ah, wow
cxreg (this new situation may affect that, however)
jnthn Yeah, then it's...tricky.
cxreg considering that.... docker is in Go 16:56
haahaha
the conclusion of Weave was to spawn a new OS process every time they need to assert something about cgroups 16:57
jnthn I'm surely missing details, but I wonder if finding code running in the wrong namespace couldn't be a path to security vulns in some code
cxreg I was thinking the same 16:58
sounds like a 0day waiting to happen
jnthn That said, I figure the wisdom with docker is that yes, you get isolation in the "clean environment" sense, but should be extremely wary about relying on that isolation to provide serious security. 17:00
ilmari cxreg: the code in that go article seems to have had one round too many of syntax highlighting applied to it 17:11
17:13 fatguy joined
raschipi I knew golang was verbose, but not THAT much... 17:13
fatguy i need to watch write/create/modify activity on directory recursively, how can i do that ? 17:16
17:19 Zoffix joined
Zoffix fatguy: modules.perl6.org/ website offers a bunch of handy modules. When you need to do something it can be helpful to check if there's a module for it 17:19
buggable: eco Recursively watch a directory 17:20
"No such method 'new' for invocant of type 'IO::Socket::SSL' in method get-connection at"
fatguy: modules.perl6.org/#q=IO%3A%3ANotifi...ARecursive
17:20 buggable left
fatguy Zoffix: thanks ! 17:20
17:21 buggable joined, ChanServ sets mode: +v buggable
Zoffix So looks like it's unsafe to reinstall Perl 6/modules with running programs. They don't keep working 17:21
buggable: eco Recursively watch a directory
buggable Zoffix, IO::Notification::Recursive 'Recursively watch a directory and any subdirectories': github.com/perlpilot/p6-IO-Notific...-Recursive
Zoffix there we go
Geth: uptime 17:22
Geth Zoffix, 2 weeks, 3 days, 2 hours, 31 minutes, and 49 seconds
Zoffix *shrug*
17:22 Zoffix left, TEttinger joined 17:25 skids left 17:38 Cabanossi left 17:41 Cabanossi joined 17:42 cdg_ left 17:52 wamba joined 17:53 KDr2 left 17:56 espadrine_ joined 18:03 Xliff left 18:04 Xliff joined
Geth doc: 68e8cc4a2c | (Jan-Olof Hendig)++ | doc/Language/io.pod6
printf is a method of IO::Handle
18:05
18:11 itaipu joined 18:12 huf_ is now known as huf
rightfold Hi 18:37
18:38 mr-foobar left 18:41 CacoS left 18:42 CacoS joined 18:44 mr-foobar joined 18:46 simonm left
raschipi hello 18:48
rightfold I am using libpq with nativecall 19:00
However on Windows it's libpq.dll 19:01
Is there a nicer way than doing this? constant LIBPQ = $*DISTRO.is-win ?? "libpq" !! "pq"; 19:02
And then sub PQdescribePrepared(Pointer[void], Str --> Pointer[void]) is native(LIBPQ) {*}
19:02 itaipu left
rightfold Windows lookup doesn't prepend "lib" but Linux does 19:06
19:13 darutoko left, nowan_ left 19:14 cdg joined
geekosaur yes, because some unix-derived dlls prepend lib but other esp. native dlls don't 19:14
unix has a convention, windoes doesn't
19:14 nowan joined
rightfold Ok 19:20
So it's not a bug in rakudo but a difference in platform conventions; much like / vs \ for paths 19:21
Thanks geekosaur
geekosaur right,e xcept in this case there *is* no standard convention
so every lib does its own thing :/
so if you enforce "lib" you lose over half the DLLs out there, but if you don't then you need to add it manually to some unix-origin DLLs 19:22
rightfold I'll keep using this constant definition 19:23
19:24 nowan left 19:25 nowan joined 19:31 itaipu joined 19:33 domidumont left 19:36 AlexDaniel joined
Geth doc: 3884abb991 | (Jan-Olof Hendig)++ | doc/Language/syntax.pod6
Added a few missing say statements to the examples
19:39
19:40 jameslenz joined 19:53 pmurias left 20:11 araujo joined 20:16 kaare_ joined, kaare__ left
pilne i know the current scripting languages (python/ruby/perl5) pretty much make up all of the infosec/pentesting uses, with the majority outside of metasploit being python (from what i've gathered), but realistically is there anything that would hamper perl6 (via rakudo) being used to implement these kinds of tools? 20:17
20:20 ufobat left 20:21 hythm joined 20:24 Cabanossi left, pmurias joined
raschipi pilne: I/O isn't very developed yet. 20:25
pilne gotcha, is this more on the moarvm side or the perl6 side? 20:26
20:26 Cabanossi joined
raschipi Both. Moar is being cleaned and Perl6 is being refactored. 20:27
20:30 itaylor57 left
pilne i think i found the right word to describe how programming in perl6 feels to me (as i'm learning it) compared to other languages "unendcumbered" 20:31
dammint... unencumbered*
20:32 skids joined
AlexDaniel
.oO( cucumber what? )
20:36
pilne: but yes, I agree
20:36 itaylor57 joined 20:37 mcmillhj left
dwarring un-end-cumbered :- not like ruby 'def' ... 'end' 20:37
jnthn Nobody *did* a cucumber port to Perl 6 yet afaik, so the language is actually uncucumbered :P
pilne lol
20:38 mr-foobar left 20:40 mr-foobar joined
raschipi buggable: eco cucumber 20:41
buggable raschipi, Nothing found
raschipi yep
Perl6 is uncucumbered
AlexDaniel greppable6: cucumber 20:42
jnthn Modules welcome :)
greppable6 AlexDaniel, gist.github.com/75a600bab1d3566988...f0fc61edca
moritz buggable: eco ruby
buggable moritz, Found 4 results: Sparrowdo::Rvm, Sprockets, Inline::Ruby, Sparrowdo::Ruby::Bundler. See modules.perl6.org/#q=ruby
moritz hey, we have Inline::Ruby
20:43 CacoS left
pilne between those, and the js and jvm backents... perl6 could literally be the one language to rule them all! 20:43
20:46 mcmillhj joined
moritz we could use a WebAssembly backend :-) 20:48
AlexDaniel
.oO( does it mean we will have a new core dev very soon? :) )
20:49
pilne me? i'd have to learn a lot in some defenition of soon to go beyond "learning" perl6, for better or worse, i've been a python guy for most of the programming i've actually understood (attempted to learn java and c++ with bad instructors around y2k, still have the mental scars). 20:50
20:51 raschipi left
pilne so i'm only barely familiar with little bits of perl, and most of that is regexpy stuff 20:51
20:56 geekosaur left, itaipu left 20:58 geekosaur joined 20:59 setty1 left 21:00 itaipu joined
AlexDaniel buggable: tag LHF 21:01
buggable AlexDaniel, There are no tickets tagged with LHF
AlexDaniel :O
pilne ? 21:05
21:08 mr-foobar left 21:09 mr-foobar joined 21:10 mcmillhj left 21:11 robertle left 21:14 itaipu left
AlexDaniel pilne: usually there are some LHF (low-hanging fruit) tickets. For new contributors, this is a great way to start :) 21:15
pilne gotcha 21:19
MasterDuke buggable: tag LTA 21:21
buggable MasterDuke, There are 166 tickets tagged with LTA; See perl6.fail/t/LTA for details
yoleaux 18:16Z <Zoffix> MasterDuke: do you think it's possible to improve the "Too many positionals" error to include the subname/invocant+method; similar to how the methodcalls on :D/:U were improved recently? Part of rt.perl.org/Ticket/Display.html?id...xn-1461759 21:22
MasterDuke pilne: the LTA tickets often are not too complicated and are a good place to start 21:23
pilne gotcha
21:34 xinming_ left, xinming joined 21:36 Rawriful joined 21:40 xinming left 21:41 xinming joined 21:42 espadrine_ left 21:45 nadim left, rindolf left 22:00 pmurias left 22:01 pmurias joined 22:07 dogbert17 left, pochi_ joined, dogbert17 joined 22:08 mr-foobar left 22:09 SHODAN left 22:10 pochi left, cpage_ left 22:11 mr-foobar joined, Kaffe left, SHODAN joined 22:12 pmurias left 22:14 devmikey left
pilne anyone else found a good color theme for perl6 in vscode? or is the syntax way better supported in atom? 22:17
Geth ecosystem: a01b64534d | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Remove Some of Zoffix's Modules (repos will remain)

WWW::Google::Time — Google bans for this now — github.com/zoffixznet/perl6-WWW-Google-Time Failer — useless — github.com/zoffixznet/perl6-Failer/ M.pm6 — useless — github.com/zoffixznet/perl6-M SPEC::Func — stupid — github.com/zoffixznet/perl6-SPEC-Func ווו.pm6 — stupid — github.com/zoffixznet/perl6-666 ... (5 more lines)
22:27
ecosystem: aa5cf281d9 | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Actually remove HNY module
22:28
22:34 r3m left 22:35 r3m joined 22:36 corishev joined
japhb Zoffix, I'm pretty sure you have now deprecated more ecosystem modules than I have committed to. That's a bit disturbing. 22:38
22:39 mr-foobar left 22:41 mr-foobar joined 22:45 mcmillhj joined, Kaffe joined 22:51 cpage_ joined, mcmillhj left 22:53 sivoais left, corishev left, corishev joined, Cabanossi left 22:54 sivoais joined 22:56 Cabanossi joined 22:59 corishev left
samcv :O 23:19
23:19 mcmillhj joined 23:23 lichtkind left 23:24 Cabanossi left 23:26 Cabanossi joined, mcmillhj_ joined 23:27 Rawriful left, mcmillhj left, cdg left 23:28 wamba left 23:38 mcmillhj joined 23:40 astj joined 23:42 mcmillhj left 23:49 AlexDaniel left 23:51 margeas left, margeas joined 23:56 margeas left 23:57 astj left, BenGoldberg joined