Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-05-31

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 mcmillhj_ joined #perl6
00:07 Geth ¦ doc: 981ace3664 | (Will "Coke" Coleda)++ | xt/duplicates.t
00:07 Geth ¦ doc: Add a test for duplicate words
00:07 Geth ¦ doc:
00:07 Geth ¦ doc: Addresses #1338
00:07 Geth ¦ doc: review: https://github.com/perl6/doc/commit/981ace3664
00:07 Geth ¦ doc: f2cf0ba26a | (Will "Coke" Coleda)++ | 6 files
00:07 Geth ¦ doc: Remove duplicated words in docs.
00:08 Geth ¦ doc:
00:08 Geth ¦ doc: Fixes #1338, passes xt/duplicate.t
00:08 Geth ¦ doc: review: https://github.com/perl6/doc/commit/f2cf0ba26a
00:09 mr-foobar joined #perl6
00:15 AndroUser2 joined #perl6
00:41 AndroUser2 joined #perl6
00:53 zacts joined #perl6
01:04 lookatme joined #perl6
01:05 AndroUser2 joined #perl6
01:06 lookatme morning .o/
01:07 mr-foobar joined #perl6
01:23 Actualeyes joined #perl6
01:38 BenGoldberg Good evening.
01:46 Geth ¦ doc/master: 4 commits pushed by (Will "Coke" Coleda)++
01:46 Geth ¦ doc/master: 06251916fc | remove trailing whitespace
01:46 Geth ¦ doc/master: a0aea7f7c9 | minor update to avoid spelling issue
01:46 Geth ¦ doc/master: 814a844820 | don't try to compile text
01:46 Geth ¦ doc/master: f8eb958f6c | Learn/sort words
01:46 Geth ¦ doc/master: review: https://github.com/perl6/doc/compare/f2cf0ba26a...f8eb958f6c
01:51 [Coke] .tell AlexDaniel - perl6/doc now has a doubled-word test.
01:51 yoleaux [Coke]: I'll pass your message to AlexDaniel.
01:57 Cabanossi joined #perl6
02:04 zengargoyle does anybody know off-hand what code is behind the modules.perl6.org/todo pages?
02:13 MasterDuke zengargoyle: tadzik just recently added that feature, you should be able to find his commits here https://github.com/perl6/modules.perl6.org
02:18 zengargoyle MasterDuke: thanks much
02:19 MasterDuke np
02:34 raiph I rakudobugged RT#131406 but https://stackoverflow.com/questions/44266457/array-of-structs-as-an-attribute-of-a-perl-6-nativecall-struct remains unanswered. Goodnight #perl6.
02:41 mcmillhj joined #perl6
02:41 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:45 zengargoyle and it's Perl5 at that :)
02:52 noganex joined #perl6
03:01 mcmillhj joined #perl6
03:11 Cabanossi joined #perl6
03:22 Actualeyes left #perl6
03:22 mcmillhj joined #perl6
03:25 AndroUser2 joined #perl6
03:31 fatguy joined #perl6
03:33 mcmillhj joined #perl6
03:37 mr-foobar joined #perl6
03:43 mcmillhj joined #perl6
03:52 mcmillhj joined #perl6
03:56 Xliff joined #perl6
03:56 Xliff \o
03:56 Xliff Hi-Low
03:56 Cabanossi joined #perl6
03:57 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?
04:04 wamba joined #perl6
04:06 mr-foobar joined #perl6
04:12 llfourn Xliff: outside of the scope of the require statement?
04:13 llfourn m: my &sub = { require Test <&output>; &output }; say &sub;
04:13 camelia rakudo-moar 5e3393: OUTPUT: «-> ;; $_? is raw { #`(Block|53050232) ... }␤»
04:14 llfourn m: my &sub = do { require Test <&output>; &output }; say &sub;
04:14 camelia rakudo-moar 5e3393: OUTPUT: «Trying to import from 'Test', but the following symbols are missing: &output␤  in block <unit> at <tmp> line 1␤␤»
04:14 llfourn m: my &sub = do { require Test <&ok>; &ok }; say &sub; #rather
04:14 camelia rakudo-moar 5e3393: OUTPUT: «sub ok (;; Mu | is raw) { #`(Sub|67442136) ... }␤»
04:16 Xliff llfourn: Ah! Thanks. That works for subs, but what about data?
04:16 llfourn data?
04:16 llfourn should work for any kind of variable just use a different sigil
04:16 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 #perl6
04:16 llfourn what is it stored in?
04:16 llfourn a variable?
04:16 Xliff Hash
04:17 llfourn is it exported?
04:17 Xliff Yes
04:17 llfourn my %hash := do { require MyModule <%myhash>; %myhash }; say %hash; # like this then?
04:18 Xliff Yeah. Something like that.
04:18 Xliff However now that I think about it, it might be better to have this dynamic stuff put into an object.
04:18 Xliff It's been a while since I've looked at this project.
04:18 Xliff Was last year, I think.
04:18 llfourn in any case you can get any exported symbol with require using the same method
04:19 geekosaur that is generally better than randomly polluting global namespaces
04:19 Xliff Right. Thanks!
04:19 Xliff geekosaur: Yeah. It is.
04:19 Xliff This was done early in my Perl6 experience where I was still struggling with Perl5Think.
04:32 ufobat joined #perl6
04:37 mr-foobar joined #perl6
04:38 Actualeyes joined #perl6
04:41 Cabanossi joined #perl6
04:44 curan joined #perl6
04:52 lookatme How find a class attribute name with a interpolated string ? Such as "$!a" .
04:52 lookatme In class S { has $.a; }
04:55 moritz lookatme: exactly like that
04:55 moritz m: class A { has $.x; method foo { "x is $!x"}}; A.new(x => 42).foo
04:55 camelia rakudo-moar 5e3393: ( no output )
04:56 lookatme Oh, I mean "\$!a"
04:56 moritz m: class A { has $.x; method foo { "x is $!x"}}; say A.new(x => 42).foo
04:56 camelia rakudo-moar 5e3393: OUTPUT: «x is 42␤»
04:56 lookatme sorry
04:56 moritz of, if you don't want interpolation?
04:56 moritz yes, backslash, or use a different quoting construct
04:57 lookatme I have many attribute such as $.a1 $.a2 ....
04:57 lookatme I want use a for loop access them
04:58 lookatme How to lookup that name in a class method .? just like package name ::("\$bar")
04:58 lookatme m: my $bar = 1; say ::("\$bar")
04:58 camelia rakudo-moar 5e3393: OUTPUT: «1␤»
04:59 mcmillhj joined #perl6
05:00 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 rakudo-moar 5e3393: OUTPUT: «3␤»
05:02 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:03 lookatme I want access them in method of that class
05:03 AndroUser2 joined #perl6
05:03 geekosaur I think I'd still use the accessor in that case; I don't know how you'd access the actual attribute
05:04 lookatme class A { has $.a1; has $.a2; method foo() { #`(name look up)... = 2 for 1 .. 2;  }
05:05 raydiak m: class A {has $.a1 = 5; has $.a2 = 3; method foo () {say self."a$_"() for 1..2; }; }; A.new.foo();
05:05 camelia rakudo-moar 5e3393: OUTPUT: «5␤3␤»
05:05 lookatme Assigned 2 to $!a1 $!a2 ... $!an
05:06 lookatme I need write them, not just access, and I don't want add a `is rw` for them
05:08 moritz any reason not use an array in the first place?
05:08 lookatme No, I want use array with NativeCall, but not support
05:09 lookatme class A is repr('CSturct') { has Pointer[void] @.foo; # not support }
05:10 mcmillhj joined #perl6
05:10 lookatme moritz, I just try to solve this problem :  https://stackoverflow.com/questions/44266457/array-of-structs-as-an-attribute-of-a-perl-6-nativecall-struct
05:11 moritz lookatme: I'm not well-versed with NativeCall. As for programmatically setting attributes, you can go meta
05:12 moritz my @attributes = $obj.^attributes; @attributes[0].set_value($obj, $new_value);
05:13 lookatme moritz, oh thanks, I will try that
05:26 Cabanossi joined #perl6
05:26 AndroUser2 joined #perl6
05:31 mcmillhj joined #perl6
05:31 AndroUser2 joined #perl6
05:36 parv joined #perl6
05:42 mcmillhj joined #perl6
05:47 xtreak joined #perl6
05:53 domidumont joined #perl6
05:59 domidumont joined #perl6
06:04 nadim joined #perl6
06:11 lowbro joined #perl6
06:11 lowbro joined #perl6
06:11 jonas2 joined #perl6
06:23 cyphase joined #perl6
06:32 AndroUser2 joined #perl6
06:45 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:51 AlexDaniel joined #perl6
06:55 darutoko joined #perl6
07:03 * AlexDaniel feels stupid about https://github.com/perl6/doc/issues/1338
07:03 yoleaux 01:51Z <[Coke]> AlexDaniel: - perl6/doc now has a doubled-word test.
07:04 AlexDaniel I shouldn't doubt that these things are possible
07:04 AlexDaniel [Coke]++
07:06 mr-foobar joined #perl6
07:25 espadrine_ joined #perl6
07:37 mr-foobar joined #perl6
07:39 mcmillhj joined #perl6
07:43 Voldenet m: my Promise[Int] $i;
07:43 camelia rakudo-moar 5e3393: OUTPUT: «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 #perl6
07:44 Voldenet Hm, is there some sane way to parametrize a Promise?
07:48 rindolf joined #perl6
07:50 mcmillhj joined #perl6
07:52 AlexDaniel Voldenet: what exactly are you trying to do?
07:52 AlexDaniel that is, why do you need a parameterized promise?
07:53 Voldenet I want to ensure that the consumer gets the value of expected type
07:55 AlexDaniel what about something like this?
07:55 AlexDaniel m: subset IntPromise of Promise where *.result ~~ Int
07:55 camelia rakudo-moar 5e3393: ( no output )
07:56 AlexDaniel not sure if this will have any unwanted subsequences
07:57 AlexDaniel depends on how you use it, I guess
07:58 zakharyas joined #perl6
08:03 lookatme joined #perl6
08:08 xtreak joined #perl6
08:10 mr-foobar joined #perl6
08:18 lookatme m: use NativeCall; class foo is repr('CStruct') { has uint8 $.a; }; say nativesizeof(foo);
08:18 camelia rakudo-moar 5e3393: OUTPUT: «1␤»
08:19 dakkar joined #perl6
08:20 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 rakudo-moar 5e3393: OUTPUT: «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…»
08:20 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 rakudo-moar 5e3393: OUTPUT: «8␤»
08:21 xtreak joined #perl6
08:23 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 rakudo-moar 5e3393: OUTPUT: «1␤»
08:36 thundergnat joined #perl6
08:37 xtreak joined #perl6
08:38 xtreak joined #perl6
08:39 Voldenet AlexDaniel: isn't *.result blocking a thread in this case?
08:40 itaylor57 joined #perl6
08:52 xtreak joined #perl6
08:53 olinkl_ joined #perl6
08:54 diego_k joined #perl6
08:54 dustinm`_ joined #perl6
08:55 avalenn_ joined #perl6
08:55 itaylor57_ joined #perl6
08:55 xtreak joined #perl6
08:55 tarski_ joined #perl6
08:56 avarab joined #perl6
08:56 avarab joined #perl6
08:56 bonsaikitten joined #perl6
08:56 obarb joined #perl6
08:56 huf_ joined #perl6
08:56 nowan_ joined #perl6
08:57 itaylor57_ joined #perl6
08:57 perigrin_ joined #perl6
08:58 webart joined #perl6
08:59 exodist_ joined #perl6
09:00 abruanese_ joined #perl6
09:00 Voldenet_ joined #perl6
09:04 curan joined #perl6
09:04 tarski_ left #perl6
09:05 Voldenet joined #perl6
09:06 lizmat .
09:06 lookatme Is there a way use NativeCall get a CStruct variable on the stack without a help function
09:08 lookatme 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 mr-foobar joined #perl6
09:08 jsimonet joined #perl6
09:08 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 go|dfish joined #perl6
09:08 lookatme Here is Perl 6 side
09:08 lookatme This code will segment fault
09:09 lookatme rakudo version: This is Rakudo version 2017.05 built on MoarVM version 2017.05
09:10 lookatme struct foo { int a; }; struct foo create_foo(int a) { struct foo f; f.a = a; return foo; };
09:10 jnthn lookatme: No
09:10 lookatme Noway ?
09:11 AndroUser2 joined #perl6
09:13 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 https://gist.github.com/zengargoyle/5a14f01a35918f6c3391b90e9b85a22a
09:13 zengargoyle i'm still taking votes whether this is a bug or not.
09:14 lookatme jnthn, oh thanks
09:14 * zengargoyle stategically awaiting people who might have an opinion to show up. :)
09:14 jnthn I have a vague recollection of the ABI not being specified for this and so it being potentially compiler specific also...
09:19 lookatme How to handle this case, Is it feasible allocate same size memory in Perl 6 side ?
09:22 wamba joined #perl6
09:24 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:26 Cabanossi joined #perl6
09:30 Actualeyes left #perl6
09:30 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 ;) http://niner.name/pictures/2017-05-30%20Kolove%C4%8D/IMG_20170530_211216.jpg
09:31 jnthn :-)
09:31 jnthn There's no shortage of nice beer in .cz :)
09:32 grondilu joined #perl6
09:33 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:34 itaylor57 joined #perl6
09:38 zengargoyle jnthn: any thoughts on the weirdness i see?
09:41 jnthn zengargoyle: Looks like a bug at first glance
09:44 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. :)
09:45 jnthn 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
09:45 jnthn (as in, should give equivalent results to writing a closure out by hand)
09:45 jnthn nine: Oh wow, I forgot that Austria still hadn't do that
09:46 jnthn *done
09:46 zengargoyle i'll rakudobug it then.
09:46 jnthn zengargoyle: Thanks
09:47 * zengargoyle always seems to bump into the things that don't work, enough to have a bit of a complex about it. :)
09:49 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:52 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:55 AlexDaniel joined #perl6
09:56 AlexDaniel m: my @foo; @foo.push: { ‘hello world’ }; @foo»()'
09:56 camelia rakudo-moar cb8276: OUTPUT: «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…»
09:56 AlexDaniel m: my @foo; @foo.push: { ‘hello world’ }; @foo»()
09:56 camelia rakudo-moar cb8276: OUTPUT: «Weird node in analyze: NQPMu␤===SORRY!===␤Unknown QAST node type NQPMu␤»
09:57 jnthn m: my @foo; @foo.push: { ‘hello world’ }; @foo».()
09:57 camelia rakudo-moar cb8276: ( no output )
09:58 committable6 joined #perl6
09:58 AlexDaniel jnthn: sure, but that's still a bug
10:22 skids joined #perl6
10:37 zengargoyle does anybody have favorite github CLI tool(s)?
10:52 skids joined #perl6
11:03 curt_ joined #perl6
11:05 pmurias joined #perl6
11:06 margeas joined #perl6
11:13 skids joined #perl6
11:20 domidumont joined #perl6
11:51 aborazmeh joined #perl6
11:51 aborazmeh joined #perl6
11:59 pmurias joined #perl6
12:04 Geth ¦ doc: 812e3c9e06 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6
12:04 Geth ¦ doc: Fix rendering; dogbert17++
12:04 Geth ¦ doc: review: https://github.com/perl6/doc/commit/812e3c9e06
12:13 Zoffix joined #perl6
12:14 Zoffix left #perl6
12:19 Zoffix joined #perl6
12:19 Zoffix \o
12:20 Zoffix How to specify a META6.json dep to mean "this version or any higher?"
12:20 Zoffix I tried adding `"Testo:ver('1.002001+')"` to `test-depends` but it's still installing 1.002001, even though 1.002002 is available
12:21 Zoffix (and if I specify "Testo:ver('1.002002')", it installs 1.002002)
12:22 Zoffix Basically, the goal is block out too-old, buggy versions
12:24 pmurias do we have a "semver compatible" like npm does?
12:24 pmurias ^1.2.3 is >=1.2.3 < 2.0.0 in npm
12:25 Zoffix The + makes it smartmatch right
12:25 Zoffix m: say v1.2 ~~ v1.1
12:25 camelia rakudo-moar b34305: OUTPUT: «False␤»
12:25 Zoffix m: say v1.2 ~~ v1.1+
12:25 camelia rakudo-moar b34305: OUTPUT: «True␤»
12:25 Zoffix It's just appears to match in wrong order, so 1.002001 gets matched first
12:28 pmurias Zoffix: isn't it just finding the thing in the cache that matches>
12:28 pmurias (wild guess, haven't checked)
12:29 Zoffix I don't know what it's doing.
12:29 Zoffix but it's not doing what I want it to do :/
12:30 Zoffix 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 Zoffix 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 #perl6
12:36 Zoffix heh
12:36 * Zoffix spots "# TODO: deprecate usage of --depsonly" in zef's source
12:36 Zoffix I use it all over the place and IIRC the new travis docs also use it
12:36 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
12:36 pmurias seems like more of a zef policy
12:37 Zoffix I just told the sense
12:37 lizmat Zoffix: what output do you get with RAKUDO_MODULE_DEBUG
12:37 lizmat ?
12:37 lizmat 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
12:40 nine Zoffix: maybe try --/cache
12:40 Zoffix 1 sec (I'm on slow network so this is taking ages)
12:41 pmurias without a version it's not safe to assume any old one will work
12:42 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:43 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
12:44 Zoffix nine: don't think cache is the issue since just running `zef install Testo` installs 1.002002
12:46 _4d47 joined #perl6
12:48 Zoffix lizmat: here's the output. Don't see the extra output mention 1.002001 nor 1.002002 http://fpaste.scsys.co.uk/563850
12:49 lizmat perhaps that's the clue: there's no test for version at all yet ?
12:50 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:51 pilne joined #perl6
12:51 lizmat installing != loading ?
12:51 lizmat just brainstorming
12:52 _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
12:53 lizmat NYI I would say  :-)
12:53 Zoffix Yeah :)
12:53 _4d47 Zoffix: okay thanks, i'll keep that return then :)
12:54 Zoffix _4d47: you don't need to explicitly write `return`. method foo { self } is sufficient
12:54 mcmillhj joined #perl6
12:57 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: https://irclog.perlgeek.de/perl6/2017-05-31#i_14665569
12:57 yoleaux Zoffix: I'll pass your message to ugexe.
12:57 * Zoffix removes version limit for now...
12:57 Zoffix Thanks all \o
12:57 Zoffix left #perl6
13:01 cdg joined #perl6
13:08 mr-foobar joined #perl6
13:14 andrewalker joined #perl6
13:16 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:18 zengargoyle 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 rightfold joined #perl6
13:19 zengargoyle darn ZofBot: meant Zoffix.
13:25 Khisanth joined #perl6
13:33 astj joined #perl6
13:37 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 araraloren joined #perl6
13:38 Zoffix joined #perl6
13:38 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
13:38 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
13:39 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:41 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 #perl6
13:41 Zoffix Fuck, I don't think my requirement is all that crazy: don't install old, buggy versions is the crux of it
13:42 Zoffix zengargoyle: the version isn't unfound. It gets installed if I don't specify the `+`
13:43 Zoffix 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.
13:44 pmurias Zoffix: does zef choose the older version if none are already installed/fetched?
13:45 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 Zoffix pmurias: yes, that's exactly my problem
13:45 zengargoyle ah, think i get you maybe.  if ask for 2+ you get 2 but if ask for nothing you get 3.
13:46 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
13:46 Zoffix nope
13:47 Zoffix 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 +
13:48 Zoffix My understanding of 2+ as in smartmatch
13:48 zengargoyle gotcha
13:48 Zoffix m: say 3 ~~ 2+
13:48 camelia rakudo-moar 160de7: OUTPUT: «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␤»
13:48 Zoffix m: say v3 ~~ v2+
13:48 camelia rakudo-moar 160de7: OUTPUT: «True␤»
13:48 zengargoyle so it needs to search from highest version down to lowest instead of lowest to highest (zef that is)
13:49 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
13:50 zengargoyle we need a +> going up and a +< going down. :P
13:50 Zoffix :)
13:51 moritz ZefTM, the Enterprise Module Manager: Installs the Auldest Module Possible!
13:52 devmikey joined #perl6
13:53 zengargoyle so --enterprise and --/enterprise flag for zef. :P
13:53 zengargoyle or just --janeway
13:59 * zengargoyle decides not to think about if ver can contain code.... (2.1 ... *)[*-1]
14:01 zengargoyle 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:03 zengargoyle it ends up being a random guess for me anyway picking which to link to libssl.so to make things work.
14:04 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 rakudo-moar 160de7: OUTPUT: «「(2.1 ... *)[*-1]」␤ value => 「(2.1 ... *)[*-1]」␤»
14:04 Zoffix zengargoyle: well, zef will parse it, but I don't know if it'll do anything with it :)
14:05 khw joined #perl6
14:05 mcsnolte joined #perl6
14:11 Zoffix "Failed to update cpan mirror No such method 'IO' for invocant of type 'Any'"
14:15 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 zengargoyle does wonders for cpanm installs...
14:16 Zoffix Here. I distilled my problem to a one-liner: `zef uninstall Testo; zef install 'Testo:ver<1.002001+>'`
14:16 Zoffix That installs 1.002001, despite 1.002002 being availabl.e
14:16 * Zoffix digs through zef's sauce
14:19 zengargoyle < Inf would be cool.
14:21 Zoffix Neat. You can make your own recommendation manager.
14:21 Zoffix zef++
14:22 zengargoyle cool
14:26 Cabanossi joined #perl6
14:27 * [Coke] wonders if anyone has an idea for https://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 [Coke] Or, should we not show the hidden variable in the doc?
14:28 [Coke] s/hidden/attribute/
14:28 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 Geth ¦ doc: d6e7d04957 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6
14:30 Geth ¦ doc: Remove use of attributes in method sig
14:30 Geth ¦ doc:
14:30 Geth ¦ doc: Fixes #1352
14:30 Geth ¦ doc: review: https://github.com/perl6/doc/commit/d6e7d04957
14:31 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:32 [Coke] Zoffix++
14:33 * Zoffix &
14:33 Zoffix left #perl6
14:46 Geth ¦ doc: a547aff15d | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6
14:46 Geth ¦ doc: Remove needless sentence
14:46 Geth ¦ doc:
14:46 Geth ¦ doc: The previous sentence already says params default to attrs
14:46 Geth ¦ doc: review: https://github.com/perl6/doc/commit/a547aff15d
15:14 KDr2 joined #perl6
15:25 mr_ron joined #perl6
15:26 Cabanossi joined #perl6
15:29 AlexDaniel joined #perl6
15:30 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: https://irclog.perlgeek.de/perl6/2017-05-31#i_14665569
15:33 cdg_ joined #perl6
15:34 ugexe i'll check into it more tonight, keep me updated if you figure out anything else
15:38 salva joined #perl6
15:42 ugexe m: say Version.new(v1.002002+) ~~ Version.new(v1.002001)
15:42 camelia rakudo-moar 160de7: OUTPUT: «False␤»
15:42 ugexe hmm
15:46 perigrin_ heh/w 51
15:46 perigrin_ bah
15:47 kyan joined #perl6
15:53 titsuki_ bisect: say Set (|) Set;
15:53 bisectable6 titsuki_, Bisecting by output (old=2015.12 new=160de7e) because on both starting points the exit code is 0
15:53 bisectable6 titsuki_, bisect log: https://gist.github.com/9f9f7d23c28a5855a54c83c2ed67e6a7
15:53 bisectable6 titsuki_, (2017-05-13) https://github.com/rakudo/rakudo/commit/407bce1dc26010769640ec8f616ed5a06860bda1
15:56 Cabanossi joined #perl6
16:03 freeze joined #perl6
16:09 lichtkind joined #perl6
16:09 setty1 joined #perl6
16:10 Geth ¦ ecosystem: whity++ created pull request #344: add Log distribution
16:10 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/pull/344
16:21 domidumont joined #perl6
16:26 Cabanossi joined #perl6
16:30 [particle] joined #perl6
16:31 CacoS joined #perl6
16:32 cxreg an interesting story from Go, may be relevant here
16:33 cxreg https://www.weave.works/blog/linux-namespaces-and-go-don-t-mix
16:35 Geth ¦ ecosystem: 4f2bd49ccb | (André Brás)++ (committed by Zoffix Znet) | META.list
16:35 Geth ¦ ecosystem: add Log distribution (#344)
16:35 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/4f2bd49ccb
16:37 robertle joined #perl6
16:37 perlpilot the code renders badly
16:40 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:48 jnthn cxreg: Yes, having a thread pool managed automagically for you does not go well with various bits of systems programming.
16:49 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:51 jnthn So you can have the tighter control when you need it.
16:52 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... :)
16:52 cxreg right.  might be worth a blog post or a docs mention or something.
16:53 cxreg "Why Perl 6 is better than Go nyah nyah"
16:53 jnthn Indeed.
16:53 jnthn haha ;P
16:54 * 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.
16:54 cxreg jnthn: afaict it really does not
16:55 mr_ron left #perl6
16:55 cxreg jnthn: it totally abstracts scheduling for you, sometimes to your detriment
16:55 jnthn Ah, wow
16:55 cxreg (this new situation may affect that, however)
16:55 jnthn Yeah, then it's...tricky.
16:56 cxreg considering that.... docker is in Go
16:56 cxreg haahaha
16:57 cxreg 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
16:58 cxreg I was thinking the same
16:58 cxreg sounds like a 0day waiting to happen
17:00 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:11 ilmari cxreg: the code in that go article seems to have had one round too many of syntax highlighting applied to it
17:13 fatguy joined #perl6
17:13 raschipi I knew golang was verbose, but not THAT much...
17:16 fatguy i need to watch write/create/modify activity on directory recursively, how can i do that ?
17:19 Zoffix joined #perl6
17:19 Zoffix fatguy: http://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:20 Zoffix buggable: eco Recursively watch a directory
17:20 Zoffix "No such method 'new' for invocant of type 'IO::Socket::SSL'  in method get-connection at"
17:20 Zoffix fatguy: http://modules.perl6.org/#q=IO%3A%3ANotification%3A%3ARecursive
17:20 fatguy Zoffix: thanks !
17:21 buggable joined #perl6
17:21 Zoffix So looks like it's unsafe to reinstall Perl 6/modules with running programs. They don't keep working
17:21 Zoffix buggable: eco Recursively watch a directory
17:21 buggable Zoffix, IO::Notification::Recursive 'Recursively watch a directory and any subdirectories': https://github.com/perlpilot/p6-IO-Notification-Recursive
17:21 Zoffix there we go
17:22 Zoffix Geth: uptime
17:22 Geth Zoffix, 2 weeks, 3 days, 2 hours, 31 minutes, and 49 seconds
17:22 Zoffix *shrug*
17:22 Zoffix left #perl6
17:22 TEttinger joined #perl6
17:41 Cabanossi joined #perl6
17:52 wamba joined #perl6
17:56 espadrine_ joined #perl6
18:04 Xliff joined #perl6
18:05 Geth ¦ doc: 68e8cc4a2c | (Jan-Olof Hendig)++ | doc/Language/io.pod6
18:05 Geth ¦ doc: printf is a method of IO::Handle
18:05 Geth ¦ doc: review: https://github.com/perl6/doc/commit/68e8cc4a2c
18:11 itaipu joined #perl6
18:37 rightfold Hi
18:42 CacoS joined #perl6
18:44 mr-foobar joined #perl6
18:48 raschipi hello
19:00 rightfold I am using libpq with nativecall
19:01 rightfold However on Windows it's libpq.dll
19:02 rightfold Is there a nicer way than doing this? constant LIBPQ = $*DISTRO.is-win ?? "libpq" !! "pq";
19:02 rightfold And then sub PQdescribePrepared(Pointer[void], Str --> Pointer[void]) is native(LIBPQ) {*}
19:06 rightfold Windows lookup doesn't prepend "lib" but Linux does
19:14 cdg joined #perl6
19:14 geekosaur yes, because some unix-derived dlls prepend lib but other esp. native dlls don't
19:14 geekosaur unix has a convention, windoes doesn't
19:14 nowan joined #perl6
19:20 rightfold Ok
19:21 rightfold So it's not a bug in rakudo but a difference in platform conventions; much like / vs \ for paths
19:21 rightfold Thanks geekosaur
19:21 geekosaur right,e xcept in this case there *is* no standard convention
19:21 geekosaur so every lib does its own thing :/
19:22 geekosaur 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:23 rightfold I'll keep using this constant definition
19:25 nowan joined #perl6
19:31 itaipu joined #perl6
19:36 AlexDaniel joined #perl6
19:39 Geth ¦ doc: 3884abb991 | (Jan-Olof Hendig)++ | doc/Language/syntax.pod6
19:39 Geth ¦ doc: Added a few missing say statements to the examples
19:39 Geth ¦ doc: review: https://github.com/perl6/doc/commit/3884abb991
19:40 jameslenz joined #perl6
20:11 araujo joined #perl6
20:16 kaare_ joined #perl6
20:17 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:21 hythm joined #perl6
20:24 pmurias joined #perl6
20:25 raschipi pilne: I/O isn't very developed yet.
20:26 pilne gotcha, is this more on the moarvm side or the perl6 side?
20:26 Cabanossi joined #perl6
20:27 raschipi Both. Moar is being cleaned and Perl6 is being refactored.
20:31 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 pilne dammint... unencumbered*
20:32 skids joined #perl6
20:36 AlexDaniel .oO( cucumber what? )
20:36 AlexDaniel pilne: but yes, I agree
20:36 itaylor57 joined #perl6
20:37 * 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
20:37 pilne lol
20:40 mr-foobar joined #perl6
20:41 raschipi buggable: eco cucumber
20:41 buggable raschipi, Nothing found
20:41 raschipi yep
20:41 raschipi Perl6 is uncucumbered
20:41 AlexDaniel greppable6: cucumber
20:41 jnthn Modules welcome :)
20:42 greppable6 AlexDaniel, https://gist.github.com/75a600bab1d35669882366f0fc61edca
20:42 moritz buggable: eco ruby
20:42 buggable moritz, Found 4 results: Sparrowdo::Rvm, Sprockets, Inline::Ruby, Sparrowdo::Ruby::Bundler. See https://modules.perl6.org/#q=ruby
20:42 moritz hey, we have Inline::Ruby
20:43 pilne between those, and the js and jvm backents... perl6 could literally be the one language to rule them all!
20:46 mcmillhj joined #perl6
20:48 moritz we could use a WebAssembly backend :-)
20:49 AlexDaniel .oO( does it mean we will have a new core dev very soon? :) )
20:50 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:51 pilne so i'm only barely familiar with little bits of perl, and most of that is regexpy stuff
20:58 geekosaur joined #perl6
21:00 itaipu joined #perl6
21:01 AlexDaniel buggable: tag LHF
21:01 buggable AlexDaniel, There are no tickets tagged with LHF
21:01 AlexDaniel :O
21:05 pilne ?
21:09 mr-foobar joined #perl6
21:15 AlexDaniel pilne: usually there are some LHF (low-hanging fruit) tickets. For new contributors, this is a great way to start :)
21:19 pilne gotcha
21:21 MasterDuke buggable: tag LTA
21:21 buggable MasterDuke, There are 166 tickets tagged with LTA; See http://perl6.fail/t/LTA for details
21:21 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 https://rt.perl.org/Ticket/Display.html?id=131408#txn-1461759
21:23 MasterDuke pilne: the LTA tickets often are not too complicated and are a good place to start
21:23 pilne gotcha
21:34 xinming joined #perl6
21:36 Rawriful joined #perl6
21:41 xinming joined #perl6
22:01 pmurias joined #perl6
22:07 pochi_ joined #perl6
22:07 dogbert17 joined #perl6
22:11 mr-foobar joined #perl6
22:11 SHODAN joined #perl6
22:17 pilne anyone else found a good color theme for perl6 in vscode? or is the syntax way better supported in atom?
22:27 Geth ¦ ecosystem: a01b64534d | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
22:27 Geth ¦ ecosystem: Remove Some of Zoffix's Modules (repos will remain)
22:27 Geth ¦ ecosystem:
22:27 Geth ¦ ecosystem: WWW::Google::Time — Google bans for this now — https://github.com/zoffixznet/perl6-WWW-Google-Time
22:27 Geth ¦ ecosystem: Failer — useless — https://github.com/zoffixznet/perl6-Failer/
22:27 Geth ¦ ecosystem: M.pm6 — useless — https://github.com/zoffixznet/perl6-M
22:27 Geth ¦ ecosystem: SPEC::Func — stupid — https://github.com/zoffixznet/perl6-SPEC-Func
22:27 Geth ¦ ecosystem: ווו.pm6 — stupid — https://github.com/zoffixznet/perl6-666
22:27 Geth ¦ ecosystem: <…commit message has 5 more lines…>
22:27 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/a01b64534d
22:28 Geth ¦ ecosystem: aa5cf281d9 | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
22:28 Geth ¦ ecosystem: Actually remove HNY module
22:28 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/aa5cf281d9
22:35 r3m joined #perl6
22:36 corishev joined #perl6
22:38 japhb Zoffix, I'm pretty sure you have now deprecated more ecosystem modules than I have committed to.  That's a bit disturbing.
22:41 mr-foobar joined #perl6
22:45 mcmillhj joined #perl6
22:45 Kaffe joined #perl6
22:51 cpage_ joined #perl6
22:53 corishev joined #perl6
22:54 sivoais joined #perl6
22:56 Cabanossi joined #perl6
23:19 samcv :O
23:19 mcmillhj joined #perl6
23:26 Cabanossi joined #perl6
23:26 mcmillhj_ joined #perl6
23:38 mcmillhj joined #perl6
23:40 astj joined #perl6
23:51 margeas joined #perl6
23:57 BenGoldberg joined #perl6
23:59 buggable ???????????? It's time for the monthly Accidental /win Lottery ???????????? We have 14 ballots submitted by 10 users! DRUM ROLL PLEASE!...

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo