babydrop m: use nqp; class Z { method z (Mu \SELF:) { dd [ nqp::iscont(SELF), nqp::iscont(self) ] } }; my $z = Z.new; $z.z 00:43
camelia rakudo-moar 0c75e5: OUTPUT«[1, 0]␤»
babydrop Is there any case where self would be nqp::iscont()? I see nqp::decont(self) in Mu.clone which I think isn't needed, based on the above
dalek rakudo/nom: 9a161fa | (Zoffix Znet)++ | src/core/Mu.pm: 01:36
rakudo/nom: Prevent Mu.clone from incorrectly marking all attrs as inited
rakudo/nom:
rakudo/nom: Fixes RT#130271: rt.perl.org/Ticket/Display.html?id=130271
rakudo/nom:
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130271
dalek rakudo/nom: Using nqp::getattr() or nqp::bindattr() on an attribute makes
rakudo/nom: nqp::attrinited return true. This made cloned Baggies lose their
rakudo/nom: .WHICH value, since its method uses nqp::attrinted to decide whether
rakudo/nom: to give its $!WHICH attribute. And in the ticket we have a cloned
rakudo/nom: Baggy, since the infix:<but> operator clones under the hood. And
rakudo/nom: this is the reason for the error in the ticket, since the .WHICH value
rakudo/nom: is unboxed into a native str at one point.
rakudo/nom:
rakudo/nom: Fix by checking whether an attribute is nqp::attrinted before to
babydrop rakudo/nom: decide whether to call getattr/bindattr. 01:37
review: github.com/rakudo/rakudo/commit/9a...d97ba81a50
dalek ast: ebfab26 | (Zoffix Znet)++ | S02-types/WHICH.t:
Test cloned Baggies have defined WHICH

RT#130271: rt.perl.org/Ticket/Display.html?id=130271 Rakudo fix: github.com/rakudo/rakudo/commit/9a161fa0c92ea7
01:38
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130271
babydrop samcv: BTW, to get a commit bit for rakudo, one has to sign the CLA and (e)mail it to The Perl Foundation: www.perlfoundation.org/contributor_..._agreement 01:57
samcv: just mentioning it, 'cause it took me months to find out that was a requirement :P
samcv ah
but why don't other pull requests make you agree? 01:58
babydrop No idea. 01:59
dalek kudo/nom: f9d34a9 | (Fernando Correa de Oliveira)++ | src/core/Int.pm:
Fix UInt not smartmatching undefined Int
02:04
kudo/nom: d21d8ab | (Zoffix Znet)++ | src/core/Int.pm:
Merge pull request #947 from FCO/uint-match-unsigned-int

Fix UInt not smartmatching undefined Int
ast: c506ea5 | (Fernando Correa de Oliveira)++ | S32-num/int.t:
Add test for smatmatch UInt with undefined Int (#194)
samcv babydrop, the Linguist repo makes you do such a thing 02:10
for people who have not gotten a pull accepted before
it's one of the checks
wait did you actually have to mail it there 02:11
babydrop samcv: I'm pretty sure email is fine. When I mailed mine, I somehow managed to mail it to the wrong address and it got returned to me and then lizmat hooked me up with a contact whom I just emailed a digital version 02:12
samcv ah 02:13
would we want to have somebody look at the CLA ( could be on our project they read it) and click accept?
babydrop Just for PRs?
samcv yeah. or nobody cares? lol 02:14
babydrop I rather not add barriers to contribution.
samcv yeah. i thought that too
it wasn't the easiest. it just said "1 check failed" or whatever when you hadn't signed it
though courts have said that if you contribute source code, and they have a license it implies that you are submitting the code under that license unless you specify otherwise. 02:15
babydrop Makes sense. 02:16
geekosaur ...courts where though? 02:21
samcv oh USA i think? 02:41
maybe others. not sure
kalkin- who do I have to please to get github.com/rakudo/rakudo/pull/948 merged? (It passed all checks) 04:06
:) 04:07
samcv kalkin-, readline is initialized here already github.com/kalkin/rakudo/blob/9043...EPL.pm#L58 05:51
does it work if you remove that line? 05:52
actually hold on. just don't initialize readline inside that method
> my $read = $Readline.new; that will make it lexical
will be a nice feature to have 05:53
kalkin-, also see how it loads github.com/kalkin/rakudo/blob/9043...EPL.pm#L60 files here
make sure it doesn't read the history until after this 05:54
nine samcv: I emailed my CLA, too. If you don't get a reply in a reasonable time, Coke++ can help. 07:58
samcv oh i didn't fill out a CLA yet ;P 07:59
but will remember for in the future
brrt btw, nine, i've resolved the issue with rakudo building on even-moar-jit
thanks for pointing it out :-) 08:00
nine brrt++ 08:03
dalek kudo/nom: e9ce28a | samcv++ | src/core/io_operators.pm:
Make routines say, note and put 25% faster to stdout
08:16
kudo/nom: 99f04e0 | niner++ | src/core/io_operators.pm:
Merge pull request #949 from samcv/say

Make routines say, note and put 25% faster to stdout.
nine lizmat: this ^^^ looks like something our static optimizer may be able to do automatically 08:21
[Tux] This is Rakudo version 2016.11-194-gd21d8abbd built on MoarVM version 2016.11-44-g8e24145d 08:26
csv-ip5xs 3.205
test 14.206
test-t 6.335
csv-parser 14.092
dalek nqp: 7fed81d | samcv++ | src/HLL/Grammar.nqp: 09:02
nqp: Add four new pairs of matched delimiters brackets/parens (#330)
nqp:
nqp: These are the only four pairs in Unicode that we don't have
nqp: added.
lizmat samcv++ # good catch on say and friends! 10:06
jnthn is a bit surprised it makes such a difference 10:08
The static optimizer should be able to lower such a lexical to a local at some point, though
Oh, I bet I can guess why it was costly... It probably created a nativeref 'cus it can't prove statically that .print doesn't want an "is rw" thing 10:10
And spesh can't strip them out in that case yet either
timotimo yup, native refs are a big reason our code isn't optimal 10:12
... IMHO
jnthn Yes, I need to spend a good chunk of time on spesh at some point 10:14
But I'm so burried in concurrency stuff it's hard to find the itme. 10:15
*time
dalek kudo/nom: 64b5c2f | samcv++ | src/core/Cool.pm:
Make uniprop return Bool or Str, also make it 15% faster and fix…

a bug in MoarVM where canonical Unicode shortnames return the incorrect property. It is 15% faster now, and adds these two fixes as well.
10:16
kudo/nom: 71821dd | samcv++ | / (2 files):
Add the script used to generate the uniprop code.

Also make a comment saying the code was generated and where to find the file that generated it. 9043f58 | (Bahtiar `kalkin-` Gadimov)++ | src/core/REPL.pm: Add Historyfile support for Readline
kudo/nom: 1582e93 | lizmat++ | src/core/REPL.pm:
Merge pull request #948 from kalkin/readline-history

Add Historyfile support for Readline
rakudo/nom: 8965145 | samcv++ | tools/build/NQP_REVISION:
rakudo/nom: Bump nqp: Add 4 new sets of matching brackets
rakudo/nom:
rakudo/nom: For use in q [], #`[ and other things such as this.
rakudo/nom:
timotimo to be honest, it'd probably be worth more in the medium term to fix that nativeref problem in our static optimizer 10:18
jnthn We can't.
Methods are late bound. 10:19
We can handle more cases than we do today of course, but the general case needs handling in spesh 10:20
timotimo oh
of course
arnsholt And statically proving anything about $*ERR doesn't sound too plausible to me
timotimo we do have the same problem with operators, though
makes native ints and such not very fun to use
jnthn True. Question is if we really want to maintain such an opt twice :)
Well, we static inline a bunch of operators
And get away with it on those 10:21
timotimo are we going to turn rakudo into javac? ;) 10:22
jnthn What, does very few opts and leaves them to the VM? 10:23
timotimo right 10:24
jnthn It's an interesting question. For very short-lived scripts, it's usually a waste of time.
samcv thanks lizmat
timotimo so only turn on the optimizer for the core setting, then ;)
jnthn Well, we have levels too. "We're pre-compiling this" could push it up a level. 10:25
Though that only really helps if you get to skip analyses too
timotimo aye. we'll likely want to put a few more level checks into the optimizer 10:26
dalek ast: 425011c | lizmat++ | S15-unicode-information/uniprop.t:
Unfudge now passing test, samcv++
10:36
babydrop say was 25% slower just 'cause it saved into a variable? 0.o 11:06
dalek kudo/nom: f4479d2 | dogbert17++ | CREDITS:
Added myself
11:09
kudo/nom: e25a708 | (Zoffix Znet)++ | CREDITS:
Merge pull request #946 from dogbert17/update-credits

Added myself
nine So, hands up please! Merge lexical_module_load before the release, i.e. ~ today? 11:11
o/
babydrop +1
jnthn Umm 11:13
Surely immediately *after* a release is more sensible?
lizmat I think we already skipped 2 releases where we could have done that 11:14
if we say now: immediately merge after the next release, I can live with that also 11:15
jnthn Yes, but this time we've got (a) data showing the impact, and (b) it's documented
lizmat but please let's not skip another one :-)
jnthn Yes, I can very easily agree with "merge right after next release"
lizmat 👍 11:16
jnthn Full +1 on that. I'm just a tad more wary on sneaking it in 4-5 days beforehand.
nine I'd be fine with right after the release, too. The "before release" plan certainly provoked responses faster though ;) 11:17
Also now that emmentaler is up and running again, we should use it more extensively. Thinking about jnthn++'s release plan from January. 11:18
jnthn Yes, we really should take advantage of that better to catch ecosystem-breaking changes sooner. 11:19
And perhaps even start doing the automatic release branch thing I proposed.
(Where we use an automated process of spectest + selected module smoke pass = fast-foward branch we relesae from) 11:20
babydrop Is that proposal written down somewhere I could read the details? 11:33
.oO( we need a place for RFCs.... )
11:35
jnthn babydrop: github.com/rakudo/rakudo/blob/nom/...ersions.md 11:36
babydrop
.oO( we have a place for RFCs.... )
thanks
Well, with that naming scheme I just can see myself doing a checkout for a quick fix and accidentally forgetting to switch branches and ending up pushing to master :/ 11:39
dalek kudo/nom: e1d92e5 | (Zoffix Znet)++ | docs/language_versions.md:
Fix typo
11:41
babydrop And I guess most PRs will be made off master and not nom and requested to be merged to master and not nom? 11:43
babydrop isn't sure how that's works outs
jnthn Hm
I think github may have some branch-level protection at these days? 11:44
help.github.com/articles/about-bra...trictions/
timotimo we can make an orphaned master branch with only a single commit that says "this isn't the branch you're looking for"
jnthn We could leave nom as the default 11:45
timotimo then pushing will basically always tell you it's not a fast-forward
oh, wait
we're talking about making master only pushable by the automated thing
jnthn Right
babydrop But if I'm a random dude walking through decided to submit a fix, I'll just do it off master 'cause that's what everyone uses and I never heard of this `nom`
jnthn Right
Yeah, we should probably then stick with not having a master.
To avoid such confusion 11:46
And call the release target one something else
babydrop +1
timotimo release-target-one
jnthn At the time the doc was written, people using rakudobrew to obtain a Rakudo build was a more important use-case than it is now; now it seems we discourage that. 11:47
nine But we already have a massively outdated master and there hasn't been a PR for master ever?
jnthn And people who want stability are pushed towards releases, packages, etc. Which is a good thing.
nine: We don't have a master afaik
Anyway, if there are users who want to be sort-of-bleeding-edge but not-so-rare-you-see-it-bleeds then I guess they can choose to track the release branch. 11:49
nine Oh, indeed.
jnthn I figure that will be an increasingly small group however.
timotimo we might have a master that's been created by accident
i think i've done that once?
nine Seems like I have a master in my fork 11:51
jnthn goes to put a fork in his lunch :) 11:57
arnsholt jnthn: Is lunch return of revenge of the son of pulao mountain, or are you done with that now? =) 11:58
kalkin- samcv: ohh i see, double initialization of my read 11:59
why did you guys merged it? should i make another pr fixing this?
babydrop kalkin-: if something's broken, yeah, please submit another PR fixing the issue. 12:00
kalkin- babydrop: ok 12:01
nine kalkin-: we usually operate in a "when in doubt, merge it" mode 12:06
kalkin- i see 12:07
masak we do? exactly how much doubt to we allow? :P 12:11
masak .oO( "I'm really not sure about this PR! let's merge it!" )
nine "Wait, why would rakudo need to open an IRC connection and fork into background? And I have never read this account name. But the commit message explains that the patches just fix some indentation, so let's merge it!" 12:13
babydrop Ummm... no, we don't? 12:27
babydrop doesn't want to start rumours that Perl 6 core devs will merge just any old thing
lucasb github.com/rakudo-acceptanything 12:30
babydrop heh
lizmat m: my $a <== join(",") <== <a b c>; dd $a # this seems wrong ? 12:33
camelia rakudo-moar e1d92e: OUTPUT«Array $a = $["a,b,c"]␤»
lizmat sorta expected to see "a,b,c" there ?
psch m: my $x <== 1; say $x
camelia rakudo-moar e1d92e: OUTPUT«[1]␤»
psch i always assumed feed operators to implictly always leave arrays behind 12:34
potentially lazy i wanna say, but i'm not sure about that
kalkin- Am I right that only rakudo/rakudo uses the nom branch as the current development branch while MoarVM/MoarVM and perl6/nqp use master branch?
lizmat kalkin-: yes 12:35
nine kalkin-: correct
lucasb on nom nom 12:36
kalkin- thanks
pmurias masak: isn't Angular 2 supposed to be faster? I have used only Angular 1 (and had performance problems with it) 12:37
pmurias meant to say that in #perl6 :( 12:38
masak pmurias: you switch channels for the Angular 2 discussion?
ah :)
please do.
Woodi m: my @a = |<| / - \ | / - \ > xx *; say @a[0]; say @a[0]; 12:41
camelia rakudo-moar e1d92e: OUTPUT«|␤|␤»
Woodi @a[0] do not shift Slip ?
babydrop What does that mean? 12:44
Why not use .rotate instead of that? 12:45
Woodi babydrop: it's another way, not circular but infinite! ;)
babydrop ummmmm 12:46
Well, don't let me stop you..
psch that just wastes RAM, and you still need to either $++ or shift
...if we can shift from lazy lists?
Woodi babydrop: and I should stil have that blogpost open, for closer reread :)
psch well, or overwrite AT-POS(0) of course vOv 12:47
that's probably gonna be perfectly fine and usable
babydrop I've no idea what blog post you mean :/
Woodi psch: it is just short example, just put lazy there ?
psch Woodi: sure
Woodi m: my @b = |<| / - \ | / - \ > xx *; say shift @b; say shift @b; # shift shifts ? 12:48
camelia rakudo-moar e1d92e: OUTPUT«|␤/␤»
Woodi but it is Slip, not Array...
psch m: my @b = |<| / - \ | / - \ > xx *; say @a.WHAT 12:49
camelia rakudo-moar e1d92e: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Variable '@a' is not declared␤at <tmp>:1␤------> my @b = |<| / - \ | / - \ > xx *; say ⏏@a.WHAT␤»
psch m: my @b = |<| / - \ | / - \ > xx *; say @b.WHAT
camelia rakudo-moar e1d92e: OUTPUT«(Array)␤»
psch yeah
Woodi is afk; Perl6 is hard. let's deliver some cakes for kids ;) 12:50
jnthn arnsholt: Thankfully, I finished that up by the end of last week. :-) 13:01
kalkin- samcv: i fixed the double initialization of Readline you mentioned github.com/rakudo/rakudo/pull/951/...679435cf6b 13:02
MasterDuke_ hopefully nobody minds if i ask about this again. i'm trying to get -n to codegen 'while ($_ := get()).DEFINITE { $code }' instead of 'for lines() { $code }' 13:05
dalek kudo/nom: 0c6d142 | kalkin++ | src/core/REPL.pm:
REPL fix readline double initialization
kudo/nom: e296a14 | kalkin++ | CREDITS:
Add myself to CREADITS file
kudo/nom: af2ff23 | niner++ | / (2 files):
Merge pull request #951 from kalkin/readline-history

REPL fix readline double initialization
babydrop doesn't mind but doesn't know the answer either :(
MasterDuke_ the AST i get looks reasonable, but depending on different tweaks to it, i get no output, or the error "Cannot call method 'sink' on a null object in block <unit> at -e line 1"
here's a gist with some diffs gist.github.com/MasterDuke17/6e09e...2a0348ef7b
kalkin- ups typo 13:07
too late :)
lizmat thinks it's creative :-)_ 13:14
m: my @a = ^10; say -« @a # works fine 13:18
camelia rakudo-moar af2ff2: OUTPUT«[0 -1 -2 -3 -4 -5 -6 -7 -8 -9]␤»
lizmat m: my @a = ^10; say -<< @a # doesn't parse
camelia rakudo-moar af2ff2: OUTPUT«[0 -1 -2 -3 -4 -5 -6 -7 -8 -9]␤»
lizmat huh?
oops, seen the error of my ways :-)
babydrop m: my @a = 0e0..9e0; say -« @a 13:41
camelia rakudo-moar af2ff2: OUTPUT«[-0 -1 -2 -3 -4 -5 -6 -7 -8 -9]␤»
babydrop m: my @a = 0e0..9e0; dd -« @a
camelia rakudo-moar af2ff2: OUTPUT«[-0e0, -1e0, -2e0, -3e0, -4e0, -5e0, -6e0, -7e0, -8e0, -9e0]␤»
babydrop (good, negative zero works)
A ton of failures in make j-test on nqp.... I guess I'm learning Java today. 13:44
psch babydrop: irclog.perlgeek.de/perl6-dev/2016-...i_13713553 and the next two or so pages will probably be helpful 13:46
babydrop: i'm assuming the contextual.t additions suffer from a similar problem, which is completely-different-codegen-architecture 13:47
babydrop: so, yes, you probably have to learn some Java, but most of it is like in src/vm/jvm/QAST/Compiler.nqp
*likely
travis-ci Rakudo build passed. Bahtiar `kalkin-` Gadimov 'Add Historyfile support for Readline' 13:48
travis-ci.org/kalkin/rakudo/builds/183241465 github.com/kalkin/rakudo/compare/1...43f5897a75
babydrop ummm
I don't undertstand any of it. 13:49
I guess I'm too optimistic about my ability to fix those tests :)
I just didn't want to fudge anything 3rd release in a row... 13:50
psch understandable, and maybe sufficient grounds to park r-j
i mean, considering it's probably mostly new tests that test previously-assumed-correct behavior... 13:51
babydrop So would I release nqp with those failing tests unfudged or should I fudge them? 13:52
where by "fudge" I mean skipping them for both moarvm and jvm
psch i don't have a strong opinion on that, but it seems justifiable to not release nqp-j or r-j is what i wanted to say before 13:53
babydrop OK.
psch like, it's new tests, but we should've been passing them all along 13:54
if people really want an nqp-j that we cannot confidently say fits notably relevant semantics -- like closure cloning and lexical references -- they probably can build it themselves
and in turn take note of the failing tests 13:55
but afaik releases should pass all the fudged tests, and it feels a bit weird to me at least to fudge tests that at time of release are only a few days old but pass on the other backend
especially in nqp
on the other hand that's previously been policy, so you could also fudge and release both
as i said, i don't really have a strong opinion either way, and i'm sadly not capable of fixing anything in the lexrel and closure cloning area quickly 13:56
babydrop I think I'll fudge them just so if someone's packaging this downstream they don't stop and think there's some new breakage 13:58
pmurias suspects he should run make j-test more often to avoid failing tests on nqp-j 13:59
psch pmurias: honestly, i'm not sure. if they're passing on moar and nobody notices bad semantics it's better to have failing tests than no tests 14:00
pmurias: if you're fixing nqp-j in the process... well great, i've troubles getting into some of the deeper parts of the compiler
pmurias wouldn't fudging my having a list of tests that nqp-j fails rather then modifing tests on release and reverting that be saner? 14:01
s/my/by/ 14:02
psch well, sure, we can bring the fudger into nqp tests too
but currently we're just straight running them through -exec nqp ...
pmurias I just meant having a list of whole test files that we fail 14:03
Woodi hmm, Slip is just "kind of List that automatically flattens into an outer container" so what was that kind of list that do not keep used values ? Seq ? 14:09
babydrop Woodi: FWIW, there are more users in #perl6 channel 14:13
Woodi damn, wrong channel... sorry 14:15
pmurias psch: 104-method-cache, 01-qast and serialization/01-basic fail? 14:17
lunch&
babydrop yeah, those look like the ones that fail to me: gist.github.com/zoffixznet/f4e1e1c...8defd3eb38 14:19
psch right
01-qast is the one affected by the closure model differences
babydrop But I'm unsure what you mean by "make a list" of files that fail. To what end? To just keep them in a directory that's not tested on j-test? 14:20
psch ah, 01-qast also has the bit where we don't look for the right boxing type for some reason 14:23
i don't remember offhand what's going on with the other two
dogbert17_ babydrop: I'm getting quite a few fails when running 'make spectest' normally. Is something up?
babydrop dogbert17_: what are the failures? 14:24
dogbert17_ bizarre to say the least, I even nuked my rakuda install and started from scratch. Let me pu up a gist. 14:25
babydrop: gist.github.com/dogbert17/5916d833...06ac49e278 14:26
babydrop Just one file fails? 14:27
dogbert17_ babydrop: sry, was afk, no several failures 14:36
five or six files: t/spec/S17-promise/basic.t, t/spec/S17-supply/syntax.t, t/spec/S29-context/sleep.t, t/spec/S05-substitution/subst.rakudo.moar, t/spec/S16-io/handles-between-threads.rakudo.moar, t/spec/S17-promise/basic.t 14:38
babydrop No idea. Doesn't look like anything I could've broken :} 14:40
jnthn dogbert17_: Still got extra debug checks turned on, perhaps? 14:43
pmurias I'll look into those nqp-j failures 14:48
babydrop pmurias++ 14:49
dalek kudo/nom: e5e81e4 | (Zoffix Znet)++ | src/core/Rakudo/Internals/VMBackedDecoder.pm:
Re-instate comment about why the `with` is in the code

And expand on why it was removed/re-added
14:51
p: 069d9ea | (Pawel Murias)++ | t/qast/01-qast.t:
[jvm] Add a takeclosure op needed for JVM's old closure handling.
14:52
pmurias when is nqp-j release planned? 14:59
babydrop This Saturday. 15:01
NeuralAnomaly: status
NeuralAnomaly babydrop, [✘] Next release will be in 4 days and 14 hours. Since last release, there are 48 new still-open tickets (2 unreviewed and 0 blockers) and 28 unreviewed commits. See perl6.fail/release/stats for details
dogbert17_ jnthn: no, I started from scratch 15:02
dogbert17_ hopes he's made some stupid mistake 15:03
MasterDuke_ dogbert17_: pretty sure i've seen some failures in some of those files also 15:05
dogbert17_ MasterDuke to the rescue :)
bizarre: # Failed test 'huge values to sleep() work' 15:06
# at /home/dogbert/repos/rakudo/t/spec/packages/Test/Util.pm (Test::Util) line 76
# got err: "Thread 3 bound to a hash key of an object (BOOTHash) allocated by thread 1\n at <unknown>:1 (./CORE.setting.moarvm:BIND-KEY)\n from SETTING::src/core/hash_slice.pm:12
babydrop I'm not getting any failures in the entire stresstest. In fact the opposite: 15:11
t/spec/S17-procasync/kill.rakudo.moar (Wstat: 0 Tests: 9 Failed: 0)
TODO passed: 9
Files=1204, Tests=130277, 139 wallclock secs (21.52 usr 3.56 sys + 2945.33 cusr 287.87 csys = 3258.28 CPU)
Result: PASS
dalek kudo/nom: aa27d5c | (Zoffix Znet)++ | src/core/Date.pm:
Make all Date constructors check validity of dates

Fixes RT#130313: rt.perl.org/Ticket/Display.html?id=130313
15:13
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130313
dalek ast: fecfa65 | (Zoffix Znet)++ | S32-temporal/Date.t:
Test all Date contructors check validity of dates

RT#130313: rt.perl.org/Ticket/Display.html?id=130313 Rakudo fix: github.com/rakudo/rakudo/commit/aa27d5ce94
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130313
pmurias babydrop: I'll try fixing the failures later today/tommorow, the don't look like they require a closure handling refactor or anything that serious 15:18
babydrop cool
lizmat babydrop: are you sure you didn't break the subclassability of Date ?
ah, read the commit wrong 15:19
dogbert17_ babydrop: it's very strange, for me the following code spits out lots of strange output: await ^30 .map: { start { S/.+/{$/.chars.print}/ given "abc"; } }
m: await ^30 .map: { start { S/.+/{$/.chars.print}/ given "abc"; } }
camelia rakudo-moar e5e81e: OUTPUT«333333333333333333333333333333»
dogbert17_ odd
lizmat babydrop: but I do think you've severely slowed down Date.new(y,m,d) creation :-( 15:20
dogbert17_ babydrop: if it's no to much trouble, are you close to your 32-bit dev machine? 15:21
ilmari s: Range, 'in-range', \(Int, Str)
SourceBaby ilmari, Something's wrong: ␤ERR: Unhandled exception: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' (from 'gen/moar/main.nqp')␤ at <unknown>:1 (/home/zoffix/services/sourceable/building-perl6/perl6.moarvm:<dependencies+deserialize>)␤
lizmat since that now has to go through the (much slower) named variant :-(
babydrop dogbert17_: it's kinda of "trouble" tho, beucase I don't use it to dev Perl 6. So any time you ask me for something I have to rebuild Perl 6 which takes ages. 15:22
ilmari resorts to ag
dogbert17_ babydrop: that's cool just wanted to check. will try with slightly older releases 15:23
babydrop lizmat: it's slower just due to named args? 15:24
I see it's now 3 times slower :o
lizmat oh, yes
babydrop makes changes
lizmat named parameters are *way* slower than positionals
that's the whole point of not using BUILD in the core setting, but custom SET-SELF methods instead 15:25
babydrop s: Range, 'in-range', \(Int, Str) 15:28
SourceBaby babydrop, Sauce is at github.com/rakudo/rakudo/blob/aa27...ge.pm#L629
babydrop ilmari: you just caught it in the middle of building a new commit
ilmari ah
jnthn m: class C { method m($a, $b) { } }; C.m(1, 2) for ^100000; say now - INIT now 15:30
camelia rakudo-moar e5e81e: OUTPUT«0.21150674␤»
jnthn m: class C { method m($a, $b) { } }; C.m(1, 2) for ^1000000; say now - INIT now
camelia rakudo-moar e5e81e: OUTPUT«2.0623987␤»
jnthn m: class C { method m(:$a!, :$b!) { } }; C.m(:1a, :2b) for ^1000000; say now - INIT now 15:31
camelia rakudo-moar aa27d5: OUTPUT«2.0579070␤»
jnthn lizmat: Really? :)
babydrop m: class C { method m(:$a, :$b) { } }; C.m(:1a, :2b) for ^1000000; say now - INIT now
camelia rakudo-moar aa27d5: OUTPUT«2.22023755␤»
lizmat well, :$a! is essentially the same as a positional
jnthn Uh 15:32
No, it's passed as a named :)
Spesh rewrites it into a positional
But it does that in the optinal case too
lizmat well, as babydrop showed, it's clearly slower
if you don't use !
jnthn m: class C { method m($a?, $b?) { } }; C.m(1, 2) for ^1000000; say now - INIT now
camelia rakudo-moar aa27d5: OUTPUT«1.8460138␤»
jnthn huh, how come that one is a bunch faster... 15:33
m: class C { method m($a?, $b?) { } }; C.m(1, 2) for ^1000000; say now - INIT now
camelia rakudo-moar aa27d5: OUTPUT«2.10225324␤»
jnthn Oh, just noise :)
ilmari
.oO( dumbbench? )
jnthn I suspect that if it boils down to "if you don't use !" then it's not too much to do with nameds and much more to do with optional, anyways.
m: say 100 * (2.05 / 2.22) 15:34
camelia rakudo-moar aa27d5: OUTPUT«92.342342␤»
dalek kudo/nom: 5556b3c | (Zoffix Znet)++ | src/core/Date.pm:
Redo Date validation differently for performance

The method implemented in aa27d5c made Date.new($y, $m, $d) run 3x slower.
  lizmat++ for noticing
MasterDuke_ jnthn: have you seen my AST question?
jnthn And even then we're talking 10% if those numbers are to believed. So I suspect there's a little more to the story (multi dispatch maybe?) than just nameds 15:35
MasterDuke_: No; link?
MasterDuke_ jnthn: gist.github.com/MasterDuke17/6e09e...2a0348ef7b
i'm trying to get -n to codegen 'while ($_ := get()).DEFINITE { $code }' instead of 'for lines() { $code }' 15:36
babydrop m: class C { multi method m(Str $x) { }; multi method m($a, :$b) { }; multi method m(:$a, :$b) { } }; C.m(:1a, :2b) for ^1000000; say now - INIT now
camelia rakudo-moar aa27d5: OUTPUT«2.20618128␤»
babydrop weird
oh
m: class C { multi method m(Str $x) { }; multi method m($a, $b) { self.m(:$a, :$b) }; multi method m(:$a, :$b) { } }; C.m(1, 2) for ^1000000; say now - INIT now
camelia rakudo-moar aa27d5: OUTPUT«2.5596973␤» 15:37
babydrop vOv
perl6 -e 'Date.new(2015, 12, 25) for ^10_000; say now - INIT now runs in 0.13 and change and with the first patch that turned into 0.6
jnthn MasterDuke_: The immediate cause is that a QAST while node doesn't evaluate to anything, but you're sinking it 15:39
Thus it produces a null to sink leading to the error
But it's nowhere near that easy to do this
Since the change breaks FIRST/NEXT/LAST phasers 15:40
MasterDuke_ interesting, how does it break them? 15:41
jnthn The code-gen for while inserts stuff to make them work
MasterDuke_ ha, turtles all the way down? code-gen a code-gen for while? 15:42
jnthn Well, maybe take a look at how while is implemented :)
I think the needed bits may well just be facotred out into a sub you can call, thinking about it
MasterDuke_ tweak_loop?
jnthn Sounds plausible, yeah :) 15:43
MasterDuke_ so that would unbreak the phasers, but then would it work to not sink the while? 15:44
just QAST::Want the while directly? 15:45
jnthn You don't even need the QAST::Want either
MasterDuke_ i can't test right now, but i believe that without the Want i didn't get the sink null error, but nothing got printed (for '-ne '.say' <file>) 15:48
jnthn That'd be...odd
(The QAST op 'while' doesn't do anything lazy) 15:49
MasterDuke_ i believe it took a while to run with a large file (as if it was actually reading it), but even a "say 'hi'" didn't do anything 15:50
dogbert17_ notices that the strange errors he's getting comes from MVM_cross_thread_write_check
MasterDuke_ jnthn: i'll play around with tweak_loop this evening, thanks for the help 15:53
jnthn dogbert17_: Do you have MVM_CROSS_THREAD_WRITE_LOG in your environment somehow? 15:59
dogbert17_ jnthn?+++ I have 16:00
so maybe my nonsense might be something after all then 16:01
or is it a known fact that some tests suffer from cross thread writes? 16:02
this code reliably reproduces it for me (stolen from a test file): await ^30 .map: { start { S/.+/{$/.chars.print}/ given "abc"; } } 16:04
jnthn dogbert17_: There are a number of totally benign ones 16:06
lizmat m: my @a := 0 ... 200 # shouldn't / didn't this work before ?
camelia rakudo-moar 5556b3: OUTPUT«Type check failed in binding; expected Positional but got Seq ((0, 1, 2, 3, 4, 5, 6,...)␤ in block <unit> at <tmp> line 1␤␤»
jnthn lizmat: Before the GLR 16:07
And no, shouldn't.
lizmat ok
jnthn Use assignment or .list or .cache or @(...)
Or don't stick it in an @ thing :) 16:08
Depending on what you're aiming at
lizmat m: my @a := 0, 1, { say $^a; $^a + 1 } ... 10 # correct this iterates on assignment ?
camelia rakudo-moar 5556b3: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤Type check failed in binding; expected Positional but got Seq ((0, 1, 2, 3, 4, 5, 6,...)␤ in block <unit> at <tmp> line 1␤␤»
lizmat m: my @a = 0, 1, { say $^a; $^a + 1 } ... 10 # correct this iterates on assignment ?
camelia rakudo-moar 5556b3: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤»
jnthn Yes, becauae assignment is eager unless the thing being assigned is marked lazy
And we discovered that sequences being lazy by default caused surprises. 16:09
dalek kudo/nom: 5558710 | (Zoffix Znet)++ | src/core/List.pm:
Make .rotor on empty list return empty Seq

The current version returns Rakudo::Internals.EmptyIterator, which appears to be something that's meant to be returned via .iterator method.
Fix by returning ().Seq instead.
Fixes RT#130283: rt.perl.org/Ticket/Display.html?id=130283
lizmat aha, so my @a = "file".IO.lines *will* read the whole file nowadays
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130283
dalek ast: 891568b | (Zoffix Znet)++ | S32-list/rotor.t:
Test .rotor on empty list returns empty Seq

RT#130283: rt.perl.org/Ticket/Display.html?id=130283 Rakudo fix: github.com/rakudo/rakudo/commit/5558710da6
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130283
lizmat babydrop: good catch
jnthn lizmat: Unless it's being marked lazy :)
babydrop tsk tsk, AlexDaniel. Very unprofessional ticket :)
lizmat I have been confused about the naming / use of EmptyIterator before 16:10
jnthn: yeah, got that now
jnthn You can force it with my @lines = lazy "foo".IO.lines;
lizmat yup
I guess I still assumed per-GLR behaviour in that context 16:11
*pre
AlexDaniel babydrop: and I'm not a proffesional bug reporter :) But I'll try better next time
babydrop :D
dogbert17_ jnthn: thx, you have saved me from early insanity :) 16:15
AlexDaniel bisect: old=2015.11 class MyInt is Any is Int { } 16:17
bisectable6 AlexDaniel, Bisecting by output (old=2015.11 new=5558710) because on both starting points the exit code is 1
AlexDaniel, bisect log: gist.github.com/3f4ef010db484d5171...a55adf91fd
AlexDaniel, (2015-12-18) github.com/rakudo/rakudo/commit/c3...0403c8d6e7
AlexDaniel bisect: say 255.base(16, -100) 16:20
bisectable6 AlexDaniel, On both starting points (old=2015.12 new=5558710) the exit code is 1 and the output is identical as well
AlexDaniel, Output on both points: digits argument to base out of range. Is: -100, should be in 0..*␤ in block <unit> at /tmp/zx8nYA_biq line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/zx8nYA_biq line 1␤
AlexDaniel oh really
bisect: old=2015.07 say 255.base(16, -100) 16:21
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.07 new=5558710). Old exit code: 0
AlexDaniel, bisect log: gist.github.com/360db0e86f4c338f5a...9bf3fea7cf
AlexDaniel, (2015-09-08) github.com/rakudo/rakudo/commit/57...1f03d6b549 16:22
AlexDaniel m: say 255.base(16, 9999999999999999999999999999999999999999999999999);
camelia rakudo-moar 5556b3: OUTPUT«Cannot unbox 163 bit wide bigint into native integer␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel say 255.base(16, 9999999999999999999999999999999999999999999999999999999999999999999999999);
m: say 255.base(16, 9999999999999999999999999999999999999999999999999999999999999999999999999);
camelia rakudo-moar 5556b3: OUTPUT«Cannot unbox 243 bit wide bigint into native integer␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel yet another resolved ticket
MasterDuke_ resolved? 16:34
ah, used to go negative 16:37
lizmat m: my $odds = (3, 5 ... 15); dd $odds 16:47
camelia rakudo-moar 555871: OUTPUT«Seq $odds = (3, 5, 7, 9, 11, 13, 15).Seq␤»
lizmat m: my $odds = 3, 5 ... 15; dd $odds # sorta expected that to be the same ??
camelia rakudo-moar 555871: OUTPUT«Int $odds = 3␤»
lizmat I guess the parens here aren't superstitious ?
m: my ($odds) = 3, 5 ... 15; dd $odds # this I can understand 16:48
camelia rakudo-moar 555871: OUTPUT«Int $odds = 3␤»
jnthn Item and list assignment have different precedence 16:50
jnthn away for a bit
lizmat also steps away for s bit 16:52
babydrop /me wonders what are these bits and whether he wants one too.... 16:53
Phillips?
ilmari a _tiny_ snack? even less than a nybble 16:54
TimToady 2 bits'll get you a few sticks of gum anyway... 16:56
Pieces of eight! Pieces of eight! Rawk! 16:57
TimToady hopes it's Talk like a Parrot Day...
TimToady wonders why the thing at :47 doesn't give a 'Useless use of ...' error 16:59
something for the uu file... 17:00
I guess it's vaguely possible that ... could have side effects, but usually it is used as if it were pure 17:05
b2gills Is there a good reason 「^5e0」 is not the same as 「0e0 ..^ 5e0」 ( there are only 2 spec tests that fail with that change, and they are for 「^5e0 .perl」 and 「^(5/1) .perl」 ) 17:09
babydrop m: dd eager ^5e0 17:12
camelia rakudo-moar 555871: OUTPUT«(0, 1, 2, 3, 4)␤»
babydrop m: dd eager 0e0 ..^ 5e0 17:13
camelia rakudo-moar 555871: OUTPUT«(0e0, 1e0, 2e0, 3e0, 4e0)␤»
babydrop s: &prefix:<^>, \(5e0)
SourceBaby babydrop, Sauce is at github.com/rakudo/rakudo/blob/5558...ge.pm#L655
babydrop heh 17:14
b2gills: are those tests in 6.c-errata or just in master?
m: 5e0.Numeric.^name.say 17:15
camelia rakudo-moar 555871: OUTPUT«Num␤»
b2gills The relevant parts of the test looks the same to me github.com/perl6/roast/blob/6.c-er...ge-basic.t 17:18
specifically lines 43,44 combined with line 18
babydrop Then unfortunatelly we can't change this in 6.c language. 17:19
b2gills I did also find two errors, on lines 12,13 where they hard-code 2 and 6
babydrop hehe
b2gills ... only in the description though 17:20
babydrop m: dd eager ^5.5
camelia rakudo-moar 555871: OUTPUT«(0, 1, 2, 3, 4, 5)␤»
babydrop m: dd eager 0.0..^5.5 17:21
camelia rakudo-moar 555871: OUTPUT«(0.0, 1.0, 2.0, 3.0, 4.0, 5.0)␤»
babydrop huggable: 6.d 17:24
huggable babydrop, nothing found
babydrop huggable: 6d
huggable babydrop, nothing found
babydrop huggable: 6.d :is: Proposals for 6.d language: github.com/perl6/specs/blob/master/v6d.pod
huggable babydrop, Added 6.d as Proposals for 6.d language: github.com/perl6/specs/blob/master/v6d.pod
babydrop b2gills: ^ that's the doc we have for 6.d changes. Add yourself, if you feel this is important enough :) 17:25
b2gills Actually the only reason I looked into it was someone talking about ranges with two different types of bounds being slow 17:26
babydrop b2gills: oh, I fixed that a few days ago 17:30
m: eager 1..1e5; say now - INIT now
camelia rakudo-moar 555871: OUTPUT«0.5589974␤»
babydrop star: eager 1..1e5; say now - INIT now
camelia star-m 2016.10: OUTPUT«6.7768728␤»
babydrop m: say 6.7768728 / 0.5589974
camelia rakudo-moar 555871: OUTPUT«12.12326354␤»
b2gills m: eager 1e0..1e5; say now - INIT now 17:31
camelia rakudo-moar 555871: OUTPUT«0.27743616␤»
babydrop hm, yeah, there's still that, I suppose. 17:32
b2gills m: eager 1..100000; say now - INIT now # wow so much faster yet 17:33
camelia rakudo-moar 555871: OUTPUT«0.0446517␤»
b2gills Which reminds me, I think that Range should be split up a bit. I think even just splitting off Str Range into its own subtype would simplify a bunch of code. 17:41
dalek kudo/nom: 55cf6fa | (Zoffix Znet)++ | src/core/Complex.pm:
Fix &infix:<===> on Complex failing to distinguish signed zeros

Fixes RT#128999: rt.perl.org/Ticket/Display.html?id=128999
17:53
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128999
dalek ast: 15c0978 | (Zoffix Znet)++ | S32-num/negative-zero.t:
Test &infix:<===> on Complex distinguishes signed zeros

RT#128999: rt.perl.org/Ticket/Display.html?id=128999 Rakudo fix: github.com/rakudo/rakudo/commit/55cf6fa9e1
17:54
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128999
babydrop Is there a reason for that nqp::abs_n in there? github.com/rakudo/rakudo/blob/5558...lex.pm#L53 18:01
psch m: say 2 + -1; say 2 ~ "-" ~ -1 18:21
camelia rakudo-moar 55cf6f: OUTPUT«1␤2--1␤»
babydrop I'll take it as "no" then :) 18:22
psch well, the explicit concat of '-' is the reason vOv
babydrop Thanks. 18:24
psch i mean, of course i don't know the intent of the original author, and maybe $negative-number.Str is a slower code path 18:25
babydrop that op is kinda broken BTW 18:28
m: use nqp; say nqp::abs_n(-0e0)
camelia rakudo-moar 55cf6f: OUTPUT«-0␤»
psch m: use nqp; say nqp::abs_n(-1e0)
camelia rakudo-moar 55cf6f: OUTPUT«1␤»
babydrop j: use nqp; say nqp::abs_n(-0e0) 18:29
camelia rakudo-jvm 8ca367: OUTPUT«0␤»
babydrop hm, then maybe something I could fix then
psch well, if -0e0 is distinct from 0e0 and ieee754 has strong opinions about that..?
m: use nqp; say nqp::abs_i(-0)
camelia rakudo-moar 55cf6f: OUTPUT«0␤»
babydrop ints don't got negative zeros 18:30
psch right, which is why it maybe makes sense for abs_n to not turn -0e0 into 0e0
babydrop "In mathematics, the absolute value or modulus |x| of a real number x is the non-negative value of x without regard to its sign" per en.wikipedia.org/wiki/Absolute_value 18:31
So to me that sounds like it shouldn't have a sign
babydrop pops up ieee
psch yeah, if anything the rfc should answer abs on -0e0
or, "published standard" actually i guess 18:32
babydrop "abs(x) copies a floating-point operand x to a destination in the same format, setting the sign bit to 0 (positive)."
That's the only mention of abs() I see other than a blurb about NaNs 18:33
psch right, then moar seems wrong
babydrop will try to fix
m: -0e0.abs 18:34
camelia rakudo-moar 55cf6f: OUTPUT«WARNINGS for <tmp>:␤Useless use of "-" in expression "-0e0.abs" in sink context (line 1)␤»
babydrop m: -0e0.abs.say
camelia rakudo-moar 55cf6f: OUTPUT«WARNINGS for <tmp>:␤Useless use of "-" in expression "-0e0.abs.say" in sink context (line 1)␤0␤»
babydrop m: -0e0 .abs.say
camelia rakudo-moar 55cf6f: OUTPUT«-0␤»
babydrop :D
lizmat .tell babydrop with 15c0978f on roast, is there a reason to use is-deeply foo, True instead of ok foo ?? 19:26
yoleaux2 lizmat: I'll pass your message to babydrop.
dalek kudo/nom: a3735af | (Zoffix Znet)++ | src/core/Complex.pm:
Fix stringif. of Complex failing on negative zero in img. part

A negative zero goes through <0e0 conditional, at which point it ends up as -0 via p6box_s, concatenated with a '+'.
1/-0e0 == -Inf, so use that knowledge to figure out the sign of the zero. The nqp::abs_n() op seemed to have no point in there to me
  (and is slower), so I removed it.
Fixes RT#130329: rt.perl.org/Ticket/Display.html?id=130329
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130329
ast: 967a64b | (Zoffix Znet)++ | S32-num/negative-zero.t:
Test stringification of negative zeros in Complex

RT#130329: rt.perl.org/Ticket/Display.html?id=130329 Rakudo fix: github.com/rakudo/rakudo/commit/a3735af278
19:28
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130329
phatbot lizmat: well, it kinda goes back to my rant that `is` is not precise enough. And the same applies in this case too. If that op will start to return 1/0 all of a sudden, the `ok` test won't catch it, while is-deeply will. 19:32
And moritz disagreed with me, back when I mentioned that, but two days ago a regression slipped through the `is` test, but it would've been caught by an is-deeply: github.com/perl6/roast/commit/99a9...86b00da63e 19:33
Why is is-deeply a lot slower than ok?
lizmat ok, I left a comment to the commit
do with it what you will :-)
phatbot lizmat: so we were fixing the same ticket? 19:34
lizmat yeah, no biggie :-)
wanted some distraction between proofreading and writing P6W :-)
phatbot I was actually thinking of that today.... that sooner or later we'll have that happen when I saw sena_kun hacking on a ticket 19:35
lizmat as to the question why is-deeply is slowe? well, I think it's the difference between x eqv y and x.Bool 19:37
lizmat starts on the P6W
dogbert17 oops, Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb5bffb40 (LWP 3985)] 0xb7ce9312 in MVM_gc_write_barrier (tc=0xa0a8420, update_root=0x0, referenced=0xb5caf910) at src/gc/wb.h:8 19:40
dogbert17 is once again tinkering with small nursery sizes 19:41
dalek kudo/nom: fa98875 | (Zoffix Znet)++ | src/core/Complex.pm:
Use lizmat++'s Complex stringification algo

Replaces previous fix[^1] for RT#130329: rt.perl.org/Ticket/Display.html?id=130329
Not only liztmat's version is much easier to read, it's also 1.5x times faster.
  [1] github.com/rakudo/rakudo/commit/a3735af278
19:51
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130329
phatbot lizmat++ 19:52
lizmat: as for test failing, those are for the commit I pushed an hour or so ago, so I'm guessing you just didn't have that fix in your local checkout?
lizmat phatbot: lemme check that again 19:53
phatbot it's 55cf6fa "2 hours ago" according to github
lizmat phatbot: I didn't have 55cf6fa9e154d4e7 yet, so that's probably the reason 19:54
phatbot \o/
lizmat yup
pmurias an eval-server for nqp-j would be awesome to speed up make j-test 20:03
dalek p: 49d6beb | (Pawel Murias)++ | src/vm/jvm/runtime/org/perl6/nqp/ (4 files):
[jvm] Make nqp::findmethod throw an exception if it can't find the method.
20:12
ast: f30510e | (Zoffix Znet)++ | integration/error-reporting.t:
Test we do not refer to curly quotes as smart

RT#130260: rt.perl.org/Ticket/Display.html?id=130260
20:28
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130260
dalek ast: 862c53b | samcv++ | S15-unicode-information/unimatch-general.t:
Add test to check unimatch checks short/alternate canonical Unicode

property names properly.
  github.com/MoarVM/MoarVM/issues/448
20:36
p: 9ab1467 | (Pawel Murias)++ | src/vm/jvm/ (2 files):
[jvm] Make boxing int/num/str respect the HLL int_box/num_box/str_box setting.
21:05
p: 3ebba28 | (Pawel Murias)++ | t/serialization/01-basic.t:
[jvm] Fix serialization context name collisions.
21:29
pmurias that shouldn't have been [jvm] tagged :/ 21:30
phatbot samcv: do you run make spectest to ensure no breakage happens?
samcv yes
phatbot ok. 21:31
I'm on my phone, but 952 looks like the new multi would cause ambiguity with the one below it, no? 21:32
phatbot squints
samcv well it only gets called when there is not a third term
err. wait. if there IS a third term
it checks the one above first
phatbot m: multi foo($,$,$) {say "here"}; muti foo ($,$,$ = 42) {say "there"}; foo 1, 1, 1 21:34
camelia rakudo-moar fa9887: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Unexpected block in infix position (missing statement control word before the expression?)␤at <tmp>:1␤------> $,$) {say "here"}; muti foo ($,$,$ = 42)⏏ {say "there"}; foo 1, 1, 1␤ expecting…»
phatbot m: multi foo($,$,$) {say "here"}; multi foo ($,$,$ = 42) {say "there"}; foo 1, 1, 1 21:35
camelia rakudo-moar fa9887: OUTPUT«here␤»
phatbot TIL
lizmat samcv: re ab10dc42dfd2a198, in the commit message there are 5 pairs of matching brackets?? 21:37
samcv oh maybe i added 5 then..
lizmat :-)
samcv uhm
lizmat you *list* five in the commit message
samcv bisectable6, say q⟮test⟯ 21:38
bisectable6 samcv, Bisecting by exit code (old=2015.12 new=fa98875). Old exit code: 1
samcv, bisect log: gist.github.com/af192e0c4c29b944a9...7e395c1946
samcv, (2016-12-12) github.com/rakudo/rakudo/commit/89...4deeea53c4
samcv bisectable6, say ⸤test⸥
bisectable6 samcv, On both starting points (old=2015.12 new=fa98875) the exit code is 1 and the output is identical as well
samcv, gist.github.com/28354b0c87cbbf7f4d...bcaf12de8f
samcv bisectable6, say q⸤test⸥
bisectable6 samcv, Bisecting by exit code (old=2015.12 new=fa98875). Old exit code: 1
samcv, bisect log: gist.github.com/a178b948e7675ffb0a...4885bd86fc 21:39
samcv, (2016-12-12) github.com/rakudo/rakudo/commit/89...4deeea53c4
samcv yeah i think i added 5 then?
regardless all the ones we didn't have are now there :P
but it is 5
lizmat samcv: ok, it will be so in the weekly :-) 22:00
dalek p: f79d66f | (Pawel Murias)++ | t/serialization/01-basic.t:
Skip tests on the JVM that depend on getting a null from an accessor (this is broken on the JVM).
22:02
samcv :-)
pmurias make j-test should now pass in nqp-j (with 2 new skipped tests) 22:03
phatbot woooo 22:07
pmurias++
dalek kudo/nom: b456471 | samcv++ | src/core/Cool.pm:
Fix unimatch so it checks canonical short/alternate unicode props

If we don't specify a property name to check against unimatch will still work the same, but if we do supply a property to check against, call uniprop where the issue is fixed to resolve the name.
Passes S15-unicode-information/unimatch-general.t
22:23
rakudo/nom: f8cbcac | lizmat++ | src/core/Cool.pm:
rakudo/nom: Merge pull request #952 from samcv/unimatch
rakudo/nom:
rakudo/nom: Fix unimatch so it checks canonical short/alternate unicode properties
phatbot heh
phatbot got "Could not merge... refresh page" or something :)
lizmat :-)
and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2016/12/12/...rofilesql/
phatbot \o/ 22:24
eh, my article was posted on hacker news 22:25
phatbot reads first commit....
Yeah, ain't reading the rest :}
*comment
jnthn lizmat++ # weekly 22:29
phatbot: Reading comments is usually a bad idea. :) 22:30
phatbot lizmat++ great weekly \o/
pmurias jnthn: nqp-j has uninitialized P6opaque attributes set to null? 22:33
jnthn nqp-j: class A { has $!a; method m() { say($!a.HOW.name($!a)) } }; A.new.m 22:35
hmm...is there a bot here for that?
nqp: class A { has $!a; method m() { say($!a.HOW.name($!a)) } }; A.new.m
camelia nqp-moarvm: OUTPUT«NQPMu␤»
jnthn I'd expect that to be NQPMu on all the backends, though...pretty sure it's set as part of the attribute composition protocol 22:36
phatbot j: class A { has $!a; method m() { say($!a.HOW.name($!a)) } }; A.new.m 22:40
camelia rakudo-jvm 8ca367: OUTPUT«Any␤»
phatbot (that's not nqp, just rakudo-j)
[Coke] some gold from a ycombinator thread we should appreciate: 22:41
[2] And, amazingly, Rakudo is a pretty compact executable compared to most other langs.
jnthn :) 22:44
'night, #perl6-dev 22:45
timotimo gnite jnthn 22:48
dalek ast: a248d15 | lizmat++ | S15-unicode-information/unimatch-general.t:
Unfudge now passing test, samcv++
22:55
kudo/nom: 29b228c | lizmat++ | src/core/List.pm:
Use Seq.new(R:I:EmptyIterator) instead of ().Seq

Because it is about 1.5x faster and doesn't need to allocate a new empty List first.
23:16
timotimo nice
phatbot TIL
lizmat timotimo: oddly enough, creating a R:I:EmptySeq method that does a Seq.new(R:I:EmptyIterator) is significantly slower :-( 23:17
probably not getting inlined or so
timotimo huh, weird 23:18
but yeah, could perhaps be
dalek ast: e1a8098 | samcv++ | S15-unicode-information/uniprop.t:
Add uniprop todo tests for 'tc', 'lc' and 'uc'

Titlecase_Mapping, Lowercase_Mapping and Uppercase_Mapping
23:20