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| Rakudo version 2017.12-58-g418fc068f - MoarVM version 2017.12-13-g01619e0d0
csv-ip5xs1.102 - 1.122
csv-ip5xs-2012.780 - 13.030
csv-parser12.512 - 12.589
csv-test-xs-200.444 - 0.462
test11.661 - 11.939
test-t2.922 - 2.952
test-t --race1.179 - 1.248
test-t-2053.208 - 53.999
test-t-20 --race17.879 - 17.931
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