»ö« 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.
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
lookatme morning .o/ 01:06
BenGoldberg Good evening. 01:38
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.
zengargoyle does anybody know off-hand what code is behind the modules.perl6.org/todo pages? 02:04
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
raiph I rakudobugged RT#131406 but stackoverflow.com/questions/442664...all-struct remains unanswered. Goodnight #perl6. 02:34
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
Xliff \o 03:56
Hi-Low
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
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.
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.
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
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
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
lookatme I want access them in method of that class 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:03
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
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
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
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]++
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…
Voldenet Hm, is there some sane way to parametrize a Promise? 07:44
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
lookatme m: use NativeCall; class foo is repr('CStruct') { has uint8 $.a; }; say nativesizeof(foo); 08:18
camelia 1
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
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
Voldenet AlexDaniel: isn't *.result blocking a thread in this case? 08:39
lizmat . 09:06
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
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
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 ?
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
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
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 :)
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
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
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 )
AlexDaniel jnthn: sure, but that's still a bug 09:58
zengargoyle does anybody have favorite github CLI tool(s)? 10:37
Geth doc: 812e3c9e06 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6
Fix rendering; dogbert17++
12:04
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
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"
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
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
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
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
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
zengargoyle darn ZofBot: meant Zoffix. 13:19
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.
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
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.
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 :)
moritz ZefTM, the Enterprise Module Manager: Installs the Auldest Module Possible! 13:51
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
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 :)
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
[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
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
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
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
ugexe i'll check into it more tonight, keep me updated if you figure out anything else 15:34
ugexe m: say Version.new(v1.002002+) ~~ Version.new(v1.002001) 15:42
camelia False
ugexe hmm
perigrin_ heh/w 51 15:46
bah
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
titsuki_, bisect log: gist.github.com/9f9f7d23c28a5855a5...c2ed67e6a7
titsuki_, (2017-05-13) github.com/rakudo/rakudo/commit/40...a06860bda1
Geth ecosystem: whity++ created pull request #344:
add Log distribution
16:10
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
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
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:49
So you can have the tighter control when you need it. 16:51
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
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
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
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
fatguy Zoffix: thanks ! 17:20
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*
Geth doc: 68e8cc4a2c | (Jan-Olof Hendig)++ | doc/Language/io.pod6
printf is a method of IO::Handle
18:05
rightfold Hi 18:37
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) {*}
rightfold Windows lookup doesn't prepend "lib" but Linux does 19:06
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
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
Geth doc: 3884abb991 | (Jan-Olof Hendig)++ | doc/Language/syntax.pod6
Added a few missing say statements to the examples
19:39
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
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
raschipi Both. Moar is being cleaned and Perl6 is being refactored. 20:27
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*
AlexDaniel
.oO( cucumber what? )
20:36
pilne: but yes, I agree
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
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
pilne between those, and the js and jvm backents... perl6 could literally be the one language to rule them all! 20:43
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
pilne so i'm only barely familiar with little bits of perl, and most of that is regexpy stuff 20:51
AlexDaniel buggable: tag LHF 21:01
buggable AlexDaniel, There are no tickets tagged with LHF
AlexDaniel :O
pilne ? 21:05
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
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
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
samcv :O 23:19