»ö« 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
|