»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
00:00 guifa joined, p6bannerbot sets mode: +v guifa
SmokeMachine timotimo: so I think ill merge it... 00:11
ok? 00:19
timotimo i didn't look very closely 00:23
Xliff What if @stubs is empty?
Method previously returns 1, so if @stubs is empty, what would existing code do if it suddenly started getting 0? 00:24
Not nqp person, but I just took a gander and that's the only thing that stood out.
00:25 rhizon8r left, rhizon8r joined
Xliff m: sub a (@a? is rw) { } 00:25
camelia 5===SORRY!5=== Error while compiling <tmp>
For parameter '@a', '@' sigil containers don't need 'is rw' to be writable
Can only use 'is rw' on a scalar ('$' sigil) parameter, not '@a'
at <tmp>:1
00:26 p6bannerbot sets mode: +v rhizon8r
Xliff m: sub a (@a?) { } 00:26
camelia ( no output )
Xliff m: sub a ($a) { $a.push: 1; }; @a = <1 2 3>; a(@a); say @a; 00:27
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@a' is not declared. Did you mean '&a'?
at <tmp>:1
------> 3sub a ($a) { $a.push: 1; }; 7⏏5@a = <1 2 3>; a(@a); say @a;
Xliff m: sub a ($a) { $a.push: 1; }; my @a = <1 2 3>; a(@a); say @a;
camelia [1 2 3 1]
rouking Say, are user-defined metaoperators around yet? 00:28
guifa I'm guessing the answer to this is a "doesn't exist", but before I go putting any effort into building a homegrown solution... is there a good code formatter for p6 for use in TeX? I normally use lstlistings but it's set up for p5 and basically thinks everything is an identifier :-) 00:34
SmokeMachine Xliff: the original code wasn't using the return...
Xliff SmokeMachine: OK! Just asking. :) 00:35
SmokeMachine Xliff: :) just answering! :P
Xliff Well, FINE! Be that way! :p 00:36
^^
SmokeMachine I did merge... now Ill merge this: github.com/perl6/roast/pull/487
00:50 Voldenet left 00:53 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 00:54 Voldenet joined, Voldenet left, Voldenet joined, p6bannerbot sets mode: +v Voldenet 00:55 p6bannerbot sets mode: +v Voldenet
buggable New CPAN upload: IP-Addr-v0.0.1.tar.gz by VRURG cpan.metacpan.org/authors/id/V/VR/...0.1.tar.gz 01:30
01:35 regreg__ joined 01:36 p6bannerbot sets mode: +v regreg__ 01:46 jameslenz joined 01:47 p6bannerbot sets mode: +v jameslenz 01:51 jameslenz left 01:58 cognominal-p6 joined
SmokeMachine .tell Zoffix I requested you to review github.com/rakudo/rakudo/pull/2393 01:59
yoleaux SmokeMachine: I'll pass your message to Zoffix.
01:59 p6bannerbot sets mode: +v cognominal-p6 02:22 cognominal-p6 left 02:57 ryn1x_ joined 02:58 p6bannerbot sets mode: +v ryn1x_ 03:23 ryn1x_ is now known as ryn1x
holyghost eco: Bayes::Learn 03:25
buggable holyghost, Bayes::Learn 'Bayesian Inference based upon ditributions. Minimax': modules.perl6.org/dist/Bayes::Learn...:HOLYGHOST
holyghost eco: Game::Markov 03:26
buggable holyghost, Game::Markov 'Markov Strategy kit for games': modules.perl6.org/dist/Game::Markov...:HOLYGHOST
03:30 ryn1x left
buggable New CPAN upload: App-Tasks-0.0.8.tar.gz by JMASLAK modules.perl6.org/dist/App::Tasks:cpan:JMASLAK 03:31
03:34 ryn1x joined, p6bannerbot sets mode: +v ryn1x 03:47 jameslenz joined 03:48 p6bannerbot sets mode: +v jameslenz 03:51 jameslenz left
Geth doc: ugexe++ created pull request #2394:
Document $*KERNEL.hostname
03:57
04:02 ryn1x left 04:03 xinming left, MasterDuke left, xinming joined 04:04 p6bannerbot sets mode: +v xinming
Geth doc: eaf115c38c | (Richard Hainsworth)++ (committed using GitHub Web editor) | doc/Type/Nil.pod6
Update Nil.pod6

At first glance, it seems that Nil can be assigned to any container. Extra explanation for hash assignment.
04:23
synopsebot Link: doc.perl6.org/type/Nil
04:41 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 04:52 ufobat_ joined, p6bannerbot sets mode: +v ufobat_ 04:58 regreg__ left 05:02 sauvin joined, p6bannerbot sets mode: +v sauvin
ingy Is this a thing? => nigelhamilton.com/perl-branding-proposal.html 05:03
05:09 Mithaldu left 05:10 Mithaldu joined, p6bannerbot sets mode: +v Mithaldu 05:11 ZzZombo left 05:18 ufobat_ left, cognominal-p6 joined 05:19 p6bannerbot sets mode: +v cognominal-p6 05:20 cognominal-p6 left, cognominal-p6 joined 05:21 p6bannerbot sets mode: +v cognominal-p6
tobs ingy: yes, things are moving in this matter, see e.g. rakudo.party/post/A-Request-to-Lar...for-Perl-6 05:28
ingy I have one. :) 05:29
05:40 hami joined, p6bannerbot sets mode: +v hami 05:42 cognominal-p6 left 05:46 domidumont joined 05:47 p6bannerbot sets mode: +v domidumont 05:48 jameslenz joined, domidumont left, p6bannerbot sets mode: +v jameslenz 05:52 jameslenz left 05:56 guifa left 06:05 domidumont joined, p6bannerbot sets mode: +v domidumont 06:22 hami left 06:31 robertle_ joined 06:32 p6bannerbot sets mode: +v robertle_ 06:49 abraxxa left 07:01 agentzh left
Geth doc: 71a6cc07d8 | (Richard Hainsworth)++ (committed using GitHub Web editor) | doc/Type/Test.pod6
Update Test.pod6

make 'ok' consistent with other subs
07:25
synopsebot Link: doc.perl6.org/type/Test
07:32 ccntrq left 07:34 ccntrq joined, p6bannerbot sets mode: +v ccntrq 07:37 troys left 07:56 albertferrico joined, p6bannerbot sets mode: +v albertferrico
albertferrico hello everyone! 07:56
I hope you are having a good end of the week!
07:59 pecastro joined 08:00 p6bannerbot sets mode: +v pecastro
lookatme_q albertferrico, hi 08:03
08:10 dakkar joined, p6bannerbot sets mode: +v dakkar
albertferrico hi lookatme_q 08:14
08:25 zakharyas joined 08:26 p6bannerbot sets mode: +v zakharyas 08:29 robertle_ left
albertferrico guys, I'm developing a web with Bailador and Quicky ORM. How would you manage the sessions, for the login? 08:32
08:36 rindolf joined, p6bannerbot sets mode: +v rindolf 08:38 cognominal-p6 joined 08:39 p6bannerbot sets mode: +v cognominal-p6 08:40 aindilis left, aindilis` joined 08:41 p6bannerbot sets mode: +v aindilis` 08:42 abraxxa joined, p6bannerbot sets mode: +v abraxxa
abraxxa the link to nxadm.github.io/rakudo-pkg/CONTRIBUTING.md on nxadm.github.io/rakudo-pkg/#contributing is broken 08:42
and what do I need to do to get it built for Ubuntu 18.10 too? 08:43
found the guide, working on a PR 08:48
08:53 aindilis` left 08:54 cognominal-p6 left 08:55 cognominal-p6 joined, p6bannerbot sets mode: +v cognominal-p6 08:58 abraxxa left 08:59 abraxxa joined, abraxxa left 09:00 abraxxa joined 09:01 p6bannerbot sets mode: +v abraxxa 09:05 alpha left 09:06 aindilis joined 09:07 p6bannerbot sets mode: +v aindilis
abraxxa PR sent 09:07
09:32 alpha joined 09:33 p6bannerbot sets mode: +v alpha
abraxxa is nxadm here? 09:37
09:38 scimon joined 09:39 p6bannerbot sets mode: +v scimon 09:40 sena_kun joined 09:41 p6bannerbot sets mode: +v sena_kun
abraxxa the dockerfile seems to be ok but 2018.09 fails a test on Ubuntu 18.10: travis-ci.org/nxadm/rakudo-pkg/jobs/443595573 09:42
09:49 jameslenz joined 09:50 p6bannerbot sets mode: +v jameslenz 09:54 jameslenz left 09:58 lizmat joined, p6bannerbot sets mode: +v lizmat 10:03 zakharyas left 10:05 zakharyas joined 10:06 p6bannerbot sets mode: +v zakharyas 10:11 pmurias joined, p6bannerbot sets mode: +v pmurias
pmurias Zoffix: re .toggle the example on the doc pageis too complicated 10:11
s/page is/
Zoffix: say (1..15).toggle(* < 5, * > 10, * < 15); from the commit that implemented explains what it does a lot better 10:12
(I'll fix the doc)
do we have a style guide for the doc examples? 10:15
like if we should use the indirect method call syntax?
10:21 HaraldJoerg joined, xinming left 10:22 p6bannerbot sets mode: +v HaraldJoerg, xinming joined
Geth doc: d4add06a4b | (Paweł Murias)++ | doc/Type/Any.pod6
Put easier to understand example in toggle docs
10:22
synopsebot Link: doc.perl6.org/type/Any
10:23 p6bannerbot sets mode: +v xinming 10:27 xinming left, pmurias left 10:28 pmurias joined, p6bannerbot sets mode: +v pmurias, xinming joined 10:29 p6bannerbot sets mode: +v xinming 10:49 alpha left 11:05 zakharyas left 11:09 robertle_ joined 11:10 p6bannerbot sets mode: +v robertle_
Geth doc: 13f79b946b | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/subscripts.pod6
Document Zen slicing a Seq caches it

Propspec: github.com/perl6/roast/commit/7d23...b58187594a PoV: github.com/rakudo/rakudo/commit/b8...2d20dcdc90 Closes github.com/rakudo/rakudo/issues/2383 R#2383
11:12
synopsebot Link: doc.perl6.org/language/subscripts
synopsebot R#2383 [closed]: github.com/rakudo/rakudo/issues/2383 [consistency][testneeded] .[] doesn't cache a Seq
11:14 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix pmurias: the behaviour itself is confusing, IMO not examples. There is a CONTRIBUTING.md docs that mentions some style stuff: github.com/perl6/doc/blob/master/C...IBUTING.md 11:15
pmurias: as in explaining in words why say (1..15).toggle(:off, * > 2, * < 5, * > 10, * < 15) produces «(3 4 11 12 13 14)␤» 11:16
Which people tried to do for over an hour already: colabti.org/irclogger/irclogger_log...7-17#l1076 11:17
11:18 jbotz joined
Geth doc: 5d579efa1c | (Zoffix Znet)++ (committed using GitHub Web editor) | CONTRIBUTING.md
Add syntax highlights
11:19
11:19 p6bannerbot sets mode: +v jbotz
pmurias what the intended use for toggle? why is it in core? 11:25
scimon complicated list processing? 11:26
Zoffix AlexDaniel: a dist may have many modules in it
(you asked yesterday)
scimon (Side note London Perl Mongers has a bunch of videos for tech talks www.youtube.com/channel/UCiZ6mo3Zd...;flow=grid and the top 3 are about perl6 (Ok two of them are me) so that's cool right?) 11:27
Zoffix yeah 11:30
timotimo that is cool :)
also, good job, scimon
Zoffix pmurias: IIRC it was a generalization of .skip-until/.skip-while methods 11:31
scimon (I'm checking that list. Hopefully the other talks from last week will be up soon.) 11:33
11:33 scimon left 11:35 scimon joined, p6bannerbot sets mode: +v scimon 11:36 Zoffix left
pmurias Zoffix: I don't have a good mental model for it besides builts a stage machine 11:41
the example was completely useless for me
also :off can be replace by passing -> $ {False} as first argument to toggle 11:46
11:50 jameslenz joined, p6bannerbot sets mode: +v jameslenz 11:53 Ven`` joined, abraxxa left, p6bannerbot sets mode: +v Ven`` 11:54 jameslenz left 12:20 Ven`` left 12:24 Ven`` joined, koto joined 12:25 p6bannerbot sets mode: +v Ven``, p6bannerbot sets mode: +v koto 12:26 sena_kun left 12:27 koto left 12:33 azawawi joined, p6bannerbot sets mode: +v azawawi
azawawi and hi :) 12:33
yoleaux 15 Oct 2018 15:17Z <timotimo> azawawi: looks like a good target for a binding, though i think there's already the start of an sfml binding somewhere? not sure.
azawawi timotimo: thanks 12:34
timotimo: Maybe my next crazy project is calling perl6 from gdscript / gdnative and driving godot game engine through perl6 :) 12:35
azawawi is working on perl6 lang server document outline (tree view) 12:36
any idea how to get line number information from perl6 --target=parse output using NQP? 12:38
12:39 squashable6 left, squashable6 joined 12:40 p6bannerbot sets mode: +v squashable6, HaraldJoerg left 12:46 Ronja joined 12:47 p6bannerbot sets mode: +v Ronja
Ronja in perl5 I can do something like my @arr = (0) x 15; 12:47
how does that translate to perl6? 12:48
perl6 gives me an array with one element that has 15 zeroes 12:49
azawawi m: (0) xx 15 12:52
camelia WARNINGS for <tmp>:
Useless use of constant integer 0 in sink context (line 1)
moritz m: my @arr = 0 xx 15; say @arr
camelia [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
moritz Ronja: ^^
azawawi moritz++
Ronja: docs.perl6.org/routine/xx
moritz: hi 12:53
moritz: any idea how to get line number information from perl6 --target=parse output using NQP?
12:54 Ven`` left
Ronja I see, thanks 12:54
12:54 Ven`` joined 12:55 p6bannerbot sets mode: +v Ven`` 12:56 zakharyas joined 12:57 p6bannerbot sets mode: +v zakharyas 12:59 albertferrico left 13:00 squashable6 left
moritz azawawi: since the information is not in that output, you cannot get it from the output -- unless I misunderstood your question 13:00
13:01 squashable6 joined, ChanServ sets mode: +v squashable6
azawawi moritz: im actually now reading Perl6::Parser to understand the NQP stuff 13:01
13:02 p6bannerbot sets mode: +v squashable6
azawawi moritz: --target=parse as it has no useful information for making document outline (location, symbol type) 13:02
timotimo you need to inspect the QAST node's .node attribute, it's a cursor
from that you would use the compiler method that gives you a line number for a text position 13:03
azawawi cool
eiro Ronja, another way to do it is (0,0,...*)[^15]
more generic way
timotimo eiro: i'd personally go with (0 xx *)[^15] rather than using ... for that
13:03 squashable6 left 13:04 squashable6 joined, ChanServ sets mode: +v squashable6
eiro timotimo, sure... i was just pointing out 13:04
13:04 p6bannerbot sets mode: +v squashable6
eiro timotimo, any reason other than "it looks better"? 13:05
timotimo performance :P
not sure how big the difference is
azawawi moritz: thanks 13:06
timotimo++
eiro timotimo, ok :) 13:08
timotimo eiro: the xx version takes less than ¼ as much time 13:10
20 seconds vs 3.63 seconds
for doing [^15] 50_000 times 13:11
xinming in perl6, a for @lazy-array -> $item { ... } <--- If the @lazy-array is so huge. Can we take one and discard remainers?
timotimo using just 0 xx 15 is much, much faster still
xinming now, I just meet a problem, Which caused the app to run over 10G ram.
I believe it's because the @lazy-array is keeping expanding
timotimo xinming: if you don't assign to an @-sigiled variable, arrays are not cached 13:12
13:12 lizmat left
timotimo eiro: 0 xx 15 does 500_000 instead of 50_000 at 1.4 seconds compared to (0 xx *)[^15] taking 3.6 for 1/10th as much work 13:12
xinming So, something like for lazy gather call-sub() -> $item { }
This will achieve what I want?
eiro *that* faster :) thanks timotimo
timotimo m: my $everything = 0 xx *; my int $i = 0; for @$everything { $i++; $i.say if $i %% 100_000 } 13:13
camelia (timeout)100000 13:14
timotimo hm.
this one won't grow: 13:16
xinming timotimo: Do you mean, somethine like I can change my @a = lazy gather generator(); for @a -> $item { } to something like my $a = lazy gather generator(); for $a -> $item { }
timotimo m: my $everything := 0 xx *; my int $i = 0; for $everything { $i++ }
camelia (timeout)
timotimo the := made it work properly; calling .list on it, or using @$foo will cause caching
xinming Thanks, WIll try 13:17
13:17 squashable6 left, squashable6 joined 13:18 p6bannerbot sets mode: +v squashable6 13:20 Ven`` left 13:21 Ven`` joined, p6bannerbot sets mode: +v Ven``
SmokeMachine m: role R { method r {...} }; class C does R { has R $.a handles <r> } 13:23
camelia ( no output )
SmokeMachine :D
13:33 azawawi left 13:34 Ven`` left
xinming @lazy-array; my ($a, $b, @remainder) = @lazy-array; <--- In this case, How can we keep @remainder as a lazy list also ? 13:39
timotimo m: my $lazy-array := 0 xx *; my ($a, $b) = $lazy-array.shift, $lazy-array.shift; 13:42
camelia No such method 'shift' for invocant of type 'Seq'. Did you mean 'unshift'?
in block <unit> at <tmp> line 1
timotimo ho-hum.
m: my $lazy-array := 0 xx *; my ($a, $b) = $lazy-array.head(2); 13:43
camelia ( no output )
timotimo m: my $lazy-array := 0 xx *; my ($a, $b) = $lazy-array.head(2); say $lazy-array.head
camelia The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
timotimo mhm
jkramer Doesn't it work right away in your example? 13:44
m: my $inf = 0 xx *; my ($a, $b, @c) = $inf; say @c.elems 13:45
camelia Cannot .elems a lazy list
in block <unit> at <tmp> line 1
timotimo m: my ($a, $b); my $input-array := 1 .. *; my $result-array = gather { my $index = 0; for $input-array { $index++; if $index == 1 { $a = $_; next }; if $index == 2 { $b = $_; next }; $_ } };
camelia WARNINGS for <tmp>:
Useless use of $_ in sink context (line 1)
timotimo m: my ($a, $b); my $input-array := 1 .. *; my $result-array = gather { my $index = 0; for $input-array { $index++; if $index == 1 { $a = $_; next }; if $index == 2 { $b = $_; next }; take $_ } };
camelia ( no output )
timotimo m: my ($a, $b); my $input-array := 1 .. *; my $result-array = gather { my $index = 0; for $input-array { $index++; if $index == 1 { $a = $_; next }; if $index == 2 { $b = $_; next }; take $_ } }; .say for $result-array[^15]
camelia 3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
timotimo m: my ($a, $b); my $input-array := 1 .. *; my $result-array = gather { my $index = 0; for $input-array { $index++; if $index == 1 { $a = $_; next }; if $index == 2 { $b = $_; next }; take $_ } }; .say for $result-array[^15]; say $a; say $b
camelia 3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1
2
timotimo that's not quite amazing
but it's better than nothing
jkramer What's wrong with the original line?
m: my $inf = ^Inf; my ($a, $b, @c) = $inf; say $inf.head(10); say $inf.elems 13:46
camelia (0 1 2 3 4 5 6 7 8 9)
Cannot .elems a lazy list
in block <unit> at <tmp> line 1
jkramer Oh
m: my $inf = ^Inf; my ($a, $b, @c) = $inf; say $a; say $b
camelia 0
1
jkramer Why does @c not start at 2? 13:47
xinming m: my $inf = ^Inf; my ($a, $b, @c) = $inf; my ($d, $e, @z) = @c; $d.say; $e.say;
camelia 2
3
xinming How amazing perl6 is. :-)
timotimo wow
xinming m: my $inf = ^Inf; my ($a, $b, $c) = $inf; my ($d, $e, $z) = $c; $d.say; $e.say; 13:48
camelia 2
(Any)
xinming m: my $inf = ^Inf; my ($a, $b, $c) = $inf; my ($d, $e, $z) = @$c; $d.say; $e.say;
camelia 2
(Any)
xinming m: my $inf = ^Inf; my ($a, $b, $c) = $inf; my ($d, $e, $z) = |$c; $d.say; $e.say;
camelia 2
(Any)
xinming m: my $inf = ^Inf; my ($a, $b, @c) = $inf; my ($d, $e, $z) = @c; $d.say; $e.say;
camelia 2
3
xinming I'll try it locally
Can we also make @c a Inf object here? 13:49
jkramer Ah nevermind, I say $inf.head, not @c.head :) 13:50
xinming As if I we use for @c -> $xxx { } This is will cause @c be cached
13:50 jameslenz joined 13:51 p6bannerbot sets mode: +v jameslenz 13:55 jameslenz left
xinming m: my $h = ^Inf; my ($a, $b) = $h; for $h -> $x { } 14:00
camelia ( no output )
14:00 kysseuu joined 14:01 araraloren joined 14:02 p6bannerbot sets mode: +v araraloren 14:05 kysseuu left 14:07 nanotubevX joined 14:08 p6bannerbot sets mode: +v nanotubevX 14:12 nanotubevX left
buggable New CPAN upload: AttrX-Mooish-v0.4.12.tar.gz by VRURG modules.perl6.org/dist/AttrX::Mooish:cpan:VRURG 14:20
xinming m: my $a := lazy gather { take 1; take 2; take 3; take 5; }; my ($x, $y) = $a; for $a { } 14:23
camelia The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
xinming How can we solve this without using an array?
Since I don't want to cache the result. to keep mem usage small
I mean, resetting that is also ok. 14:27
araraloren m: my $a := lazy gather { take 1; take 2; take 3; take 5; }; my ($x, $y) = $a; dd $x; 14:29
camelia Int $x = 1
araraloren m: my $a := lazy gather { take 1; take 2; take 3; take 5; }; my ($x, $y) = $a; dd $a;
camelia The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
Xliff m: use Nativecall; my uint32 $a = 1; say $a ~~ Bool 14:32
camelia ===SORRY!===
Could not find Nativecall at line 1 in:
/home/camelia/.perl6
/home/camelia/rakudo-m-inst-1/share/perl6/site
/home/camelia/rakudo-m-inst-1/share/perl6/vendor
/home/camelia/rakudo-m-inst-1/share/perl6
CompUni…
Xliff m: use NativeCall; my uint32 $a = 1; say $a ~~ Bool
camelia False
Xliff m: use NativeCall; my uint32 $a = 1; say $a ~~ (Bool, Int).any
camelia True
Xliff m: use NativeCall; my uint32 $r = 1; my $a = $r; say $a ~~ (Bool, Int).any 14:33
camelia True
araraloren m: my $a := lazy gather { take 1; take 2; take 3; take 5; }; my ($x, $y, @l) = $a; .say for @l;
camelia 3
5
araraloren xinming How about this ^^
m: say Nil.xxxxxxxxxx; 14:34
camelia Nil
araraloren And what's this ?????
SmokeMachine m: my $a := lazy gather { take 1; take 2; take 3; take 5; }; my ($x, $y) = $a.cache; for $a { } 14:36
camelia ( no output )
xinming araraloren: the problem with @l version is, @l will try to cache the values in @l, which consumes a lot of ram if @l is large.
SmokeMachine m: my $a := lazy gather { take 1; take 2; take 3; take 5; }; my ($x, $y) = $a[]; for $a { }
camelia ( no output )
xinming m: my $a := lazy gather { take 1; take 2; take 3; take 5; }; my ($x, $y) = $a[]; for $a { $_.say } 14:37
camelia 1
2
3
5
araraloren xinming yes, you are right
xinming I think the [] is the same as @a version
SmokeMachine xinming: but it caches too...
araraloren m: my $a := lazy gather { take 1; take 2; take 3; take 5; }; my ($x, $y) = $a[]; for $a { .say }; for $a {}
camelia 1
2
3
5
xinming yes, I wish a version doesn't do cache.
araraloren yeah, it cached
SmokeMachine m: my $a := lazy gather { take 1; take 2; take 3; take 5; }; my ($x, $y) = $a.head: 2; for $a { }
camelia The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 1
Geth doc: chsanch++ created pull request #2396:
Add links for needed modules in Rendering Pod section
14:38
xinming For now, I call the generator twice.
SmokeMachine xinming: you could use SeqSplitter: github.com/FCO/SeqSplitter 14:39
araraloren Pull the element manually, maybe
Ronja say I have an array of booleans and I want to count how many True elements I have. currently this is my code: say (@ovet.map: { .Int }).sum; 14:41
is that the best way?
jkramer @ovet.grep(*.so).elems 14:42
Ronja how does that work?
jkramer Or just @ovet.sum actually :)
Ronja hmm 14:43
jkramer Bool is an enum with False = 0 and True = 1 so just .sum will do what you want
Ronja right
jkramer: can you explain the .grep(*.so) part?
jkramer Sure, although it's actually not optimal. *.so is a function that coerces it's argument into a boolean, and grep will return only the ones that evaluate to True, and after that .elems counts the amount of elems that evaluated to True 14:44
SmokeMachine m: say (True, True but 42, False).map({ .Int }).sum 14:45
camelia 43
jkramer But since they're already bools that unnecessary
SmokeMachine m: say (True, True but 42, False).grep(*.so).elems
camelia 2
Ronja jkramer: thanks
jkramer m: (True, True but 42, False).sum.asy
camelia No such method 'asy' for invocant of type 'Int'. Did you mean 'any'?
in block <unit> at <tmp> line 1
jkramer m: (True, True but 42, False).sum.say
camelia 2
SmokeMachine m: (True, True but 42, False)>>Int.sum.say 14:46
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing dot on method call
at <tmp>:1
------> 3(True, True but 42, False)>>7⏏5Int.sum.say
expecting any of:
postfix
SmokeMachine m: (True, True but 42, False)>>.Int.sum.say 14:47
camelia 43
14:49 dotdotdot joined 14:50 p6bannerbot sets mode: +v dotdotdot
buggable New CPAN upload: Cro-RPC-JSON-v0.0.4.tar.gz by VRURG modules.perl6.org/dist/Cro::RPC::JSON:cpan:VRURG 15:00
15:04 zakharyas left 15:14 zakharyas joined, p6bannerbot sets mode: +v zakharyas 15:15 zakharyas left 15:17 ExtraCrispy joined, p6bannerbot sets mode: +v ExtraCrispy 15:19 zakharyas joined, p6bannerbot sets mode: +v zakharyas 15:21 fake_space_whale joined, zakharyas left 15:22 p6bannerbot sets mode: +v fake_space_whale, zakharyas joined 15:23 p6bannerbot sets mode: +v zakharyas 15:24 kensanata joined, p6bannerbot sets mode: +v kensanata
kensanata How do you run cro from software like monit? How do I check where the logs go? Just redirecting stdout and stderr? 15:25
El_Che logs is middleware 15:27
you can decide that yourself
monit just need to cli startup script of cro
nothing fancy there
kensanata I'm not sure what middleware means in this context. So redirecting stdout and stderr is fine? 15:28
I'll try that. Right now I'm using something that looks very ugly: using a nohup perl6 call. 15:29
El_Che cro.services/docs/reference/cro-http-server (check after)
here is an example: cro.services/docs/intro/spa-with-cro 15:30
after => [
Cro::HTTP::Log::File.new(logs => $*OUT, errors => $*ERR)
]
send to a file instead
bbl
15:31 domidumont left
kensanata Thanks for that link. 15:32
15:37 coverable6 left 15:38 coverable6 joined, ChanServ sets mode: +v coverable6, p6bannerbot sets mode: +v coverable6
tbrowder___ hi folks, need some help with grammars \o/ 15:40
given an action method somewhere in the middle of a huge grammar such as rakudo nqp, is it true that the match object passed to it has all the underlying matches attached to it? 15:43
moritz yes 15:44
15:45 bwisti joined
tbrowder___ another q: using make in an action method with no argument does what? 15:45
15:45 p6bannerbot sets mode: +v bwisti 15:49 domidumont joined
moritz m: make() 15:49
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling make() will never work with declared signature (Mu \made)
at <tmp>:1
------> 3<BOL>7⏏5make()
tbrowder___ bdfoy mentions make attaches an arg to the ast slot, but to what is the ast attached?
moritz m: '' ~~ /^/; make(); say $/.made
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling make() will never work with declared signature (Mu \made)
at <tmp>:1
------> 3'' ~~ /^/; 7⏏5make(); say $/.made
15:50 p6bannerbot sets mode: +v domidumont
timotimo it's the ast slot of the currently-in-scope $/ 15:50
moritz tbrowder___: return an error, it seems like :-)
timotimo it's literally syntactic sugar for $/.ast = 1
i mean "make 1" is short for "$/.ast = 1"
moritz m: '' ~~ /^/; make 'foo'; say made
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
made used at line 1. Did you mean 'make'?
moritz timotimo: tbrowder___ asked about "no argument"
timotimo m: class NotAMatch { has $.ast is rw }; $/ = NotAMatch.new; make "hello"; dd $/
camelia P6opaque: no such attribute '$!made' on type Match in a NotAMatch when trying to bind a value
in block <unit> at <tmp> line 1
timotimo m: class NotAMatch { has $.made is rw }; $/ = NotAMatch.new; make "hello"; dd $/ 15:51
camelia P6opaque: no such attribute '$!made' on type Match in a NotAMatch when trying to bind a value
in block <unit> at <tmp> line 1
timotimo oh, interesting
it's being a little cheeky :) :)
15:51 jameslenz joined
tbrowder___ ok, then the in-scope match i assume is the arg to the method and the ast belngs to that name? 15:51
15:52 nige left, p6bannerbot sets mode: +v jameslenz
timotimo well, it's whatever is in $/ 15:53
and you usually have $/ be the first argument to action methods
tbrowder___ moritz: thanks
timotimo because the grammar engine passes the $/ from the match as the first argument
tbrowder___ timotimo: in the rakudo nqp grammar i see it always passed explicitly 15:54
timotimo how do you mean? 15:55
15:55 robertle_ left
Xliff m: %h = (a=>1,b=>2); %i = (c=>3,d=>4); %h.append: %i; %h.say 15:56
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '%h' is not declared
at <tmp>:1
------> 3<BOL>7⏏5%h = (a=>1,b=>2); %i = (c=>3,d=>4); %h.a
Xliff m: my %h = (a=>1,b=>2); my %i = (c=>3,d=>4); %h.append: %i; %h.say
camelia {a => 1, b => 2, c => 3, d => 4}
tbrowder___ is there a global $/ accessible to child methods?
moritz it's explicitly declared as a parameter; the passing happens implicitly
timotimo perl6 explicitly made $/ not be global
15:56 jameslenz left
moritz if you need to pass in more context into an action method, that's usually done through dynamic variables 15:57
15:57 domidumont left
tbrowder___ ok, i think i see, the grammar matches a token, and, if there is a corresponding method that’s the implicit passing but the method has an explicit $/ as first arg. 15:58
i am using some dynamic vars, but passing other vars from method to pod subs works well, too. 16:00
moritz the grammar matches a token, and if there is a method for the same name in the action method, it calls that, with the match as the first arg
buggable New CPAN upload: Sparrowdo-0.0.42.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo:cpan:MELEZHIK 16:01
moritz it doesn't do any introspection
if you write an action method that doesn't take an argument, that will cause an error
16:02 zakharyas left
moritz m: class Actions { method TOP() {} }; grammar A { token TOP { ^$} }; A.parse('', :actions(Actions)) 16:02
camelia Too many positionals passed; expected 1 argument but got 2
in method TOP at <tmp> line 1
in regex TOP at <tmp> line 1
in block <unit> at <tmp> line 1
16:02 zakharyas joined
tbrowder___ ok, thnx 16:02
16:02 scimon left
moritz (the extra argument is the invocant, which is why it complains about 2 and 1, not 1 and 0) 16:02
16:03 p6bannerbot sets mode: +v zakharyas 16:04 zakharyas left 16:05 zakharyas joined 16:06 p6bannerbot sets mode: +v zakharyas, zakharyas left
tbrowder___ i don’t see any arg :-( !! 16:07
16:07 zakharyas joined 16:08 p6bannerbot sets mode: +v zakharyas, dotdotdot left
moritz that's why it throws the error 16:08
m: class Actions { method TOP($/) {} }; grammar A { token TOP { ^$} }; A.parse('', :actions(Actions))
camelia ( no output )
moritz here the $/ is the parameter, hence no error
m: class Actions { method TOP($my-match) {} }; grammar A { token TOP { ^$} }; A.parse('', :actions(Actions))
camelia ( no output ) 16:09
moritz can call it anything you like :)
Xliff You can serialize and deserialize .perl output, correct? 16:10
You would need EVAL to deserialize though, correct?
tbrowder___ ok, i see clearly with the explicit arg, but i’m confused with no arg. where does the 2 come from? 16:11
16:12 kensanata left
moritz tbrowder___: the grammar engine calls $actions.TOP($match) 16:13
tbrowder___: $actions (the invocant) is the first arg, $match the second
Xliff: there are limits to what .perl can do though
Xliff moritz: Just a hash definition, but I still need MONKEY-SEE-NO-EVAL, for even basic EVAL usage. Makes it seem wrong, somehow. 16:15
tbrowder___ moritz: thnx, that helps, i forget about that implicit invocant thing
moritz Xliff: maybe use JSON instead? 16:16
16:17 dotdotdot joined
Xliff LOL! Good point. 16:17
16:17 p6bannerbot sets mode: +v dotdotdot
tbrowder___ speaking of implicit, is there an implicit value of the .ast on a match object when no make has been executed? 16:18
16:19 araraloren left
moritz easy to find out, no? 16:19
m: '' ~~ /^/ and say $/.made.perl 16:20
camelia Nil
tbrowder___ ok, you proved it, thanks. i can test for existence then. 16:21
thanks moritz and timotimo, back to the trenches with more confidence! 16:23
16:24 cono joined 16:25 p6bannerbot sets mode: +v cono
cono m: sub qwe($x) { $x.say }; my $y = (1,2,3).any; $y.say; qwe($y) 16:25
camelia any(1, 2, 3)
1
2
3
cono is there any way to pass junction into sub? instead of calling sub 3 times like in this example?
timotimo yes, the sub needs to take either Mu or Junction explicitly 16:26
m: sub qwe(Junction $x) { say "called"; say $x }; qwe(any(1, 2, 3))
camelia called
any(1, 2, 3)
cono but if I wanna pass Int sometimes, and sometimes junction ?
timotimo then use Mu 16:27
Mu is the superclass of Everything
the normal type constraint, however, is Any
cono ah, got it. thanks! 16:28
timotimo Any and Junction are both derived from Mu, so if you have an Int, it will match Any, but if you have a Junction, it won't, and that triggers the auto-threading that junctions do
16:29 dotdotdot left
cono ah, so when I write just simple sub q($x) its implicitly any ? 16:29
16:29 dotdotdot joined
timotimo yas 16:30
16:30 p6bannerbot sets mode: +v dotdotdot
timotimo yes* 16:30
cono timotimo++
16:38 dakkar left
Kaiepi m: subset Foo where * ~~ Int | Junction; my Foo $foo = any(1, 2, 3); say $foo 16:38
camelia Type check failed in assignment to $foo; expected Foo but got Junction (any(1, 2, 3))
in block <unit> at <tmp> line 1
Kaiepi damn 16:39
SmokeMachine m: subset Foo of Mu where * ~~ Int | Junction; my Foo $foo = any(1, 2, 3); say $foo 16:40
camelia any(1, 2, 3)
SmokeMachine Kaiepi: ^^ 16:41
16:42 zakharyas left
Kaiepi ah 16:44
SmokeMachine m: subset Foo where * ~~ Int | Junction; say Foo.^refinee
camelia (Any)
SmokeMachine m: subset Foo of Mu where * ~~ Int | Junction; say Foo.^refinee 16:45
camelia (Mu)
SmokeMachine m: say any(1,2) ~~ Any
camelia True
SmokeMachine m: say any(1,2) ~~ Mu 16:46
camelia True
SmokeMachine m: say Junction ~~ Any
camelia False
SmokeMachine m: say Junction ~~ Mu
camelia True
16:56 noganex_ left, noganex joined
Xliff timotimo: I have a grammar question for you, however I will have to gist it. You going to be around? 16:56
16:57 p6bannerbot sets mode: +v noganex 17:04 vrurg left, domidumont joined 17:05 p6bannerbot sets mode: +v domidumont 17:17 |oLa| joined 17:18 p6bannerbot sets mode: +v |oLa|
Xliff If I have a regex <section> that depends on a regex <stage>*. If there is a failure in <stage>, how can I make it RESTART parsing at the beginning of <section>? 17:29
I will gist this in a second.
17:29 AlexDani` joined 17:30 p6bannerbot sets mode: +v AlexDani`
timotimo i'm not sure how you try-catch inside of grammars 17:31
17:33 AlexDaniel left 17:43 xinming left, Kaiepi left, xinming joined 17:44 Kaiepi joined, p6bannerbot sets mode: +v xinming, AlexDani` is now known as AlexDaniel
Xliff Yeah. I've made progress. 17:44
17:44 p6bannerbot sets mode: +v Kaiepi
Xliff timotimo: I am having problems because the grammar catches the error, but doesn't advance the cursor to the next portion. 17:45
So it keeps getting the error, and the rest of the file fails out.
timotimo personally i'd try to force a non-match with <!>, but i don't know how to properly cascade it exactly as far as you want 17:48
Xliff gist.github.com/Xliff/12689c655f32...e6fe10496b 17:50
17:50 cognominal-p6 left
Xliff timotimo: Ah! THAT might have been what I am looking for. 17:50
I could find <?>, but didn't see any mention of <!> in the docs. Of course, I was looking selectively (which implies a bit of frantic) 17:51
17:52 jameslenz joined 17:53 p6bannerbot sets mode: +v jameslenz, zakharyas joined 17:54 p6bannerbot sets mode: +v zakharyas 17:56 jameslenz left
Geth doc: 1909220ecc | (Moritz Lenz)++ | doc/Language/regexes.pod6
Improve description of <?>
17:57
synopsebot Link: doc.perl6.org/language/regexes
17:57 rfold joined, lizmat joined, p6bannerbot sets mode: +v lizmat, ryn1x joined 17:58 p6bannerbot sets mode: +v rfold, troys joined, p6bannerbot sets mode: +v ryn1x 17:59 p6bannerbot sets mode: +v troys 18:04 zakharyas left
Geth doc: 5607305237 | Coke++ | doc/Type/Nil.pod6
whitespace
18:04
doc: 86b41f53c4 | Coke++ | doc/Type/Any.pod6
Fix code compilation
synopsebot Link: doc.perl6.org/type/Nil
Link: doc.perl6.org/type/Any
18:06 sno left 18:09 cognominal-p6 joined 18:10 p6bannerbot sets mode: +v cognominal-p6 18:11 zakharyas joined
Xliff timotimo: Yup! The match object is not advancing after the error. See updated gist: 18:11
gist.github.com/Xliff/12689c655f32...e6fe10496b
18:11 pmurias left, xinming left 18:12 p6bannerbot sets mode: +v zakharyas, pmurias joined, p6bannerbot sets mode: +v pmurias 18:15 uzl joined, p6bannerbot sets mode: +v uzl, pmurias left 18:18 pmurias joined, p6bannerbot sets mode: +v pmurias 18:19 pmurias left
uzl .tell Zoffix If you're still accepting alias suggestions, I have the following: Glor (Shortened version of Gloria), Larius and Pyrus (A genus which includes fruits as the pear). 18:22
yoleaux uzl: I'll pass your message to Zoffix.
18:22 xinming joined 18:23 pmurias joined, p6bannerbot sets mode: +v pmurias, p6bannerbot sets mode: +v xinming 18:29 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix uzl: no, there won't be any poll anymore. 18:29
It was a Plan B, but we got confirmation that Plan A will definitely happen, so there's no point in a poll 18:30
AlexDaniel which is great, I think
Zoffix colabti.org/irclogger/irclogger_log...8-10-18#l6
Yeah :)
uzl That sounds great! And here I was exercising my creative mind ;-) 18:31
moritz \o/ 18:32
18:36 cognominal-p6 left, cognominal-p6 joined 18:37 p6bannerbot sets mode: +v cognominal-p6 18:42 rfold left
El_Che uzl: Pyrus is terrible. Too close to Pyrrhus, know for the Pyrrhic victory (even worst in many languages, like Pyrrusoverwinning in Dutch) 18:45
SmokeMachine Is there anyone thinking od write a perl6 module for pulumi? 18:46
s/od/of/ 18:47
Zoffix timotimo: you know a lot about spesh? We got a blocker due to spesh changes and AFAIK jnthn is away github.com/rakudo/rakudo/issues/23...-431457419 18:49
18:52 bwisti left
uzl El_Che: Probably too close for its own good. Certainly an unwanted association with P6. 18:52
Zoffix SmokeMachine: FWIW, you can run individual test files with t/fudgeandrun S32-list/seq.t to check they pass before committing 18:55
18:55 fake_space_whale left
El_Che uzl: exactly :) 18:57
18:59 noganex_ joined
Zoffix .tell timotimo you know a lot about spesh? We got a release blocker due to spesh changes and AFAIK jnthn is away github.com/rakudo/rakudo/issues/23...-431457419 This PR avoids the issue, but doesn't fix the problem and I've zero idea about the impact of that change: github.com/MoarVM/MoarVM/pull/986 18:59
yoleaux Zoffix: I'll pass your message to timotimo.
18:59 Zoffix left 19:00 p6bannerbot sets mode: +v noganex_
Xliff gist.github.com/Xliff/12689c655f32...e6fe10496b 19:00
halp! ;)
19:01 ryn1x left 19:03 noganex left, lizmat left 19:04 agentzh joined, p6bannerbot sets mode: +v agentzh
moritz Xliff: what's line 66 of that script? 19:09
19:09 pmurias left 19:10 AlexDaniel left
Xliff It's changed since then, but this is the closest one: 19:10
make $/<stage_type> => $/<num>.Str.Num;
El_Che releasable6: status
timotimo zoffix, i'll have a look
yoleaux 18:59Z <Zoffix> timotimo: you know a lot about spesh? We got a release blocker due to spesh changes and AFAIK jnthn is away github.com/rakudo/rakudo/issues/23...-431457419 This PR avoids the issue, but doesn't fix the problem and I've zero idea about the impact of that change: github.com/MoarVM/MoarVM/pull/986
releasable6 El_Che, Next release in ≈23 hours. 2 blockers. 87 out of 473 commits logged (⚠ 1 warnings)
El_Che, Details: gist.github.com/a59a6da1fd8c7560bb...90f57d4b77
El_Che a day, good
a new ubuntu is out 19:11
SmokeMachine Zoffix: was that broken? I did that
Xliff moritz: Since stage is run again, I'm not surprised that's Nil. I should probably error check, there.
timotimo you did what?
19:11 noganex_ left
moritz Xliff: my guess is that the final newline of the error message isn't parsed 19:12
m: say "a\nb" ~~ /a $$ b/
19:12 holyghost left
camelia Nil 19:12
19:12 noganex joined 19:13 gfldex left, holyghost joined
moritz Xliff: the $$ is a zero-width match *before* the \n, nothing matches the \n itself 19:13
19:13 p6bannerbot sets mode: +v noganex
timotimo hm, where does Test::Utils live again ... 19:13
19:13 zakharyas left, p6bannerbot sets mode: +v holyghost
moritz and in the (\s* <num> \s*) branch, the second \s* noms the \n 19:13
timotimo got it
Xliff moritz: Which rule for the $$? err_msg? 19:14
19:14 pmurias joined, p6bannerbot sets mode: +v pmurias
Xliff moritz: Well, without that second \s*, regular processing doesn't work 19:15
moritz Xliff: correct, err_msg only matches to the position before the newline 19:17
Xliff \o/ 19:18
Adding a \s* after <err_msg> seems to have done the trick! /headdesk
19:18 gfldex joined 19:19 p6bannerbot sets mode: +v gfldex 19:21 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel
moritz strongly recommends "rule" where appropriate 19:23
timotimo zoffix, i can't reproduce the bug on my machine, but i have an idea what i can try; could you apply a patch locally and try if it changes anything? 19:24
19:28 domidumont left
timotimo zoffix, please try this patch: gist.github.com/timo/adbdf5632ddbf...a9e33976be 19:28
19:33 uzl left 19:38 sno joined, p6bannerbot sets mode: +v sno 19:40 pmurias left 19:41 pmurias joined, p6bannerbot sets mode: +v pmurias 19:46 patrickb joined 19:47 p6bannerbot sets mode: +v patrickb 19:48 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix SmokeMachine: plan wasn't updated. Fixed now tho 19:48
timotimo: `git apply` said invalid patch. I replicated it manually: gist.github.com/zoffixznet/5884811...95528ddbe2 19:49
timotimo: but it didn't fix the issue
19:53 zakharyas joined, jameslenz joined, p6bannerbot sets mode: +v zakharyas 19:54 p6bannerbot sets mode: +v jameslenz 19:58 jameslenz left
Zoffix timotimo: RE reproducing. Do you mean the hang or doubling of the time? I can't repro the hang on my VM either, but the time it takes to run that test file is 10-13s on HEAD vs. 5-6s on 2018.09 19:59
Zoffix is away for ~1hr 20:00
buggable New CPAN upload: App-Tasks-0.0.9.tar.gz by JMASLAK modules.perl6.org/dist/App::Tasks:cpan:JMASLAK 20:01
New CPAN upload: App-Perl6LangServer-0.1.0.tar.gz by AZAWAWI modules.perl6.org/dist/App::Perl6La...an:AZAWAWI 20:10
20:12 noganex_ joined 20:13 azawawi joined, p6bannerbot sets mode: +v azawawi, p6bannerbot sets mode: +v noganex_, vrurg joined
azawawi pasteboard.co/HJdw2UC.png # Regex-based outline view is now in App::Perl6LangServer 0.1.1 ... now we can enhance it :) 20:14
20:14 p6bannerbot sets mode: +v vrurg
AlexDaniel that looks awesome 20:14
or, well, sounds at least :) 20:15
azawawi hehe :)
20:16 noganex left
azawawi the funny thing we did the same code in Padre before... AST-based is just too much of hassle and hogs the atom ide-perl6 20:16
i tried perl6 --target=parse ... but no line number information.
SmokeMachine Zoffix: Im sorry
azawawi anyhow, we have at least lang server features implemented # see github.com/azawawi/app-perl6langserver for status 20:19
buggable New CPAN upload: App-Perl6LangServer-0.1.1.tar.gz by AZAWAWI modules.perl6.org/dist/App::Perl6La...an:AZAWAWI 20:20
azawawi next is the hover / help api hopefully :) 20:22
20:24 azawawi left 20:31 |oLa| left 20:49 zakharyas left 21:04 robertle left 21:06 molaf joined 21:07 p6bannerbot sets mode: +v molaf 21:12 vrurg left 21:15 vrurg joined 21:16 p6bannerbot sets mode: +v vrurg 21:24 cognominal-p6 left
El_Che AlexDaniel: Add supported for Ubuntu 18.10 and opensuse 15.0 to the canary 21:31
Zoffix timotimo: turns out it doesn't hang on my home box either, it just takes 40s to run vs. 5s on 2018.09 21:37
(and patch doesn't fix it)
El_Che AlexDaniel: s/Add/Added/ 21:39
Geth doc: 54bd58b1fa | (Nick Logan)++ | doc/Type/Kernel.pod6
Document $*KERNEL.hostname
21:46
doc: 31c64c2e2b | (Nick Logan)++ (committed using GitHub Web editor) | doc/Type/Kernel.pod6
Merge pull request #2394 from ugexe/add-kernel-hostname

Document $*KERNEL.hostname
synopsebot Link: doc.perl6.org/type/Kernel
21:54 jameslenz joined, p6bannerbot sets mode: +v jameslenz 21:58 cognominal-p6 joined, Zoffix left, p6bannerbot sets mode: +v cognominal-p6 21:59 patrickb left, jameslenz left 22:06 cognominal-p6 left, cognominal-p6 joined 22:07 p6bannerbot sets mode: +v cognominal-p6
Geth doc/revert-2394-add-kernel-hostname: d3799bbd83 | (Nick Logan)++ (committed using GitHub Web editor) | doc/Type/Kernel.pod6
Revert "Document $*KERNEL.hostname"
22:11
Xliff Unreleased, as yet.. but coming along... 22:12
gist.github.com/Xliff/03d67a02ca20...4471c2c4ee
AlexDaniel El_Che: nice 22:15
22:18 HaraldJoerg1 joined 22:19 p6bannerbot sets mode: +v HaraldJoerg1 22:20 pmurias left
timotimo zoffix, i can't reproduce the time difference either; the whole original test file takes just 3 seconds 22:37
AlexDaniel Zoffix: that was quick, thank you! 22:41
Kaiepi is there a less awkward way i could write this? hastebin.com/libecufuso.pl 22:42
timotimo m: my Blob $in = Blob.new(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5); $in.rotor(8, :partial).map({ say .perl }) 22:46
camelia (1, 2, 3, 4, 5, 1, 2, 3)
(4, 5, 1, 2, 3, 4, 5)
timotimo m: my Blob $in = Blob.new(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5); $in.rotor(8, :partial).map({ say Buf.new($_).perl })
camelia Buf.new(1,2,3,4,5,1,2,3)
Buf.new(4,5,1,2,3,4,5)
timotimo m: my Blob $in = Blob.new(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3); $in.rotor(8, :partial).map({ my $res = Buf.new($_); $res[7] = 0; say $res.perl }) 22:47
camelia Buf.new(1,2,3,4,5,1,2,0)
Buf.new(4,5,1,2,3,0,0,0)
22:47 aindilis left
timotimo Kaiepi: that gets you rid of the first three lines of the inner loop 22:48
22:48 aindilis` joined 22:49 p6bannerbot sets mode: +v aindilis`
Kaiepi thanks 22:51
22:54 HaraldJoerg1 left 22:55 kerframil joined, p6bannerbot sets mode: +v kerframil
timotimo Kaiepi: surely you can just return $out.list and then just "flat" the result of the map into the Blob.new constructor 22:56
22:57 thundergnat joined
Geth doc: c7e2667853 | (Christian Sánchez)++ | doc/Language/pod.pod6
Add links for needed modules in Rendering Pod section

Link for Pod::To::HTML = github.com/perl6/Pod-To-HTML Link for Pod::To::Markdown = github.com/softmoth/perl6-pod-to-markdown
22:58
synopsebot Link: doc.perl6.org/language/pod
doc: 4a8baea3c8 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Language/pod.pod6
Merge pull request #2396 from chsanch/add-links

Add links for needed modules in Rendering Pod section
22:58 vrurg left, p6bannerbot sets mode: +v thundergnat
thundergnat timotimo: Hey, thanks for the SDL2 bindings module. I've been playing around with it and it has been pretty cool. 22:59
Check out rosettacode.org/wiki/Polyspiral#SDL..._animation if / when you get a chance. 23:00
timotimo yeah, it's lots of fun
thundergnat I'm rather pleased with how that turned out. 23:01
timotimo is it fast?
thundergnat Fast enough. I've actually got a (small) sleep in it to allow me to enjoy the changing patterns. 23:02
BTW, you were saying earlier on #moarvm that you were looking for a multi-threaded, lots of garbage collection program for testing. Would something like rosettacode.org/wiki/Julia_set#Perl_6 work? 23:05
23:05 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix timotimo: if I setup a VM for you in ~15m, would you be able to ssh and debug that bug? 23:06
timotimo it surely won't be trivial, but i'd at least be able to have a closer look
Zoffix timotimo: what's your public key 23:08
timotimo ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAACAQDGAXUBv9QYkR9A56qa1NwboxnZNGY7Cz4waQBrhYc50691mX06TMGssRQZjmlr9Nu7NAOu9iO2/RzbWp8moJbfH16Gj+TXDBKWo4O4OAUhAcPiNk9/fs5VnHp3jslt1tIVmf8aCugorbVRzrP112Y7VtZdJkDi8LhE+7jOwz7O3Jjx3SJJKRBr2zLiRpozPi62dnEctwRL41/VG1yfLMfWEtuTgWyu6sWebov/kDuRXo8wr53fPm/KwyNmaGvT2sX2NdeJOhjcNJO24tm42OfDmYzaib8wRsDQWDTAMU+/vA8Ugflkv0xIZrkE+DavuS1l3rke45zgDUbGjtZZPFm2K9HmJMq6bt3D2aErZ4Vcv7RNsGWl/E6tTgnLJchEL
F2MWGNbTDjLIsYguIrIoboc72NU0ykGH42B2waXCv1UUGqOUk3GORj5HXQ1z7MCHuDWBMuFwRdTJ5tFt9ryS6E9lKNqTpEbTPkA+i1Qgdt4wYPPugDR/G67L4tWK5FmE6h0sVIsuW1l1EMzj5opj8g+iwvjNyZICWOkmNNhOtOiFeUhHg9WtBvwKotNfNe8iV/VGKt7umW1k4MK25KlhtTcg20XPr/oiwGWR/C4bmccKbHZYbvaACcSLeGevnj+oxZycf2OEvgPC0NZW1c1QawIEwAni+wP9BqsYANy2sbfnw==
ugh, irc garbled it
want it in a different format?
Zoffix I'll copy it form here github.com/timo.keys 23:09
Kaiepi that'd probably work timotimo
timotimo ah, that's what that is called
i tried github.com/timo/keys.pub
23:11 pecastro left 23:25 Bucciarati left, Bucciarati joined
Zoffix +5 more mins.. Just installing zscript and then clone and build a rakudo and I'm ready 23:25
23:26 p6bannerbot sets mode: +v Bucciarati 23:30 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke, rindolf left
Zoffix god this is taking ages :) 23:32
at least I can repro the bug 23:34
timotimo: ssh [email@hidden.address] MoarVM sauce is in ~/R/MoarVM/ just type `z m` to rebuild it with zscript after making change. The bug can be reproed in ~/R/rakudo/ with `declutter; time ./perl6 t/spec/S32-io/io-cathandle.rakudo.moar` which takes 21s, while you can see that running 2018.09 with `declutter; time perl6 t/spec/S32-io/io-cathandle.rakudo.moar` takes just 3s 23:38
timotimo OK, so "perl6" is 2018.09 and ./perl6 is the one with the bug
Zoffix timotimo: note that script is the fudged file and if you make changes to the test file, don't forget to have the fudger rebuild it: `z t S32-io/io-cathandle.t`
timotimo: yeah
timotimo is this VM on your puter, or is it like a cloud thing? 23:39
Zoffix cloud
timotimo is declutter necessary every time?
Zoffix yeah
it nukes precomp files
timotimo does it remove prec... oh
i don't think i did that on my machine 23:40
perhaps that's how i wasn't able to reproduce it locally 23:41
which precomp file exactly is important, the one in t/spec/packages?
Zoffix Not sure
timotimo locally i had to set a -I to get it to work, but that was probably because i was running the golfed file from /tmp 23:42
could you be so kind as to install gdb? 23:45
Zoffix timotimo: done 23:46
timotimo: doesn't look like there's a sudo password. Just install anything you want. It's a throwaway VM 23:47
timotimo ok, thanks!
does zscript have something to get moar configured with --opmitize=0 --debug=3? 23:48
Zoffix timotimo: run z md
timotimo nice. 23:49
Z Md.
Zoffix timotimo: you can manually reconfigure it by setting prefix to ~/R/install
timotimo man, i should get zscript for my own machine 23:50
Zoffix ^_^
timotimo i'd just have to nuke my current ~/perl6
well, or just slowly let it die
Zoffix huggable: zscript
huggable Zoffix, Helper script for Rakudo Perl 6 core development: github.com/zoffixznet/z
23:54 jameslenz joined 23:55 p6bannerbot sets mode: +v jameslenz
Xliff Zoffix: What's the largest P6 project you are aware of? 23:57
Zoffix Rakudo? :)
Xliff :)
Does around 10m for 336 p6 files sound too long?
Zoffix No idea. I know it's fairly slow. Rakudo takes 80 seconds to compile; and that's with all the files concatenated together 23:58
timotimo if i finish with the vm, shall i `sudo shutdown` it?
Zoffix timotimo: yeah 23:59
timotimo oh
23:59 jameslenz left