tbrowder | .tell AlexDaniel i’m revisiting Text::ParseWords when i remembered nqp’s built-in routine “match”. | 00:54 | |||||||||||||||||||||||||||||||||||||
yoleaux | tbrowder: I'll pass your message to AlexDaniel. | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | . | ||||||||||||||||||||||||||||||||||||||
yoleaux | 28 Dec 2017 12:41Z <tbrowder> AlexDaniel: see the docs for my latest take on pod %config formats. i suggest specifically limiting list and hash strings to being delimited by single or double quotes, i.e., no Q or q delimited forms. | ||||||||||||||||||||||||||||||||||||||
00:54Z <tbrowder> AlexDaniel: i’m revisiting Text::ParseWords when i remembered nqp’s built-in routine “match”. | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 418fc068f3 | (Timo Paulssen)++ | src/core/Rat.pm microoptimize DON'T_DIVIDE_NUMBERS a little benchmark adding integers to rats gets sped up by about 22%. |
01:34 | |||||||||||||||||||||||||||||||||||||
timotimo | ^- deleted the microoptimize_dont_divide_numbers branch with this | 01:35 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | tbrowder: yeah the previous version didn't make any sense | 01:40 | |||||||||||||||||||||||||||||||||||||
ah, no | |||||||||||||||||||||||||||||||||||||||
AlexDaniel misread it | |||||||||||||||||||||||||||||||||||||||
so the Q syntax is no longer there. *shrug* | 01:41 | ||||||||||||||||||||||||||||||||||||||
tbrowder | well, you suggested it, not i! :-) | 01:42 | |||||||||||||||||||||||||||||||||||||
anyhoo, still truckin’... | 01:43 | ||||||||||||||||||||||||||||||||||||||
Geth | alerts: 331b5d5dc4 | (Zoffix Znet)++ | bin/server.p6 Fix up hosts |
03:25 | |||||||||||||||||||||||||||||||||||||
alerts: d54667d80d | (Zoffix Znet)++ | START-WEB Improve START-WEB script - Add sassifier run - Pop server into screen |
03:28 | ||||||||||||||||||||||||||||||||||||||
alerts: 8fcb1f3b76 | (Zoffix Znet)++ | bin/server.p6 Fix host name |
03:57 | ||||||||||||||||||||||||||||||||||||||
alerts: 10c28df4a4 | (Zoffix Znet)++ | .gitignore Ignore screen logs |
04:26 | ||||||||||||||||||||||||||||||||||||||
alerts: 8ac052ff0e | (Zoffix Znet)++ | static/widget.js Fix widget URL |
|||||||||||||||||||||||||||||||||||||||
alerts: 08f49979be | (Zoffix Znet)++ | bin/bot.p6 Allow empty `affects` Needed by update command |
05:05 | ||||||||||||||||||||||||||||||||||||||
alerts: 71cd2cc73e | (Zoffix Znet)++ | README.md Add bot usage docs |
05:09 | ||||||||||||||||||||||||||||||||||||||
alerts: 1d6941fdea | (Zoffix Znet)++ | README.md Link to future blog post for info on severity |
05:10 | ||||||||||||||||||||||||||||||||||||||
alerts: b65fca5da4 | (Zoffix Znet)++ | README.md Update blog URL |
05:22 | ||||||||||||||||||||||||||||||||||||||
piojo | Hi | 07:24 | |||||||||||||||||||||||||||||||||||||
does MVMObject have fields, or is MVMObject* basically like a null pointer? | 07:25 | ||||||||||||||||||||||||||||||||||||||
I'm trying to examine some objects to understand why type_check_store (in container.c) is giving wrong type check results | 07:26 | ||||||||||||||||||||||||||||||||||||||
geekosaur | you may mean (void *) pointer | 07:30 | |||||||||||||||||||||||||||||||||||||
but this is more #moarvm stuff | |||||||||||||||||||||||||||||||||||||||
piojo | geekosaur: thanks. ahh, yes, src/vm/moar/ is the directory | 07:31 | |||||||||||||||||||||||||||||||||||||
geekosaur | right, that's moarvm internals | ||||||||||||||||||||||||||||||||||||||
perl 6 can't see any deeper, you need to poke moarvm's guts | |||||||||||||||||||||||||||||||||||||||
piojo | geekosaur: I did mean (void*), it's been a long time since I've used C++, and never C | 07:32 | |||||||||||||||||||||||||||||||||||||
aha, MVMObject is defined in 6model.h--it's a collectable entity and has a MVMSTable | 07:36 | ||||||||||||||||||||||||||||||||||||||
lizmat | Files=1232, Tests=75973, 328 wallclock secs (14.46 usr 5.20 sys + 2255.99 cusr 226.74 csys = 2502.39 CPU) | 08:14 | |||||||||||||||||||||||||||||||||||||
|Tux| | Hmm, no builtin factorisation? | 10:24 | |||||||||||||||||||||||||||||||||||||
m: say 2018! | |||||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Bogus postfix at <tmp>:1 ------> 3say 20187⏏5! expecting any of: infix infix stopper postfix statement end statement modifier … |
||||||||||||||||||||||||||||||||||||||
Zoffix | m: say [*] 1..2018 | 11:14 | |||||||||||||||||||||||||||||||||||||
camelia | 94669195079106133410208895519607008070766538126446529431923538268126742573134184711825858078487167925210794632827155310700833183261829640370350750860383241895871257555971431939430698349263626612930807504115910063817414699394734307643180411397666807494… | ||||||||||||||||||||||||||||||||||||||
Zoffix | |Tux|: ^ | ||||||||||||||||||||||||||||||||||||||
Announcing P6lert: Perl 6 Alerts Directly From Core Developers: rakudo.party/post/Announcing-P6ler...Developers | 11:24 | ||||||||||||||||||||||||||||||||||||||
lizmat | m: sub postfix:<!>($a) { [*] 1..$a }; say 2018! | ||||||||||||||||||||||||||||||||||||||
yoleaux | 11:20Z <Zoffix> lizmat: looks like the value-type-list thing violates 6.c spec. Is there a way of making that change a 6.d-only change? irclog.perlgeek.de/perl6/2017-12-29#i_15631590 | ||||||||||||||||||||||||||||||||||||||
camelia | 94669195079106133410208895519607008070766538126446529431923538268126742573134184711825858078487167925210794632827155310700833183261829640370350750860383241895871257555971431939430698349263626612930807504115910063817414699394734307643180411397666807494… | ||||||||||||||||||||||||||||||||||||||
lizmat | Zoffix: that was the whole point of the value type change | 11:25 | |||||||||||||||||||||||||||||||||||||
m: dd [1,2,3],[1,2,3].Set | 11:26 | ||||||||||||||||||||||||||||||||||||||
camelia | [1, 2, 3] Set.new(1,3,2) |
||||||||||||||||||||||||||||||||||||||
lizmat | m: dd ([1,2,3],[1,2,3]).Set | ||||||||||||||||||||||||||||||||||||||
camelia | Set.new(1,3,2) | ||||||||||||||||||||||||||||||||||||||
lizmat | hmmm | ||||||||||||||||||||||||||||||||||||||
that's an unintended side affect | |||||||||||||||||||||||||||||||||||||||
*effect | |||||||||||||||||||||||||||||||||||||||
or not | |||||||||||||||||||||||||||||||||||||||
hmmm... no time to look at now, will look at it tonight | |||||||||||||||||||||||||||||||||||||||
afk& | |||||||||||||||||||||||||||||||||||||||
|Tux| |
|
11:28 | |||||||||||||||||||||||||||||||||||||
Zoffix | lizmat: the new behaviour does look to be better, but IMO we should stick to not changing 6.c tests that aren't wrong. | 11:29 | |||||||||||||||||||||||||||||||||||||
.tell moritz would be nice for perl6feed tweeter to retweet this: twitter.com/zoffix/status/946703693507907584 | 11:30 | ||||||||||||||||||||||||||||||||||||||
yoleaux | Zoffix: I'll pass your message to moritz. | ||||||||||||||||||||||||||||||||||||||
Zoffix | .tell AlexDaniel RSS feed is implemented on alerts.perl6.org, but IMO we shouldn't stick it into the blog agregator, because it's not a blog. There are 6 different ways for interested users to receive the alerts and trying to shove them into every hole we can just makes the feeds where the alerts don't belong noisier. | 11:32 | |||||||||||||||||||||||||||||||||||||
yoleaux | Zoffix: I'll pass your message to AlexDaniel. | ||||||||||||||||||||||||||||||||||||||
Geth | alerts: jnthn++ created pull request #2: Missing space in footer text |
13:15 | |||||||||||||||||||||||||||||||||||||
alerts: 71bcfa4265 | (Jonathan Worthington)++ (committed using GitHub Web editor) | bin/server.p6 Missing space in footer text |
13:16 | ||||||||||||||||||||||||||||||||||||||
alerts: b29541266a | (Zoffix Znet)++ (committed using GitHub Web editor) | bin/server.p6 Merge pull request #2 from jnthn/missing-space Missing space in footer text |
|||||||||||||||||||||||||||||||||||||||
tbrowder | nqp question please: can i use a token (e.g., token blah { <[‘“]> }) inside a ~~ expression? i have tried ~~ / <blah> / but got an error. i haven’t yet tried it in a match() or subst(). i know this works: $m := / <[‘“]> /; if “ab’c” ~~ $m {} | 14:37 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | . | 14:50 | |||||||||||||||||||||||||||||||||||||
yoleaux | 11:32Z <Zoffix> AlexDaniel: RSS feed is implemented on alerts.perl6.org, but IMO we shouldn't stick it into the blog agregator, because it's not a blog. There are 6 different ways for interested users to receive the alerts and trying to shove them into every hole we can just makes the feeds where the alerts don't belong noisier. | ||||||||||||||||||||||||||||||||||||||
I_ | Brandi | 15:41 | |||||||||||||||||||||||||||||||||||||
Stop attacking my whole family | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 24f4609ec5 | (Timo Paulssen)++ | src/core/Buf.pm guard subbuf against negative ranges a range like 10..2 is supposed to be degenerate and have no elements, but the code just used int-bounds to calculate how many items to take. This would cause attempts to allocate around 2**64 elements for the results, which is clearly bogus. Now it'll just behave as if you had specified a length of 0 elements. |
15:52 | |||||||||||||||||||||||||||||||||||||
roast: ac0962de8c | (Timo Paulssen)++ | S03-operators/buf.t test subbuf with corner-case ranges empty range, negative range, single-element range (aka same start and end point) |
|||||||||||||||||||||||||||||||||||||||
timotimo | there are no tests for subbuf on Blob at all; there isn't terribly much to test for our implementation, but it'd be good to check that types match up and such | ||||||||||||||||||||||||||||||||||||||
Zoffix | timotimo: do those new tests pass? They look broken. `10..10` is not an empty range. | 15:58 | |||||||||||||||||||||||||||||||||||||
timotimo | oh, hah, that's a problem with the commit message only | ||||||||||||||||||||||||||||||||||||||
uh | 15:59 | ||||||||||||||||||||||||||||||||||||||
okay, i messed something up, i thought it passed?! | |||||||||||||||||||||||||||||||||||||||
Geth | roast: 86eb1fee63 | (Timo Paulssen)++ | S03-operators/buf.t correct subbuf range tests Zoffix++ |
16:00 | |||||||||||||||||||||||||||||||||||||
timotimo | that's better. | 16:01 | |||||||||||||||||||||||||||||||||||||
Zoffix | timotimo: you got off-by-one in the conditional. It needs to be $pos ≤ $max | ||||||||||||||||||||||||||||||||||||||
FWIW, I got an nqp version of it. It might be faster | |||||||||||||||||||||||||||||||||||||||
timotimo | if your nqp version also fixes the off-by-one, feel free to push it | 16:02 | |||||||||||||||||||||||||||||||||||||
Zoffix | OK. lemme measure it | ||||||||||||||||||||||||||||||||||||||
timotimo | i don't see effects of an off-by-one, though? | ||||||||||||||||||||||||||||||||||||||
is it just that it's doing the "expensive" calculation in one too many cases? | 16:03 | ||||||||||||||||||||||||||||||||||||||
Zoffix | m: (10..10).int-bounds((my int $pos), (my int $max)); dd [ $pos, $max ]; say 10 - 10 + 1 | ||||||||||||||||||||||||||||||||||||||
camelia | [10, 10] 1 |
||||||||||||||||||||||||||||||||||||||
Zoffix | ^ that now gives 0 | ||||||||||||||||||||||||||||||||||||||
m: dd Buf.new(^100).subbuf(10..10) | 16:04 | ||||||||||||||||||||||||||||||||||||||
camelia | Buf.new(10) | ||||||||||||||||||||||||||||||||||||||
Zoffix | and ^ that will give an empty buff once camelia updates | ||||||||||||||||||||||||||||||||||||||
timotimo | huh? | 16:05 | |||||||||||||||||||||||||||||||||||||
timotimo recompiles to make sure | 16:06 | ||||||||||||||||||||||||||||||||||||||
oh, i have a - 1 in there locally already | 16:07 | ||||||||||||||||||||||||||||||||||||||
wow, my head is surely working correctly right now | 16:08 | ||||||||||||||||||||||||||||||||||||||
Zoffix | "NEW version is 5.12x faster" | ||||||||||||||||||||||||||||||||||||||
timotimo | somehow i fixed the off-by-one you told me about, then tested stuff, then wondered "hey, there's on off-by-one here at all!" | 16:09 | |||||||||||||||||||||||||||||||||||||
oh, that's quite nice | |||||||||||||||||||||||||||||||||||||||
only for cases with a Range passed as argument, i assume? | |||||||||||||||||||||||||||||||||||||||
or did you nqp-ify the whole method? | |||||||||||||||||||||||||||||||||||||||
well, probably the latter | |||||||||||||||||||||||||||||||||||||||
do you know why we have a loop there instead of using nqp::splice? | 16:10 | ||||||||||||||||||||||||||||||||||||||
welp, time for an RSI rest break | |||||||||||||||||||||||||||||||||||||||
Zoffix | The whole method, tho there are some spec failures, so the timing isn't accurate. nqp::splice won't work on a Blob, which is immutable. | 16:11 | |||||||||||||||||||||||||||||||||||||
timotimo | okay, then how does the loop work on blobs if it's immutable? | ||||||||||||||||||||||||||||||||||||||
m: Blob.new(1, 2, 3, 4, 5).subbuf(3..5).perl.say | 16:12 | ||||||||||||||||||||||||||||||||||||||
camelia | Blob.new(4,5,0) | ||||||||||||||||||||||||||||||||||||||
Zoffix | it's shoving stuff into the new array | ||||||||||||||||||||||||||||||||||||||
you could use splice, but you'd have to make an entire copy of the original first | 16:13 | ||||||||||||||||||||||||||||||||||||||
timotimo | i forgot that splice doesn't let us specify a start position in the source array | 16:22 | |||||||||||||||||||||||||||||||||||||
if we had that, we could use splice (nqp::subsplice?) here and be super fast | |||||||||||||||||||||||||||||||||||||||
we can do a two-step splice, but that would very likely waste memory, because our buffers don't tend to shrink | 16:23 | ||||||||||||||||||||||||||||||||||||||
Zoffix | nqp::copypartarray(@new,@old,$start, | 16:31 | |||||||||||||||||||||||||||||||||||||
$end) | |||||||||||||||||||||||||||||||||||||||
Maybe that'd be useful in some [native] array code too? | |||||||||||||||||||||||||||||||||||||||
timotimo | yeah | 16:32 | |||||||||||||||||||||||||||||||||||||
Zoffix | I one-upped you and made an off-by-two error in that very same line of code :P | 16:41 | |||||||||||||||||||||||||||||||||||||
timotimo | :D | ||||||||||||||||||||||||||||||||||||||
i should get in the habit of drawing diagrams and such | |||||||||||||||||||||||||||||||||||||||
Zoffix | ZOFFLOP: t/spec/S17-procasync/kill.t | 16:48 | |||||||||||||||||||||||||||||||||||||
ZOFVM: Files=1286, Tests=152981, 159 wallclock secs (21.28 usr 3.40 sys + 3406.90 cusr 188.14 csys = 3619.72 CPU) | |||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 5f48c0695c | (Zoffix Znet)++ | src/core/Buf.pm Make Blob.subbuf 1.8x faster |
16:52 | |||||||||||||||||||||||||||||||||||||
timotimo | we might also want to do something so that subbuf-rw also likes Range objects | ||||||||||||||||||||||||||||||||||||||
Zoffix | mhm | 16:54 | |||||||||||||||||||||||||||||||||||||
\o | |||||||||||||||||||||||||||||||||||||||
Geth | tap-harness6: 8745e27168 | (Leon Timmermans)++ | bin/prove6 Make TAP parsing loose by default before rakudo 2017.09 in prove too |
17:02 | |||||||||||||||||||||||||||||||||||||
tap-harness6: be425ac774 | (Leon Timmermans)++ | bin/prove6 Update prove --version for 0.0.3 Got rid of the TAP::Harness version, as hard coding it made no sense and apparently there's no way to reliably get the version. |
|||||||||||||||||||||||||||||||||||||||
timotimo | the subbuf improvement made the benchmark i was using go from ~5.95s to ~5.65s | 17:14 | |||||||||||||||||||||||||||||||||||||
lizmat | timotimo++ | 18:34 | |||||||||||||||||||||||||||||||||||||
timotimo | actually, that was all zoffix :) | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: clsn++ created pull request #1348: Add ⏨ as exponent notation for floats. |
19:50 | |||||||||||||||||||||||||||||||||||||
dogbert17 | it's quiet around here | 21:49 | |||||||||||||||||||||||||||||||||||||
lizmat | Zoffix++ # github.com/rakudo/rakudo/commit/5f48c0695c | 21:50 | |||||||||||||||||||||||||||||||||||||
dogbert17: silence before the storm? | |||||||||||||||||||||||||||||||||||||||
dogbert17 | indeed, I have a question :) | ||||||||||||||||||||||||||||||||||||||
m: say (1..5).map({$_}).skip(*-3) | 21:51 | ||||||||||||||||||||||||||||||||||||||
camelia | No such method 'Int' for invocant of type 'WhateverCode' in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
dogbert17 | shouldn't that work? | ||||||||||||||||||||||||||||||||||||||
lizmat | dogbert17: yeah, that should | 21:52 | |||||||||||||||||||||||||||||||||||||
timotimo | m: say (1..5).map({$_}).tail(3) # that's the same as this, isn't it? | ||||||||||||||||||||||||||||||||||||||
camelia | (3 4 5) | ||||||||||||||||||||||||||||||||||||||
dogbert17 | so you're in agreement with the docs then :) docs.perl6.org/type/Seq#method_skip | ||||||||||||||||||||||||||||||||||||||
timotimo: yes | 21:53 | ||||||||||||||||||||||||||||||||||||||
bisect: say (1..5).map({$_}).skip(*-3) | 21:54 | ||||||||||||||||||||||||||||||||||||||
bisectable6 | dogbert17, Bisecting by output (old=2015.12 new=5f48c06) because on both starting points the exit code is 1 | ||||||||||||||||||||||||||||||||||||||
dogbert17, bisect log: gist.github.com/62f171b0942fe68b46...5a915d8f29 | |||||||||||||||||||||||||||||||||||||||
dogbert17, (2016-09-27) github.com/rakudo/rakudo/commit/22...0f14b9c05c | |||||||||||||||||||||||||||||||||||||||
lizmat | that's the error message changing format | 21:55 | |||||||||||||||||||||||||||||||||||||
dogbert17 | c: 201601 say (1..5).map({$_}).skip(*-3) | 21:56 | |||||||||||||||||||||||||||||||||||||
committable6 | dogbert17, ¦201601: «Cannot find this revision (did you mean “2016.01”?)» | ||||||||||||||||||||||||||||||||||||||
dogbert17 | c: 2016.01 say (1..5).map({$_}).skip(*-3) # grr | ||||||||||||||||||||||||||||||||||||||
committable6 | dogbert17, ¦2016.01: «Method 'skip' not found for invocant of class 'Seq' in block <unit> at /tmp/TRtPUn8PX1 line 1 «exit code = 1»» | ||||||||||||||||||||||||||||||||||||||
dogbert17 | c: 2017.01 say (1..5).map({$_}).skip(*-3) | ||||||||||||||||||||||||||||||||||||||
committable6 | dogbert17, ¦2017.01: «No such method 'skip' for invocant of type 'Seq' in block <unit> at /tmp/kD961U1gcE line 1 «exit code = 1»» | ||||||||||||||||||||||||||||||||||||||
dogbert17 | has this ever worked | ||||||||||||||||||||||||||||||||||||||
should I report it? | 21:58 | ||||||||||||||||||||||||||||||||||||||
lizmat | yes please | ||||||||||||||||||||||||||||||||||||||
should be an easy fix | |||||||||||||||||||||||||||||||||||||||
dogbert17 | perhaps you already know what might be wrong? | 21:59 | |||||||||||||||||||||||||||||||||||||
lizmat | the Callable candidate is missing | ||||||||||||||||||||||||||||||||||||||
dogbert17 | aha, give me two minutes to write up the issue :-) | 22:00 | |||||||||||||||||||||||||||||||||||||
lizmat | it needs to route to .tail with the value -a(0).Int | ||||||||||||||||||||||||||||||||||||||
dogbert17 | github.com/rakudo/rakudo/issues/1349 | 22:02 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | c: all say (1..5).map({$_}).skip(*-3) | 22:08 | |||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/e8c0dd7ab75edfd7c9...3c192267db | ||||||||||||||||||||||||||||||||||||||
dogbert17 | interesting | 22:09 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 38897d19cd | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6 Fix some export issues - roles are our and thus visible through the exported Telemetry - "is export" on them would only export the last part of the name - constants are for internal use only, so should be my to prevent exporting |
22:12 | |||||||||||||||||||||||||||||||||||||
dogbert17 | m: say Any.skip(*-1) | 22:25 | |||||||||||||||||||||||||||||||||||||
camelia | No such method 'Int' for invocant of type 'WhateverCode' in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
lizmat | that's because of the Int() sig | 22:26 | |||||||||||||||||||||||||||||||||||||
should probably be Int(Cool) | |||||||||||||||||||||||||||||||||||||||
dogbert17 | you mean github.com/rakudo/rakudo/blob/mast...s.pm#L1925 | 22:28 | |||||||||||||||||||||||||||||||||||||
lizmat | yup | 22:29 | |||||||||||||||||||||||||||||||||||||
lizmat is tired and goes to bed | |||||||||||||||||||||||||||||||||||||||
timotimo | gnite lizmat | 22:30 | |||||||||||||||||||||||||||||||||||||
dogbert17 | good night lizmat | ||||||||||||||||||||||||||||||||||||||
dogbert17 tries lizmat's Cool suggestion | 22:31 |