»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
timotimo | the code gen is silly | 00:01 | |
there's 5 getlex instructions in a row, with a single atpos_i in the middle to break them up ... these getlexes are for $ii and $ip | 00:02 | ||
00:04
Zoffix left
|
|||
timotimo | in another block it's getlex $i, getlex $r, bindpos_i, getlex $r | 00:04 | |
that'd only have to be two getlexes, too | |||
00:05
pharv_ left
00:08
vike joined,
pharv joined
00:10
kaare__ joined,
pharv left,
kaare_ left
00:11
pharv joined
00:12
Kaiepi is now known as PufferBot
00:13
PufferBot is now known as Kaiepi,
Kaiepi is now known as PufferBot,
PufferBot is now known as Morfent,
Morfent is now known as Kaiepi
|
|||
timotimo | one more opportunity for speed improvements is that the code isn't sure about the type of $d, i.e. the list_i that gets created early on | 00:20 | |
00:21
rindolf left
|
|||
timotimo | so every atpos_i and bindpos_i that gets called on it is pessimized into a virtual function call | 00:21 | |
00:21
comborico1611 left
00:28
pecastro left
00:29
pecastro joined
00:33
cog__ joined
00:36
cog_ left
00:40
konsolebox left
00:42
konsolebox joined
00:50
pharv left
|
|||
japhb | timotimo: How would you make it certain? | 00:53 | |
timotimo | at the moment the 0th frame is joined into the call graph, that's usually related to handlers being present | 00:54 | |
so anyway | 00:56 | ||
i took a heap snapshot profile of the hyper-grep-isprime thing, and the number of frames in each successive snapshot grows at least quadratically | 00:57 | ||
00:57
mingdao joined
|
|||
timotimo | hmpf. i don't know how regression in libreoffice works | 01:02 | |
01:03
perlpilot joined
01:04
wamba joined
|
|||
timotimo | oh yeah this is totally exponential | 01:05 | |
perlpilot | greetings | ||
timotimo | .tell jnthn a heapsnapshot on hypergrepping for .is-prime gives me a frame count that grows exponentially ... we might want to change something about that :) | 01:07 | |
yoleaux | timotimo: I'll pass your message to jnthn. | ||
perlpilot | Are there any updates to the Rakudo/NQP internals course? I was going through it and the part where you set the operator precedences for the Rubyish grammar seems to blow up. | 01:12 | |
timotimo | it's not actively maintained to my knowledge, though i imagine pull requests might be welcome? | 01:13 | |
perlpilot | The call to Rubyish::Grammar.O(':prec<u=>, :assoc<left>', '%multiplicative'); generates "Too many positionals passed; expected 1 argument but got 3" when I run it | ||
01:13
Kaiepi left
|
|||
timotimo | i'd say check out how rakudo's O works, it's probably the same one | 01:13 | |
.tell jnthn here's the framecounts for getting the 20_000th prime: hack.p6c.org/~timo/exponential_framecounts.png | 01:17 | ||
yoleaux | timotimo: I'll pass your message to jnthn. | ||
01:17
Kaiepi joined
|
|||
timotimo | oh, huh, what's wrong with hack | 01:17 | |
Geth | doc: e8f383d580 | (Samantha McVey)++ | doc/Language/unicode.pod6 Add a heading and expand the section on Unicode Normalization See issue #1517 |
||
synopsebot | Link: doc.perl6.org/language/unicode | ||
timotimo | it just doesn't do https? | 01:18 | |
.tell jnthn actually can't use https on hack, so: hack.p6c.org/~timo/exponential_framecounts.png | |||
yoleaux | timotimo: I'll pass your message to jnthn. | ||
01:18
w_richard_w joined
01:21
pharv joined,
shinobi-cl joined
01:25
perlpilot left
01:26
pharv left
01:36
pharv joined
|
|||
timotimo | .tell jnthn also, here's the "top frames by count": gist.github.com/timo/3ef8b2c702fe4...83ad274834 | 01:37 | |
yoleaux | timotimo: I'll pass your message to jnthn. | ||
01:43
pharv left
02:00
pharv joined
|
|||
shinobi-cl | hi all.... how can i make a .t file that detects if a module is present, and skips if it is not there? | 02:12 | |
i tried use-ok, but since i try to use methods from that library, it fails at compiling. | |||
02:20
perlpilot joined
02:23
pierre joined
02:25
Kaiepi left
02:26
Kaiepi joined
02:28
pierre left
02:30
lookatme left
02:32
cdg joined
02:33
pierre joined,
pharv left,
pharv joined
02:36
Zoffix joined
02:37
pierre left,
cdg left
|
|||
Zoffix | shinobi-cl: (try require The::Module) === Nil and plan :skip-all<Module The::Module is not installed>; plan 42; .... tests here | 02:37 | |
02:38
pharv left
|
|||
Zoffix | perlpilot: not much have changed. the O thing is now written with literal named params instead of a string, like here: github.com/rakudo/rakudo/blob/mast....nqp#L4014 Also the examples in the repo are probably more recent: github.com/edumentab/rakudo-and-nq...r/examples | 02:39 | |
perlpilot: also, perl7 repo should be usable as an example (if HEAD doesn't compile, try a few earlier commits): github.com/perl7/perl7 | |||
02:41
shinobi-cl left
|
|||
Zoffix | .tell shinobi-cl (try require The::Module) === Nil and plan :skip-all<Module The::Module is not installed>; plan 42; .... tests here; Like this: gist.github.com/zoffixznet/ea011be...43fed58b95 | 02:42 | |
yoleaux | Zoffix: I'll pass your message to shinobi-cl. | ||
Zoffix | m: gist.github.com/zoffixznet/ea011be...43fed58b95 | ||
camelia | 1..0 # Skipped: Module The::Module is not installed | ||
Zoffix | m: gist.github.com/zoffixznet/8e32ef2...39c3f9c175 | ||
camelia | 1..2 ok 1 - 42 is OK ok 2 - 42 is 42 |
||
02:44
ilbot3 left
02:50
pierre joined
|
|||
thowe | Hm, list price just dropped way down on Moritz' books(!) | 02:51 | |
well, I just noticed anyway... | 02:53 | ||
02:54
Zoffix left
|
|||
thowe | only 2 left in stock. Are Perl6 books selling well? That would be nice... | 02:55 | |
02:56
ilbot3 joined,
ChanServ sets mode: +v ilbot3
03:00
pierre left
03:02
pharv joined
03:05
pierre joined
03:06
pharv left
03:09
pierre left,
gabiruh left
03:15
kaare__ left,
kaare__ joined
03:16
pharv joined
03:23
pierre joined
03:27
pierre left,
pierre joined
03:28
gabiruh joined,
pierre left
03:32
cog_ joined
|
|||
perlpilot | Zoffix: thanks. | 03:34 | |
03:34
cog__ left
03:36
konsolebox left
03:37
pierre joined
03:43
konsolebox joined
03:44
stmuk_ joined
03:46
stmuk left
03:47
ufobat_ joined
03:50
w_richard_w left,
ufobat___ left,
kaare_ joined
03:51
kaare__ left
04:00
stmuk joined
04:02
stmuk_ left
04:03
cognominal joined
04:04
cog_ left
04:08
pharv left,
pharv joined
04:09
gabiruh left
04:10
cog_ joined
04:12
cognominal left
04:16
unicodable6 left,
unicodable6 joined
04:18
thowe left
04:24
gabiruh joined
04:47
cdg joined
04:49
kaare_ left
04:50
kaare_ joined,
pierre left
04:51
pierre joined
04:52
cdg left
04:55
pierre left
04:59
kaare_ left
05:00
kaare_ joined
05:02
xtreak joined
05:22
kaare_ left,
kaare_ joined
05:27
perlpilot left
05:31
kaare_ left
05:32
kaare_ joined
05:34
wamba left
05:41
vike left
05:44
kaare_ left
05:45
kaare_ joined
05:52
curan joined
06:01
pierre joined
06:02
doesthiswork1 joined
06:06
xtreak left
06:15
xtreak joined,
Aceeri_ joined
06:17
wamba joined
06:19
espadrine left
06:21
troys left,
eliasr left
06:23
stanley joined
06:32
xtreak left,
xtreak joined
06:33
xtreak_ joined,
skids left
06:34
darutoko joined
06:36
xtreak left
06:39
khw left
06:46
domidumont joined
06:53
domidumont left
06:54
domidumont joined,
domidumont left
06:55
robertle left
07:06
ufobat_ is now known as ufobat
07:08
cdg joined
07:13
cdg left
07:14
kaare__ joined,
kaare_ left
|
|||
Geth | doc: 3134fb2277 | (JJ Merelo)++ | doc/Type/Proc/Async.pod6 Wrong links refs #561 |
07:19 | |
synopsebot | Link: doc.perl6.org/type/Proc::Async | ||
07:19
domidumont joined
07:23
daxim joined
07:29
doesthiswork1 left
07:30
_28_ria left
07:31
alpha6 left,
_28_ria joined
07:32
imcsk8_ left
07:33
imcsk8 joined
07:44
cdg joined
07:49
cdg left
07:50
xtreak_ left
07:52
xtreak joined
08:28
AlexDaniel joined
08:35
Aceeri_ left
08:38
dakkar joined
|
|||
lizmat clickbaits p6weekly.wordpress.com/2018/03/05/...atic-perl/ | 08:49 | ||
08:50
_28_ria left
08:51
_28_ria joined
08:53
renormalist joined
08:56
_28_ria left
08:59
robertle joined
09:03
pharv left,
pharv joined
09:05
xtreak left
09:07
pharv left
|
|||
perlbot | daxim pasted a new file at perl.bot/p/dlsb6s - openSUSE package is broken | 09:17 | |
daxim | !tell dnh <perl.bot/p/dlsb6s> do you feel responsible? | ||
09:21
cdg joined
09:26
cdg left
09:33
xtreak joined
09:43
sproctor joined,
sproctor left,
lalitmee joined,
lalitmee left
09:44
pierre left,
scimon joined
09:45
pierre joined,
lalitmee joined,
lalitmee left
09:46
lalitmee joined
09:48
rindolf joined
09:49
pierre left
09:51
cdg joined
09:52
kaare_ joined
|
|||
rindolf | Hi all | 09:52 | |
lizmat: here? | 09:53 | ||
09:53
kaare__ left
|
|||
lizmat | yeah, looking at it now, but will need to be afk for a few hours soon | 09:53 | |
09:56
daxim left,
cdg left
|
|||
lizmat | afk& | 09:56 | |
perlbot | daxim pasted a new file at perl.bot/p/7usp27 - rakudo-2018-02.1 tests broken | 09:58 | |
09:58
pierre joined
09:59
daxim joined
10:00
mcmillhj joined
10:04
mcmillhj left
10:11
Alikzus_ left
10:24
pharv joined
10:29
pharv left
10:33
pierre left
10:36
zakharyas joined
10:42
pierre joined
10:47
pierre left
10:52
sena_kun joined
10:54
pierre joined
11:26
stmuk_ joined
11:29
stmuk left
|
|||
Geth | whateverable: 088eae0b0b | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files Understand reset/delete and “foo clear” Resolves #291. Now it will accept any of clear|reset|delete keywords, and also in any configuration (before or after the topic). As for the code, I have no idea how to make it better. Seems like I can't expect the constraint to set $/ so I have to do it manually. It's weird and I don't know how to do better. |
11:46 | |
AlexDaniel | daxim: hey, but there were some problems with jvm tests for quite some time, no? | 11:50 | |
11:50
pierre left,
pierre joined
11:55
pierre left
12:14
xtreak left
12:15
wamba left
12:23
pharv joined
12:27
pharv left
12:33
MasterDuke left
|
|||
ZzZombo | m: say (1,2,3) [Z>=] 1 | 12:33 | |
camelia | (True) | ||
ZzZombo | what are the alternatives, besides a junction? | ||
timotimo | don't forget that Z will stop at the shorter list, so 2, and 3 aren't considered in that code | 12:35 | |
m: say (1, 2, 3) [X>=] 1 | |||
camelia | (True True True) | ||
timotimo | m: say (-1, 0, 1, 2, 3) [X>=] 1 | ||
camelia | (False False True True True) | ||
ZzZombo | ah | 12:36 | |
yea, I keep mixing them up | |||
timotimo | and the square brackets are not necessary | ||
ZzZombo | Really, the doc page should be split into separate per each category. It gives me headache every time I have to use it, that's why I didn't bother double checking now. | 12:37 | |
timotimo | you mean the operators page? | 12:38 | |
ZzZombo | Yes. | ||
jkramer | m: say <foo bar baz>.grep('bar'); | ||
camelia | (bar) | ||
12:38
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
jkramer | m: say (False, True, False).grep(True) | 12:38 | |
camelia | Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block? in block <unit> at <tmp> line 1 |
||
jkramer | Why can't I grep for True like that? | ||
timotimo | m: say (False, True, False).grep(*.so) | ||
camelia | (True) | ||
jkramer | Seems inconsistent | ||
timotimo | no, it's Smart Matching Rules | 12:39 | |
ZzZombo | Because | ||
timotimo | False always fails, True always succeeds | ||
ZzZombo | m: 0 ~~ True | ||
camelia | Potential difficulties: Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead at <tmp>:1 ------> 030 ~~ 7⏏5True |
||
ZzZombo | m:say 0 ~~ True | ||
evalable6 | Potential difficulties: Smartmatch against True always matches; if you mean to test the topic for truthiness, use :so or *.so or ?* instead at /tmp/gzdifU9lno:1 ------> 03say 0 ~~ 08⏏04True True |
||
jkramer | Ah ok | ||
timotimo | among other things it lets you put a regular boolean expression after a "when" | ||
m: given 123 { when "hello".uc eq "HELLO" { say "i know this to be true" } } | 12:40 | ||
camelia | i know this to be true | ||
ZzZombo | m: 0 ~~ :so | 12:41 | |
camelia | ( no output ) | ||
ZzZombo | m: say 0 ~~ :so | ||
camelia | False | ||
ZzZombo | Where the `:so` thing is documented? First time I read about it. | ||
timotimo | it's smart match against a Pair | ||
m: say "hello" ~~ uc => "HELLO" | 12:42 | ||
camelia | True | ||
timotimo | it calls the method in the key and compares the result to the value | ||
docs.perl6.org/routine/ACCEPTS#class_Pair | 12:43 | ||
ZzZombo | m: say :a ~~ :a | ||
camelia | True | ||
ZzZombo | m: say :a ~~ :b | ||
camelia | True | ||
ZzZombo | Really? | ||
timotimo | i'm not entirely sure what the idea behind "the keys are not considered and can be different" is | ||
oh, it only checks the .Bool for comparison after calling the method? | 12:44 | ||
m: say "hello" ~~ uc => "GOODBYE" | |||
camelia | True | ||
timotimo | damn | ||
ZzZombo | LOL | ||
timotimo | i don't like that :( | ||
12:50
xtreak joined
12:51
xtreak left
|
|||
timotimo | ah, we can't just use ~~ instead because that would mean if the pair's value is True, it would accept anything at all | 12:51 | |
let me see if spec tests blow up if that changes to eqv, though | 12:52 | ||
smart match against Pair was meant as a generalization of file test syntax from perl 5 | 12:55 | ||
DrForr | Huh. Apparently App::mi6 assumes that a .pm6 file always has a 'class' rather than 'grammar'? | ||
timotimo | that's why it compares booleans; it was for things like "is it a file?" or "does it exist?" or "is it executable" | ||
there's a test that covers the boolification behavior of Pair.ACCEPTS | 12:57 | ||
ZzZombo | Anyway, `Pair:D ~~ Pair:D` should be like `$l.key eq $r.key && $l.value eq $r.value`, IMO. | 13:04 | |
13:07
riatre left,
Zoffix joined
|
|||
Zoffix | timotimo: is it a spectest or a proptest, though? | 13:08 | |
13:08
riatre joined
|
|||
Zoffix | ZzZombo: that's terrible. `Mu => Int ~~ Num => Any` would be true, for example | 13:08 | |
13:08
pierre__ joined
|
|||
ZzZombo | That's the general idea. The contents of two pairs must be equal for `~~`. | 13:09 | |
Zoffix | ZzZombo: what does "equal" mean though? There are different equality tests. | 13:10 | |
The `:a ~~ :b` is true because values are compared. | 13:11 | ||
13:13
kurahaupo left,
eliasr joined
|
|||
ZzZombo | I dunno, maybe in the `cmp` sense. | 13:15 | |
Zoffix | `eqv` isn't that great either, considering it can't be used with some things. comparing .Bools is pretty good IMO, as the common usecase is comparing with Bool-valued pairs ("foo".IO ~~ :f&:!s) | ||
ZzZombo: then `Mu => Int ~~ Num => Any` is again True :S | 13:16 | ||
ZzZombo | I said "sense". Maybe we will have to invent a new compare routine, may be not, if ever it actually will be subject to change. | 13:17 | |
Zoffix | heh | 13:18 | |
m: my $a := (Mu|Any) => Int; my $b := (Mu|Any) => Int; say (try $a.key eqv $b.key && $a.value eqv $b.value) || False | 13:19 | ||
camelia | False | ||
Zoffix | Using `eqv` would make this False, despite Pairs being identical. | 13:20 | |
m: my $a := 42 => [1...*]; say (try $a.key eqv $a.key && $a.value eqv $a.value) || False | 13:21 | ||
camelia | True | ||
Zoffix | m: my $a := 42 => [1...*]; my $b := 42 => [1...*]; say (try $a.key eqv $b.key && $a.value eqv $b.value) || False | ||
camelia | False | ||
Zoffix | And this weirdness, due to `eqv` not being applicable to everything. | 13:22 | |
m: -> $ where :blumber {}(42) | 13:24 | ||
camelia | No such method 'blumber' for invocant of type 'Int' in block <unit> at <tmp> line 1 |
||
Zoffix | R##1594 | 13:26 | |
R#1594 | |||
synopsebot | R#1594 [open]: github.com/rakudo/rakudo/issues/1594 Pair.ACCEPTS violates "smartmatch never explodes" paradigm | ||
13:26
Zoffix left
13:29
lalitmee left,
kurahaupo joined
13:34
cgfbee left
|
|||
lizmat | .tell rindolf I've added a comment to Zoffix's gist with a change, it's now about 3x as fast | 13:38 | |
yoleaux | lizmat: I'll pass your message to rindolf. | ||
rindolf | lizmat: hi | ||
yoleaux | 13:38Z <lizmat> rindolf: I've added a comment to Zoffix's gist with a change, it's now about 3x as fast | ||
13:40
Zoffix joined
|
|||
Zoffix | lizmat: wow! | 13:40 | |
lizmat | Zoffix: you did all the work, but missed making a temp an int rather than an Int, in the hottest loop :-) | ||
13:40
cgfbee joined
|
|||
Zoffix | lizmat: which gist BTW? github doesn't send notifications | 13:41 | |
timotimo | ad567d7577 S02-types/pair.t (Zoffix Znet 2017-05-06 01:05:21 -0400 405) is-deeply :!bar .ACCEPTS(Foo), True, 'custom class (True, 3)'; | ||
13:41
aborazmeh left
|
|||
timotimo | that makes it a proptest perhaps? | 13:41 | |
i should checkout the 6.c branch | |||
Zoffix | timotimo: May 6, 2017 so yeah. Anything that isn't in 6.c-errata is a proptest | 13:42 | |
timotimo | t/spec/S03-smartmatch/any-pair.t and t/spec/S32-io/file-tests.t also have failures | ||
Zoffix | lizmat: ah, yeah, timotimo++ pointed that one out yesterday. Also timo pointed out that making Token mandatory makes the thing like 76% faster. This is the gist from yesterday that runs 2.5x faster than P5: gist.github.com/zoffixznet/4df7a30...fb65bbb0a4 | 13:43 | |
And there looks to be an opportunity to make better codegen too: irclog.perlgeek.de/perl6/2018-03-06#i_15888206 | |||
timotimo | "missed a temp"? | 13:44 | |
ah, temporary variable | |||
lizmat | yeah, sorry | ||
timotimo | i missed the "making a temp" part | 13:45 | |
the "making" | |||
anyway, changing Pair.ACCEPTS to eqv the result of the call to the value of the pair itself breaks testing :s for "nonzero size" | |||
Zoffix | :) | 13:46 | |
timotimo | we could do things differently based on whether it's a True/False valued Pair or any other value | ||
lizmat | I vaguely remember asking TimToady once why Pair.ACCEPTS(Pair) is only checking values | ||
what I remember of it, is that it was intentional | |||
timotimo | right, it definitely seems intentional | 13:47 | |
Zoffix | timotimo: like smartmatch the values instead of `eqv` or bool tests? | ||
timotimo | smartmatching the values wouldn't work unless special-cased for Bool | ||
because then foo => True would always give true - unless maybe the method doesn't exist or throws an exception | |||
Zoffix | Ah right | ||
timotimo | m: "hello" ~~ :nosuchmethod | 13:48 | |
camelia | No such method 'nosuchmethod' for invocant of type 'Str' in block <unit> at <tmp> line 1 |
||
timotimo | do we want this to throw that exception btw? | ||
Zoffix | No, R#1594 | ||
synopsebot | R#1594 [open]: github.com/rakudo/rakudo/issues/1594 [LHF] Pair.ACCEPTS violates "smartmatch never explodes" paradigm | ||
Zoffix | Because we use it in `where` constraints and `when` smartmatching too; exploding in smartmatch is very LTA | ||
timotimo | yeah | 13:49 | |
how bad would it be to have it return the exception as Failure? | |||
that wouldn't explode in a "when" i believe | 13:50 | ||
Zoffix | Do we ever do that in smartmatch? I think other than special-casing for regexes, we always return a Bool:D, no? | ||
Geth | whateverable: 22a1558c31 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 4 files Oops. Make sure the config was read This is needed after 058f04328f4455af35ed2a40b355abd5b2628a84. Hypothetically there can be some logic that will read it lazily on the first access, but for now this will do. |
||
whateverable: 55e0f437df | (Aleks-Daniel Jakimenko-Aleksejev)++ | bin/Shareable.p6 Redirect to the git repo Maybe it should redirect to the wiki instead? Rhesolves #295, tests needed. |
|||
timotimo | m: class PPair is Pair { method ACCEPTS { try { callsame; CATCH { default { fail $_ } } } } }; my $matcher = PPair.new(:key("hi"), :value(123)); say "frob" ~~ $matcher | 13:51 | |
camelia | Too many positionals passed; expected 1 argument but got 2 in method ACCEPTS at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
timotimo | m: class PPair is Pair { method ACCEPTS(|) { try { callsame; CATCH { default { fail $_ } } } } }; my $matcher = PPair.new(:key("hi"), :value(123)); say "frob" ~~ $matcher | ||
camelia | No such method 'hi' for invocant of type 'Str' in block at <tmp> line 1 in method ACCEPTS at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
timotimo | m: class PPair is Pair { method ACCEPTS(|) { try { callsame; CATCH { default { fail $_ } } } } }; my $matcher = PPair.new(:key("hi"), :value(123)); given "frob" { when $matcher { say "oh" } } | ||
camelia | No such method 'hi' for invocant of type 'Str' in block at <tmp> line 1 in method ACCEPTS at <tmp> line 1 in block <unit> at <tmp> line 1 |
13:52 | |
Zoffix | That's overengineering IMO, also, I think that'd be affected by the unhandled-failures-in-GC issue | ||
timotimo | the when would handle it, i believe? | ||
m: class PPair is Pair { method ACCEPTS(|) { say "my own accepts method"; try { callsame; CATCH { default { fail $_ } } } } }; my $matcher = PPair.new(:key("hi"), :value(123)); given "frob" { when $matcher { say "oh" } } | |||
camelia | my own accepts method No such method 'hi' for invocant of type 'Str' in block at <tmp> line 1 in method ACCEPTS at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
timotimo | m: class PPair is Pair { method ACCEPTS(|) { say "my own accepts method"; try { callsame; CATCH { default { say "caught the exception"; fail $_ } } } } }; my $matcher = PPair.new(:key("hi"), :value(123)); given "frob" { when $matcher { say "oh" } } | 13:53 | |
camelia | my own accepts method No such method 'hi' for invocant of type 'Str' in block at <tmp> line 1 in method ACCEPTS at <tmp> line 1 in block <unit> at <tmp> line 1 caught the exception |
||
timotimo | ..huh? | ||
13:54
xtreak joined
|
|||
Zoffix | m: my $m := (Failure.new xx 100).one; for ^100_000 { my $ = 42 ~~ $m } | 13:55 | |
camelia | ( no output ) | ||
Zoffix | s: ().one, 'ACCEPTS', \(42) | ||
SourceBaby | Zoffix, Something's wrong: ERR: | ||
13:55
xtreak left
|
|||
Zoffix | stupid robot | 13:55 | |
13:57
mcmillhj joined
|
|||
Zoffix | m: for ^4000 { my $ = 42 ~~ [(42, Failure.new xx 100).flat].any } | 13:58 | |
camelia | (timeout)WARNING: unhandled Failure detected in DESTROY. If you meant to ignore it, you can mark it as handled by calling .Bool, .so, .not, or .defined methods. The Failure was: Failed in block <unit> at <tmp> line 1 WARNING: unhandled Fail… |
13:59 | |
Zoffix | There we go. | ||
timotimo | i'm not sure we're talking about the same thing? | ||
14:00
doesthiswork joined,
athenot joined
|
|||
Zoffix | timotimo: well, if you're trying to propagate the Failure, what's the return value for `"foo" ~~ :uc | :blarg` ? | 14:01 | |
If it's a Junction given to a `where`, the above is what'd happen with it. | |||
But also, why propagate the Failure? Why is it beneficial for `say "foo" ~~ :blarg` to blow up? | |||
m: say "foo" ~~ 42 | |||
camelia | False | ||
Zoffix | Considering we don't propagate the Failure here and give False instead. | 14:02 | |
timotimo | m: sub fails { fail "oh no" }; say fails | ||
camelia | oh no in sub fails at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
timotimo | m: sub fails { fail "oh no" }; say fails; say "lives" | ||
camelia | oh no in sub fails at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
timotimo | ah | ||
i agree, it most probably shouldn't blow up | |||
Zoffix & | |||
14:02
Zoffix left
14:04
vike joined
14:06
shareable6 left
14:07
shareable6 joined,
ChanServ sets mode: +v shareable6
14:08
shareable6 left,
shareable6 joined
14:11
shareable6 left
|
|||
jkramer | is there a way (or module) for reading single keys from stdin without buffering, like Term::ReadKey? | 14:11 | |
14:12
shareable6 joined,
ChanServ sets mode: +v shareable6
|
|||
timotimo | docs.perl6.org/routine/getc - read the "waiting for potential combiners" section, it might be what you're having problems with | 14:12 | |
otherwise termios lets you do things like setting the terminal raw, that'll give you data immediately after typing | 14:13 | ||
if you'd like to go without a module, you can also shell out to "stty" i believe | 14:14 | ||
jkramer | timotimo: Thanks, termios was what I was looking for | 14:15 | |
14:16
shareable6 left
14:18
vcv joined
14:20
shareable6 joined,
ChanServ sets mode: +v shareable6
14:21
pharv joined
14:22
shareable6 left,
shareable6 joined,
ChanServ sets mode: +v shareable6
|
|||
timotimo | \o/ | 14:23 | |
moritz | iOS running in a term-inal? :-) | ||
14:24
shareable6 left
14:25
kaare_ left
14:26
pharv left,
kaare_ joined
14:30
shareable6 joined,
ChanServ sets mode: +v shareable6
|
|||
jkramer | m: for ("x", "y") x Inf { .say, sleep 1 } | 14:30 | |
camelia | Cat object not yet implemented. Sorry. in block <unit> at <tmp> line 1 |
||
jkramer | What does that mean? :D | ||
ZzZombo | m: say 1 x 2 | 14:31 | |
camelia | 11 | ||
ZzZombo | m: say 1 x Inf | ||
camelia | Cat object not yet implemented. Sorry. in block <unit> at <tmp> line 1 |
||
ZzZombo | lolwut | ||
timotimo | infinite/lazy strings would use the Cat type | 14:32 | |
14:32
doesthiswork left
|
|||
timotimo | the message should probably point out why that leads to this | 14:32 | |
ZzZombo | Why 'Cat'? | 14:33 | |
14:34
shareable6 left,
shareable6 joined
|
|||
timotimo | as in "concatenation" | 14:34 | |
moritz | becaues we already have Rats? :/ | 14:35 | |
ZzZombo | I demand adding in Ants as well. | ||
timotimo | what would a Dog do | ||
moritz | it'd use the KitchenSink, of course :-) | 14:42 | |
14:43
curan left
14:46
skids joined
14:47
athenot left,
reportable6 left,
evalable6 left,
squashable6 left,
releasable6 left,
nativecallable6 left,
bisectable6 left,
greppable6 left,
quotable6 left,
unicodable6 left,
statisfiable6 left,
notable6 left,
bloatable6 left,
committable6 left,
shareable6 left,
benchable6 left,
coverable6 left
14:48
athenot joined,
nativecallable6 joined,
ChanServ sets mode: +v nativecallable6,
committable6 joined,
notable6 joined,
ChanServ sets mode: +v notable6,
releasable6 joined,
quotable6 joined,
ChanServ sets mode: +v releasable6,
ChanServ sets mode: +v quotable6,
bisectable6 joined,
bloatable6 joined,
reportable6 joined,
ChanServ sets mode: +v reportable6,
coverable6 joined,
benchable6 joined,
ChanServ sets mode: +v benchable6,
evalable6 joined,
statisfiable6 joined
14:49
unicodable6 joined,
ChanServ sets mode: +v unicodable6,
greppable6 joined,
squashable6 joined,
ChanServ sets mode: +v squashable6,
comborico1611 joined,
shareable6 joined
14:50
shareable6 left,
shareable6 joined
14:51
shareable6 left,
shareable6 joined,
ChanServ sets mode: +v shareable6
14:53
athenot left
15:01
wamba joined
15:02
zakharyas left,
zakharyas joined
15:04
athenot joined
|
|||
lizmat | commute to Amsterdam.PM meeting& | 15:06 | |
15:06
lizmat left
15:07
zakharyas left
|
|||
Geth | doc/master: 7 commits pushed by (Will "Coke" Coleda)++ | 15:10 | |
15:17
shareable6 left
15:18
travis-ci joined
|
|||
travis-ci | Doc build errored. Will "Coke" Coleda 'Mark code that isn't Perl 6' | 15:18 | |
travis-ci.org/perl6/doc/builds/349859395 github.com/perl6/doc/compare/3134f...095fe872e0 | |||
15:18
travis-ci left
15:20
athenot_ joined
15:21
athenot left
15:28
khw joined
15:43
shareable6 joined
15:51
titsuki joined
15:53
titsuki_ left
15:54
pierre__ left
15:55
aindilis left,
pierre__ joined
15:59
pierre__ left
16:02
mcmillhj left
16:10
mcmillhj joined
16:11
zakharyas joined
16:14
robertle left
16:15
riatre left
16:16
domidumont left
16:17
comborico1611 left
16:18
riatre joined
16:20
troys joined
16:22
Actualeyes left,
pharv joined
16:23
lizmat joined
16:27
pharv left
|
|||
El_Che | MJD is orphaning is modules. Something to be worried about? | 16:43 | |
timotimo | whoa holy crap | 16:45 | |
did y'all know that you can just rlwrap a program that spits out output at random intervals and it makes sure that what the user is inputting doesn't get split into the scrolling portion of the terminal? | |||
tadzik | wow | 16:46 | |
nope! | |||
timotimo | i was going to mess with ansi escape codes myself to get a similar effect and realized i might have to implement my very own line editor | 16:47 | |
but no, this tool just totally does what i want | |||
16:54
domidumont joined,
imcsk8 left
17:02
robertle joined
17:03
zakharyas left
17:06
lizmat left
17:18
mcmillhj left
17:23
agwind joined,
pharv joined
17:25
shareable6 left
17:26
shareable6 joined,
ChanServ sets mode: +v shareable6
17:27
lizmat joined,
mcmillhj joined
17:28
pharv left
|
|||
lucs | El_Che: Wut? | 17:31 | |
17:31
imcsk8 joined
17:32
Praise joined,
Praise left,
Praise joined,
mcmillhj left,
eliasr left
17:33
scimon left
|
|||
moritz | El_Che: Perl 5 or Perl 6 modules? | 17:34 | |
17:34
mcmillhj joined
17:37
Kaiepi left
17:38
vike left,
dakkar left
17:40
Kaiepi joined
|
|||
El_Che | 5 | 17:44 | |
www.nntp.perl.org/group/perl.perl5...49629.html | |||
it mostly the core modules as I understand it | 17:45 | ||
17:45
epony left
|
|||
stmuk_ | . | 17:52 | |
El_Che | . | 17:54 | |
_ . _ | |||
(eek in morse) | |||
17:59
Kaiepi left
18:00
Kaiepi joined
|
|||
rindolf | timotimo: hi | 18:04 | |
timotimo | hey | ||
rindolf | timotimo: sup? | ||
timotimo | notmuch | ||
18:05
telnet joined
18:06
lizmat_ joined
18:07
lizmat left
|
|||
rindolf | timotimo: ah | 18:09 | |
timotimo: i didnt understand lizmat_ 's comment on Zoffix's post | 18:10 | ||
timotimo | do you have a link handy? | ||
releasable6: status | 18:11 | ||
releasable6 | timotimo, Next release in 11 days and ≈0 hours. Blockers: github.com/rakudo/rakudo/issues?q=...%9A%A0%22. Changelog for this release was not started yet | ||
timotimo, Details: gist.github.com/5b5955ec76e2ff56ff...c220d63497 | |||
rindolf | timotimo: gist.github.com/zoffixznet/cb19c86...19f7ee9383 | 18:15 | |
timotimo | that just means that if you make $ii an int, i.e. my int $ii instead of my $ii, it'll be loads faster | 18:16 | |
rindolf | timotimo: ah, she doesnt have "my int" in her line | 18:17 | |
18:22
vike joined
|
|||
rindolf | timotimo: zoffix/lizmat's version runs at 13s vs. perl 5's 19s and pypy's 1s | 18:26 | |
18:33
darutoko left
18:34
epony joined
|
|||
timotimo | pypy's jit is frighteningly good | 18:40 | |
18:41
pharv joined
18:43
zakharyas joined
|
|||
El_Che | rindolf: "perl6"'s version is not very readable | 18:44 | |
timotimo | true | ||
18:46
Kaiepi left,
comborico1611 joined
18:49
Kaiepi joined
18:51
zakharyas left,
Kaiepi left,
Kaiepi joined
18:55
mcmillhj left,
mcmillhj joined
18:56
shareable6 left
18:58
shareable6 joined
|
|||
rindolf | El_Che: who? | 18:59 | |
18:59
shareable6 left,
shareable6 joined
19:01
mcmillhj left
19:05
shareable6 left
19:06
shareable6 joined,
ChanServ sets mode: +v shareable6
19:08
mcmillhj joined,
Pilu joined,
fafff joined
19:12
imcsk8 left
19:13
imcsk8 joined,
mcmillhj left
19:22
mcmillhj joined
19:23
Kyo91 joined
19:27
stmuk joined,
mcmillhj left
19:28
stmuk_ left
19:34
mcmillhj joined
19:38
domidumont left
19:39
leah2 left,
mcmillhj left
19:40
mcmillhj joined
19:43
vcv left
19:44
espadrine joined
19:45
vcv joined
19:50
wamba left
19:53
Geth left,
Geth joined,
ChanServ sets mode: +v Geth
|
|||
Geth | doc: dd62a13803 | (JJ Merelo)++ | doc/Language/nativecall.pod6 Addresses tests By fixing one of them (adding code) and skipping the others after checking that they work correctly. Closes #1826 |
19:53 | |
synopsebot | Link: doc.perl6.org/language/nativecall | ||
20:04
leah2 joined
20:12
zakharyas joined
|
|||
Geth | doc: 4e6d4cd9c4 | (Will "Coke" Coleda)++ | EXAMPLES.md fix typo |
20:13 | |
20:14
travis-ci joined
|
|||
travis-ci | Doc build passed. JJ Merelo 'Addresses tests | 20:14 | |
travis-ci.org/perl6/doc/builds/349989054 github.com/perl6/doc/compare/05095...62a138037a | |||
20:14
travis-ci left,
athenot_ left
|
|||
Xliff | rindolf: El_Che is saying that the "perl6" version is actually done in "nqp", which is "not quite perl", the proto language on which perl6 is built. | 20:15 | |
It is done that way for performance reasons. | 20:16 | ||
rindolf | Xliff: i know | ||
20:17
athenot joined
|
|||
rindolf | Xliff: i have a proper p6 version here - github.com/perl6/perl6-examples/bl...imotimo.p6 | 20:17 | |
20:18
shareable6 left
20:19
shareable6 joined,
travis-ci joined
|
|||
travis-ci | Doc build errored. Will "Coke" Coleda 'fix typo' | 20:19 | |
travis-ci.org/perl6/doc/builds/349997106 github.com/perl6/doc/compare/dd62a...6d4cd9c4d3 | |||
20:19
travis-ci left,
Kaiepi left,
Kaiepi joined
|
|||
[Coke] | it says it errored, but if I click on that link, it's running. | 20:21 | |
[Coke] vaguely wonders why the dock build is installing gcc but then remembers it's probably doing a full build of rakudo in order to run the doc site. | |||
*doc build | |||
huh. Actually looks like we're not building rakudo, which is nice; wonder why we're still bringing in gcc, then. | 20:24 | ||
20:32
zakharyas left
|
|||
Xliff | rindolf: Is that version still running slow? | 20:34 | |
rindolf | Xliff: i think so | ||
Xliff | That's another reason I think it was done in nqp. | ||
20:35
Rawriful joined
20:36
yqt joined,
zakharyas joined
20:37
athenot_ joined,
athenot left
|
|||
Xliff | nqp is typed which means there is no question about whether or not to use native ops. | 20:37 | |
Geth | doc: aaa7e07707 | (JJ Merelo)++ | doc/Language/nativecall.pod6 Tests failures redone. In one case I could make it compile by adding a preamble, in the other two cases I documente why I think tests should be skipped. Provisionally closes #1826, if you think something else, or more, should be done, just ask. |
||
synopsebot | Link: doc.perl6.org/language/nativecall | ||
20:37
zakharyas left
20:40
zakharyas joined
20:43
pharv left,
pharv_ joined
20:45
shareable6 left
20:46
travis-ci joined
|
|||
travis-ci | Doc build errored. JJ Merelo 'Tests failures redone. | 20:46 | |
travis-ci.org/perl6/doc/builds/350007668 github.com/perl6/doc/compare/4e6d4...a7e0770763 | |||
20:46
travis-ci left
20:53
shareable6 joined
|
|||
AlexDaniel | nevermind these doc build failures for now :S | 20:54 | |
21:05
lizmat_ left
21:06
athenot joined,
releasable6 left
21:07
releasable6 joined
|
|||
Geth | doc: ba94394e80 | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/nativecall.pod6 add missing '>' |
21:07 | |
synopsebot | Link: doc.perl6.org/language/nativecall | ||
21:08
athenot_ left
21:11
yqt left
21:12
shareable6 left
21:13
athenot left,
shareable6 joined,
travis-ci joined
|
|||
travis-ci | Doc build errored. Tom Browder 'add missing '>'' | 21:13 | |
travis-ci.org/perl6/doc/builds/350020814 github.com/perl6/doc/compare/aaa7e...94394e808d | |||
21:13
travis-ci left,
Kaiepi left,
athenot joined
21:14
Kaiepi joined
21:16
pharv_ left
21:18
zakharyas left,
Zoffix joined,
Zoffix left,
pharv joined
21:21
pharv left,
pharv joined
21:30
rindolf left
21:43
vcv left
21:51
robertle left
21:57
shareable6 left
22:14
mcmillhj left,
mcmillhj joined
22:16
itaipu joined,
shareable6 joined,
ChanServ sets mode: +v shareable6
22:18
sena_kun left
22:19
mcmillhj left
22:22
skids left
|
|||
tbrowder | doc build is good now | 22:32 | |
the “travis-ci” bot seems to give an erroneous (or at least misleading) report. my last commit resulted in a good build. | 22:41 | ||
AlexDaniel | because I restarted it | 22:52 | |
I think it is failing sometimes because someone is trolling shareable6 by replicating this bug: github.com/rakudo/rakudo/issues/1595 :) | |||
and travis for the doc repo pulls the most recent prebuilt rakudo from whateverable (to save time) | 22:53 | ||
22:55
ZzZombo left,
ZzZombo joined
22:56
mcmillhj joined
23:00
geekosaur left,
mcmillhj left
|
|||
tbrowder | too many evil people around with too much time on their hands... | 23:02 | |
timotimo | AlexDaniel: i'd say attach gdb to the process and get a perl6-level backtrace on all threads, as well as a c-level backtrace | 23:04 | |
gist.github.com/jnthn/25349dee44f2...dbe504c39e - can also try the "stuck awaits reporter" | 23:05 | ||
23:05
lichtkind left
|
|||
AlexDaniel | tbrowder: well there's also a chance that travis itself is triggering it somehow | 23:05 | |
and if so, does it mean that it's a regression? | 23:06 | ||
23:07
geekosaur joined
|
|||
AlexDaniel | timotimo: fwiw you can reproduce it yourself if you hit ctrl+f5 :) | 23:09 | |
23:13
mcmillhj joined
23:16
kurahaupo left
23:17
lichtkind joined
23:18
mcmillhj left
23:26
mcmillhj joined
23:29
cdg joined
23:30
mcmillhj left
23:31
comborico1611 left
23:34
konsolebox left
23:37
konsolebox joined
23:38
mcmillhj joined
23:39
Kyo91 left
23:43
mcmillhj left
23:49
konsolebox left
23:51
konsolebox joined
23:54
mcmillhj joined
23:55
fafff left,
Pilu left
23:58
Actualeyes joined
23:59
mcmillhj left
|