»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
TimToady thinks it's pretty darn ugly 00:01
Mouq :) 00:02
TimToady on top of which, list infix isn't loose enough to admit list comprehensions 00:03
it really does need to parse as a sequence of statements, except without the sequence part 00:04
well, they're still in a sequence, but we'd do something else with it
I could see ,, as a C comma thogh
*u
but S seems just as good for that 00:05
it's the "second" operator, it returns the second of the values :)
Mouq m: sub infix:<;> (**@l) is looser(&[X]) is assoc('list') { @l }; say (1;2 ... 10;3, 4 Z 7,3).perl 00:06
camelia rakudo-moar 9e475e: OUTPUT«lol(1, (2, 3, 4, 5, 6, 7, 8, 9, 10).list.item, ((3, 7), (4, 3)).list.item)␤»
jnthn Make it 'n
this 'n that 'n the other
:P
TimToady well, then would work 00:07
jnthn :)
Puns a little with .then on Promise
Or conflicts, or reminds of, or something... 00:08
TimToady heh, someone stretched yer semicolon
.u ;
yoleaux U+FF1B FULLWIDTH SEMICOLON [Po] (;)
BenGoldberg m: say [R,] 1..5; # can we get a better error message here? 00:09
camelia rakudo-moar 9e475e: OUTPUT«Too many positional parameters passed; got 5 but expected 2␤ in block at src/gen/m-CORE.setting:17554␤ in sub at src/gen/m-CORE.setting:17696␤ in block at /tmp/CSKhnWdTJN:1␤␤»
BenGoldberg m: say [,] 1..5; 00:10
camelia rakudo-moar 9e475e: OUTPUT«1 2 3 4 5␤» 00:11
TimToady seems more like a bug
but I kinda like S as the 'statement' operator :) 00:14
or the 'sink' operator
or the 'second value' operator
or the 'silly songs with larry' operator
[Coke] OSH*T, I have the compiler release this week. whee. 00:16
lue or the 'something useful' operator :)
00:16 gfldex left
TimToady just don't suggest Ꙅ to mean RS 00:17
lue I wouldn't be surprised if at some point we give up trying to be ASCII-compatible and instead market special Perl 6 keyboards. 00:18
TimToady just sell a Compose key they can paste on the side 00:19
[Coke] Anyone has any changes for the changelog, now's a good time to update. :)
00:24 avuserow joined
jnthn Time for sleep; night o/ 00:41
Mouq .ask lizmat Should "1[1]:kv" warn that the index is out of range? I would like it to for the LoL code, but if it should be the way it is, I'll work around it
yoleaux Mouq: I'll pass your message to lizmat.
Mouq \o jnthn 00:42
BenGoldberg How did APL programmers handle the keyboard problem?
TimToady custom keyboard with overstrike 00:47
00:51 thou joined
TimToady LMGTFY: en.wikipedia.org/wiki/APL_%28progra...anguage%29 00:52
00:52 Mouq left 00:55 thou left
[Coke] bets the APL variant he worked on no longer builds on parrot. 01:09
colomon "Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block?" aiieeee! 01:12
how else am I supposed to indicate to pass everything through grep? (it's the default) 01:15
BenGoldberg grep { True }, ..., perhaps? 01:16
colomon that works. seems a bit… annoying. 01:17
BenGoldberg++
BenGoldberg :)
Or just omit the grep ;)
colomon BenGoldberg: it's not direct. it's $filter = { True } (in a sig, so that's the default) and then later grep($filter) 01:18
BenGoldberg do a given/when on the filter, optimize the True and False cases, so the grep is only done for an actual filter. 01:19
01:24 Mouq joined
Mouq colomon: You could use Whatever/* 01:24
m: say grep *, False
camelia rakudo-moar 9e475e: OUTPUT«False␤»
BenGoldberg Ooh :) 01:25
01:26 FROGGS_ joined 01:27 aoseki joined 01:29 FROGGS left 01:30 akaseki left
colomon aye, Whatever star works nicely. 01:30
Mouq++
TimToady m: say grep Mu, False 01:42
camelia rakudo-moar 9e475e: OUTPUT«False␤»
TimToady that too
01:43 klapperl_ joined
BenGoldberg m: say so Mu; 01:43
camelia rakudo-moar 9e475e: OUTPUT«False␤»
01:45 ilbot3 left 01:46 klapperl left 01:47 ilbot3 joined
TimToady m: say grep Nil, True 01:47
camelia rakudo-moar 9e475e: OUTPUT«␤» 01:48
01:48 iarna left
TimToady close enough to a Top and Bottom type for this purpose 01:48
though * is fine for true as well
01:49 iarna joined
TimToady m: say grep all, False 01:51
camelia rakudo-moar 9e475e: OUTPUT«False␤»
TimToady m: say grep none, True
camelia rakudo-moar 9e475e: OUTPUT«True␤»
TimToady oops :)
m: say grep any, True 01:52
camelia rakudo-moar 9e475e: OUTPUT«␤»
BenGoldberg m: say grep one, True, False
camelia rakudo-moar 9e475e: OUTPUT«␤»
TimToady unfortunately, none() is always true... 01:54
01:56 kurahaupo left
dalek kudo/nom: b52ef05 | coke++ | docs/announce/2014.08.md:
Add placeholder release announcement for 2014.08
02:11
02:38 rurban1 joined 02:39 thou joined 02:44 thou left 02:47 Mouq left 02:49 tinyToday left, noganex_ joined 02:52 noganex left 02:57 haroldwu left, haroldwu joined 03:11 rurban1 left 03:12 klaas-janstol joined
j4jackj TimToady: hi. 03:14
03:15 xragnar_ joined, xragnar is now known as Guest88125, xragnar_ is now known as xragnar 03:19 Guest88125 left 03:22 kurahaupo joined 03:26 rindolf joined 03:29 ClarusCogitatio left 03:30 ClarusCogitatio joined 03:45 ClarusCogitatio left 03:47 ClarusCogitatio joined 04:03 ClarusCogitatio left 04:07 ClarusCogitatio joined 04:08 BenGoldberg left 04:10 Mouq joined 04:20 ClarusCogitatio left 04:23 ClarusCogitatio joined 04:25 thou joined 04:30 klaas-janstol left 04:39 kaare__ joined 04:43 ventica2 left
Mouq I know that this topic was brought up a few months ago, and I don't remember the conclusion, but the spec still says Parcel and LoL should be immutable and Rakudo still seems to disagree 04:59
At least, WRT to .WHICH 05:00
m: say (4,5).Parcel.WHICH
camelia rakudo-moar b52ef0: OUTPUT«Parcel|139892831858408␤»
Mouq m: say lol(4,5).WHICH
camelia rakudo-moar b52ef0: OUTPUT«LoL|140211260317384␤»
Mouq m: my @a := (4,3).Parcel; @a[2] = 5; say @a 05:01
camelia rakudo-moar b52ef0: OUTPUT«4 3␤»
Mouq m: my @a := lol(4,3); @a[2] = 5; say @a
camelia rakudo-moar b52ef0: OUTPUT«Cannot modify an immutable Any␤ in method assign_pos at src/gen/m-CORE.setting:1812␤ in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2511␤ in block at /tmp/Rdn408Irgv:1␤␤»
TimToady as containers they're supposed to be immutable
though they may contain mutable containers
05:01 ClarusCogitatio left 05:02 ClarusCogitatio joined
TimToady very nearly has a patch to make (;;) work, but it blows up in the mast stage: "arg expression cannot be void" 05:04
a lot of stuff flows through circumfix:<( )> alas
spent a couple hours getting "is repr('foo')" to parse and treat 'foo' as a constant... 05:05
Mouq would like to note that he is usually mostly motivated by being unable to do things he'd like to, like not being able to write a TOML parser easily without LoL indicies, or in this case, doing using LoLs as 2d indicies and trying to do set operations on them
s/doing// 05:06
TimToady: :( Debugging this stuff is extremely hard 05:07
TimToady is usually motivated by things that need to change but nobody else is willing to try :)
have you found any secrets for printing out $<foo> objects prettily?
where that's an nqp match, not a p6 match? 05:08
Mouq No.. we should probably add a routine to do that for debugging
TimToady at least I can parse the whole setting now, so I guess now I need to print out MAST 05:09
or maybe PAST
to figure out what wants an argument that is getting () 05:10
Mouq TimToady++ # stubbornness
05:11 ClarusCogitatio left
TimToady it's a necessary but not sufficient condition for what I do :/ 05:11
05:14 ClarusCogitatio joined
TimToady actually, looks like there are decent dump routines for QAST 05:21
05:23 ClarusCogitatio left 05:26 ClarusCogitatio joined 05:31 ClarusCogitatio left 05:33 ClarusCogitatio joined
TimToady success! 05:41
Mouq \o/
TimToady of course, the one place Perl 6 uses (;;) in anger is in src/core/GatherIter.pm (line 24) 05:42
deep in the bowels of the gather/take logic
changing it to do {;;} makes it at least finish the compile
now to spectest
> say [<a b c>; 1,2,3; rand xx 3].[*;1] 05:45
b 2 0.520140755260778
> say (42; 43; 44).WHAT 05:46
(LoL)
timotimo o/ 05:52
TimToady \o
well, not surprisingly, failing a number of tests, so not quite ready for primetime
Mouq TimToady: There's also the release around the corner 05:53
and o/ timotimo
timotimo i personally am fond of LoLification, too 05:54
TimToady yes, I wasn't gonna check this if there was any doubt, and there seems to be sufficient doubt to keep this in a branch for now
Mouq Though I ran a naive search on the star modules and didn't find any use of "\( <-[)]>* \;" nor "\[ <-[\]]>* \;" 05:55
TimToady some of the tests are even looping 05:56
well it could be just something slightly out-of-whack for ;-less () or [] too
I was actually surprised that the compiler "found" a real one in gather/take 05:57
I'll have to look at the tests to see if they're miswritten wrt the new semantics, or if something else is going on
or there might be something subtle with changing the (;;) to do {;;} in gather/take 05:58
I could just run that change in the nom branch and see if it flakes out 06:00
I keep thinking another test has hung, and then realize I'm still in S17 06:03
which tests take their jolly sweet time 06:04
Mouq m: say ({.WHICH.say;$_}(lol(3,2)).push: 4).WHICH # mutable :/ 06:08
camelia rakudo-moar b52ef0: OUTPUT«LoL|140526816151336␤LoL|140526816151336␤»
dalek kudo/nom: 7752c57 | duff++ | src/core/LoL.pm:
Prevent infinite recurse on bare "zip"; fixes RT #119337
06:15
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=119337
timotimo .tell japhb maybe the command i was thinking of could be called "testrun" and it could take either a component name if given, the system-wide "perl6/nqp/..." or a compiler by filename 06:17
yoleaux timotimo: I'll pass your message to japhb.
Mouq m: [Z] 06:20
camelia rakudo-moar b52ef0: OUTPUT«(timeout)»
dalek kudo/lolly: 0f01a5d | TimToady++ | src/ (2 files):
First whack at (;;) and [;;] producing LoL

It works for those constructs, but breaks other stuff subtly.
06:38
TimToady the answer is yes, gather/take depends critically somehow on the exact nature of (;;) when passed as the 3rd arg of nqp::handle 06:48
timotimo o_O
TimToady I think it's thunking it somehow
timotimo i don't even know what (;;) used to be 06:49
06:49 Mouq left
TimToady it's like do {;;} 06:49
timotimo but it's not very unlikely that an nqp:: op thunks something
like nqp::for for example
TimToady I'll have to glare at it tomorrow; changing it to do {;;} allows it to compile, but breaks gather/take 06:51
timotimo OK 06:52
TimToady so I rather suspect that nqp is using (;;) for a different kind of relationship between the "statements" than a normal block does
timotimo i don't know much about the handler stuff, apart from "the handlers are magical, usually in their own kind of way" 06:53
TimToady or it can only invoke the semilist directly
timotimo well, at that point i don't think an actual "semilist" exists at all
TimToady it's been partially statement-ified by that point 06:54
maybe it needs the "returns" set 06:55
but I think it's just installing three statements somewhere 06:57
well, I need to figure out gather/take anyway so I can start to think about batchifying it 06:58
timotimo find moarvm's implementation of handle in QASTOperationsMAST.nqp inside nqp beginning at line 1602
TimToady yes, that's where I had to put instrumentation to find where it was mis-compiling 06:59
but my brane is too frazzled to do much more tonight
07:00 gfldex joined
timotimo ah 07:00
i can't read much into the code there either
except that the handler seems to kind of be shoved into the QAST "just like that"
07:01 thou left
timotimo we have an "invoke_and_we'll_see" handler action type ... 07:02
TimToady yeah, might just have to construct something with nqp:: ops there in gather/take 07:06
timotimo jnthn or arnsholt would know more about that, i believe; didn't arnsholt do a bunch of stuff for continuations and such? 07:07
TimToady well, I can probably just finesse it into printing out the QAST it's using currently, and reproduce that 07:08
timotimo you mean with --target=ast?
TimToady dunno, maybe something sneakier
in the action routine maybe 07:09
now that I know how to dump QAST 07:10
maybe there's some simple keyword to add, like thunk(;;), that overides the lolliness 07:12
timotimo from what i see here, (;;) gets compiled to just a call to &infix:<,> with no arguments 07:14
TimToady I mean with args 07:15
see line 24 in GatherIter.pm
timotimo oh, target=ast is probably too late to see it 07:16
oooooooh
07:24 darutoko joined
TimToady --> 😴 07:35
07:46 molaf_ left 07:51 kurahaupo left 08:04 telex left 08:06 telex joined 08:09 ClarusCogitatio left 08:13 ClarusCogitatio joined 08:15 ClarusCogitatio left 08:16 ClarusCogitatio joined, thou joined 08:21 thou left 08:24 ClarusCogitatio left 08:28 ClarusCogitatio joined 08:41 ClarusCogitatio left
nwc10 masak: in lucumr.pocoo.org/2014/8/16/the-pyth...ke-to-see/ -- "There is a language specification but in many cases it just codifies what the interpreter does or is even lacking" - isn't that standard for all specs? :-/ 08:42
at least, where there really only was one implementation, and the spec came second.
(this also seems to be a reasonable assessment of the PHP spec) 08:43
08:43 ventica2 joined
nwc10 but, you are where you are. ("If I were you sir, I wouldn't start from here") 08:43
08:45 ClarusCogitatio joined
nwc10 I really have no good feel for whether his concurrency proposals would be useful enough to be performant. Or whether they'd suffer from the same problems as ithreads, when it comes the cost of spinning up a new thread 08:46
I wonder if he's even thought about that
oh, comments on reddit make me realise something that is actually implied by that article. 08:49
having a GIL permits global variables. Hence the python interpreter state can quite safely be global
hence there has never been a need to encapsulate it behind a pointer (to a structure) 08:50
hence there is no way (without refactoring) to have two python interpreters in the same process
and given the shared codebase, that almost certainly still applies if one is 2 and one is 3
so no way to ease migration by having both variants in one process 08:51
08:56 anaeem1 joined 09:02 Rotwang left
nwc10 news.ycombinator.com/item?id=8186528 -- "compiling pypy also takes about half a day..." "your days must be really short, it takes an hour on my machine 09:03
"
and, wait, how does Rakudo compare? :-)
09:03 PotatoGim left 09:04 PotatoGim joined
xiaomiao nwc10: rakudo is "fast" 09:08
on a 3.4Ghz machine ... pypy takes about 7200 seconds for me
rakudo is somewhere in the "under 10 minute" range, afair
nwc10 when I last tried to benchmark it, pypy was about 40 minutes 09:09
(and 6Gb, IIRC. I can't build it in 4)
Rubinius was maybe 10 to 15 (I forget)
and MoarVM + NQP + Rakudo was under 10
from a VM developer point of view, pypy is pretty much unworkably slow 09:10
I think that this will hurt them in the long term, because it's very hard to learn it, because it takes so long to learn your mistakes
(oops, the copywriter in my head notices I used the same word 3 times)
xiaomiao I wonder if incremental builds are possible 09:12
but even for distro packagers it's prohibitive 09:13
nwc10 I really don't know enough about it to guess the answer to that 09:15
I tried to benchmark it after I pretty much took out my laptop trying to install pypy with macports
09:15 anaeem1 left 09:19 cognome joined
masak good antenoon, #perl6 09:23
moritz \o 09:24
09:26 anaeem1_ joined
FROGGS_ o/ 09:26
09:26 FROGGS_ is now known as FROGGS
masak ϾϿ/ 09:27
09:35 ventica joined, ventica2 left 09:38 spider-mario joined 09:39 beastd joined 09:45 brrt joined 10:05 thou joined, iarna left 10:07 klaas-janstol joined 10:09 thou left 10:17 anaeem1_ left 10:25 anaeem1_ joined 10:29 anaeem1_ left 10:31 anaeem1 joined 10:35 Rotwang joined 10:36 gfldex left 10:41 anaeem1 left 10:56 pmurias joined
pmurias hi 10:56
colomon \o 10:58
11:05 brrt left
psch hi #perl6 o/ 11:11
lizmat psch pmurias colomon masak FROGGS moritz xiaomiao nwc10 o/ 11:15
yoleaux 00:41Z <Mouq> lizmat: Should "1[1]:kv" warn that the index is out of range? I would like it to for the LoL code, but if it should be the way it is, I'll work around it
colomon lizmat: \o 11:16
FROGGS o/
11:16 kaare__ left
lizmat .tell Mouq scalars can only be indexed with [0], and nothing else 11:16
yoleaux lizmat: I'll pass your message to Mouq.
lizmat .tell Mouq although I'm not sure where that is specced 11:18
yoleaux lizmat: I'll pass your message to Mouq.
sergot hi o/ 11:20
11:20 klaas-janstol left 11:24 klaas-janstol joined
sergot psch: why is '$e != 4294967296' there? 11:25
psch sergot: i added that to the ticket. it's because i used an Int for the binding, which doesn't quite work on 32bit
err, not ticket, the PR :)
"Of note is the inequality check in line 86 with 4294967296 on the RHS, which I think is an artifact of a NativeCall bug on 32bit machines with some integer types."
sergot psch: ohh, I see now
I'm sorry 11:26
psch no worries
sergot psch++, merged 11:28
I will add throwing exception there
instead of just printing error messages
thanks again :) 11:29
psch sergot: sure, it was just a quick hack to get started
the err bindings could definitely use more work as well...
sergot Yeah, my idea was to provide a high lvl class for OpenSSL bindings in OpenSSL.pm6 11:31
We should use it, will do :)
11:32 anaeem1 joined
sergot so we can just do 'use OpenSSL' instaed of 'use OpenSSL::ERR/SSL...' :) 11:33
11:38 brrt joined
psch right, OpenSSL should probably use the err bindings internally and just return Failure for recv or something like that 11:38
sergot yeah :)
hmm, I've just got an segfault using panda on latest makudo 11:39
a
still, after reinstalling everything 11:44
is it onlym e? 11:58
moritz enjoys philosophyprofessorquotes.tumblr.com/ 12:01
a mixture of funny and deep quotes
12:09 anaeem1__ joined 12:10 anaeem1 left 12:26 ChoHag left, zakharyas joined
lizmat please someone remind me again why we put Test.pm's "diag" output on $*ERR, instead of $*OUT ? 12:27
lizmat is looking at some strange $*OUT / $*ERR interactions in tests
jnthn lizmat: So it won't confuse the TAP parser? 12:28
12:28 kaare__ joined
lizmat but diag already puts a # in front of each line 12:28
so it won't confuse the TAP parser, afaik
lizmat gives up trying to disentangle this mess 12:35
FROGGS from reading testanything.org/tap-specification.html I'd say diag should go to stdout
masak +1 12:36
jnthn If the protocol says so, then yeah :)
Was just guessing why it'd been done that way. 12:37
masak but I also vaguely remember the one who changed it to $*ERR saying it was the right way to go about it.
so maybe talk to the one in the git blame?
jnthn Ah
lizmat that would be hoelzro 12:38
anyways, even with diag on $*OUT, there are some strange buffering effects going on... :-(
I'll wait until hoelzro wakes up :-) 12:39
FROGGS "The harness is free, however, to display the diagnostics."
masak also maybe check the backlog around the commit.
FROGGS "A harness must only read TAP output from standard output and not from standard error."
12:49 dalek left 12:50 dalek joined, ChanServ sets mode: +v dalek
brrt nwc10: about the 'what i want from python' post, i'd argue that the author really wanted lua-with-python-libs 12:55
lizmat perhaps the problem is really that we don't have the equivalent of $| yet
FROGGS std: $| 12:58
camelia std ee1ef48: OUTPUT«===SORRY!===␤Unsupported use of $| variable; in Perl 6 please use :autoflush on open at /tmp/3eBu2SbNS1 line 1:␤------> $|⏏<EOL>␤Parse failed␤FAILED 00:00 121m␤»
FROGGS ahh, I remember :o)
I think I use that in one place at $work
12:58 lichtkind joined
brrt moritz++ for link :-) 13:03
dalek kudo/nom: a756a17 | (Elizabeth Mattijsen)++ | lib/Test.pm:
Small tweaks, more Perl6isms
13:07
13:12 ggoebel11111110 joined 13:15 ggoebel1111119 left 13:19 sftp_ joined 13:21 sftp left, sftp_ is now known as sftp
masak moritz: my favorite so far: "So you say that a thing can exist and not exist at the same time and I completely agree with you because I think you’re wrong." 13:25
also, today's autopun spotting: twitter.com/quinnnorton/status/500...6033457152 13:26
13:32 kaare__ is now known as kaare_
dalek ast: e657f36 | (Elizabeth Mattijsen)++ | / (10 files):
Another batch of (eval_|)dies_ok -> throws_like
13:38
lizmat "This matter requires immediate attention. I'll get someone to ignore it right away" 13:39
not sure in what category that falls into
13:41 thou joined
jnthn Politics? :) 13:44
lizmat Customer Service ? 13:45
jnthn Or that :)
lizmat www.glasbergen.com/wp-content/galle...n-1991.gif :-) 13:46
13:46 thou left
psch m: sub f($a, $) { }; &f.params>>.name.say # this still feels inconsistent to me 13:46
camelia rakudo-moar a756a1: OUTPUT«No such method 'params' for invocant of type 'Sub'␤ in block at /tmp/uNix7PNqRO:1␤␤»
psch eh
signature :l
m: sub f($a, $) { }; &f.params.signature>>.name.say # this still feels inconsistent to me
camelia rakudo-moar a756a1: OUTPUT«No such method 'params' for invocant of type 'Sub'␤ in block at /tmp/DOK2Ej15xe:1␤␤»
psch oh wow
psch .oO( more actual reading and less typing please )
m: sub f($a, $) { }; &f.signature.params>>.name.say 13:47
camelia rakudo-moar a756a1: OUTPUT«$a Nil␤»
psch m: sub f($a, $, :$) { }; &f.signature.params>>.name.say
camelia rakudo-moar a756a1: OUTPUT«$a Nil Nil␤»
psch m: sub f($a, $, :$c) { }; &f.signature.params>>.name.say
camelia rakudo-moar a756a1: OUTPUT«$a Nil $c␤»
psch i've been trying to get .name to give only the sigil for anons, but that breaks setting compile with "cannot stringify this" and "unable to find symbol Undeclared"
which i take to mean that .name does something i wouldn't expect 13:48
jnthn psch: Well, the important thing to understand is that we use null in the $!variable_name slot when doing code-gen
To mean "don't spit out a bind"
And we won't have generated a lexical either
I'm not entirely sure if .name should give back a sigil 13:49
psch jnthn: that means i want .perl and not .name?
jnthn But .perl may well do so
Since we also do track (in the flags) if it's a scalar, array, etc.
psch jnthn: but for non-anons the sigil has to be around for context inference? 13:50
or some other purpose, maybe
m: sub f($a, $, :$c) { }; &f.signature.params>>.perl.say 13:51
camelia rakudo-moar a756a1: OUTPUT«Any $a Any Any :c($c)␤»
jnthn psch: Can't recall quite off hand; I know that we need it as part of binding things, and want it more cheaply than doing a substring op... 13:54
Anyway, the info is there if we want to make .perl put the $ in there
psch jnthn: right. making .perl gives bare sigils was something i achieved inbetween 13:58
and i think i don't misunderstand you when i say .name is more of an internal thing 13:59
words are kind of hard today, it seems :) 14:00
dalek p-js: ae2122e | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Implement nqp::neg_n
14:01
p-js: e65d7e1 | (Pawel Murias)++ | / (4 files):
Implement the simplest possible way of calling JavaScript call.
p-js: 80adad8 | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js:
Make nqp.to_bool work on undefined.
p-js: be58214 | (Pawel Murias)++ | examples/webpacked/ (2 files):
A very simple port of the second p5js tutorial example.
jnthn psch: .name doesn't have to be a more internal thing, but if we do want it to return the sigil, then that has to be done in the name method, not by tweaking what's stored in $!variable_name. 14:02
lizmat r: sub a ($a) { ... }; a(|(my @)); CATCH { default { say "caught" } } # shouldn't this say "caught" ? 14:03
camelia rakudo-jvm a756a1: OUTPUT«(timeout)»
..rakudo-{parrot,moar} a756a1: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤ in sub a at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
jnthn psch: I'm not sure having it return just a sigil is entirely useful, though
lizmat ah, it;s some sink context thing again 14:04
r: { sub a ($a) { ... }; a(|(my @)); CATCH { default { say "caught" } } }
camelia rakudo-{parrot,jvm,moar} a756a1: OUTPUT«caught␤»
jnthn lizmat: Yeah, but still...should say it
psch jnthn: trying to return a bare sigil for an anon parameter in .name is what breaks compilation for me 14:06
14:06 brrt left
psch a distinction between .name and .perl would make sense to me, the latter has post constraints and type and whatnot 14:06
dalek p-js: 35d01f7 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Turn QAST::OperationsJS methods into subs for concisness.
psch while the former would only return sigil and name, or just sigil if it was anon
jnthn psch: Yes; but if it's anon, it has no name, which is why I'm questioning whether we should return the sigil there. 14:08
psch jnthn: oh, i see. my imagined use-case would be "what can i put in there" but that's probably better served with .perl anyway, because of the additional information 14:10
i think i agree with you and haven't thought enough about it before
*hadn't 14:11
hoelzro I'm up! I'm up! 14:15
timotimo hey rob! :)
hoelzro morning timotimo
lizmat: you rang?
lizmat yes, wrt disentangling test and diag output in Test.pm 14:16
hoelzro ah
lizmat when run in a shell, the diag output sometimes overwrites the test output, and vice versa
timotimo lizmat called up hoelzro on his Red Rotary Phone and he promptly got into his Robomobile and jetted off to #perl6 :3
m: say "hey there" :3 14:17
camelia rakudo-moar a756a1: OUTPUT«===SORRY!=== Error while compiling /tmp/T8p7kGVukN␤Two terms in a row␤at /tmp/T8p7kGVukN:1␤------> say "hey there" ⏏:3␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-in…»
lizmat very annoying in debugging
hoelzro lizmat: ah, yes
timotimo ^- for emoticon reasons, more kinds of colonpairs ought to be allowed :P
lizmat the only "fix" I got so far, is to just do 2>2 and check file "2" afterwards
sub-optimal at best
hoelzro well, I would mess with the buffering on the out/fail handles, but I don't think there's a way to do that atm
timotimo: ha, yeah, and it only took me 1.5 hours =) 14:18
lizmat maybe we need to implement :autoflush ?
hoelzro lizmat: yes
dalek kudo/test-betterer: 2f974de | (Rob Hoelz)++ | lib/Test.pm:
Revert "Revert "Test: Copy filehandles if we can""

This reverts commit 189d1ce84ce1ac4f86fa34153c043cb1d5836140.
kudo/test-betterer: bc4e880 | (Rob Hoelz)++ | lib/Test.pm:
Print TODO diags to todo_output
kudo/test-betterer: e53ddfc | (Rob Hoelz)++ | lib/Test.pm:
Fix exit codes for Test.pm
kudo/test-betterer: 909e802 | (Rob Hoelz)++ | lib/Test.pm:
Test: Make sure we close all handles

Some VMs (ex. Parrot) don't finalize objects like file handles during program shutdown, so there may remain data unflushed from userspace.
hoelzro forgot to push that a while back
dalek kudo/test-betterer: 33f6015 | (Rob Hoelz)++ | lib/Test.pm:
Grab call frame from outside of conditional

This is necessary due a bug in MoarVM
14:19 klaas-janstol left
hoelzro I don't know if it's ready to merge, but it addresses some of the problems you've pointed out, lizmat 14:19
hoelzro should make a TODO for that branch too 14:21
I was hoping to work on improving Test.pm after I finished with S26
lizmat builds and will run a spectest
hmmm... it doesn't build :-(
perhaps no recent changes merged ? 14:22
hoelzro yeah, it's very stale
hang on, I'll rebase
14:24 anaeem1__ left
psch ugh, i'm in no shape to do more coding today i think. too many brainos :/ 14:28
i've created a PR with Parameter.perl giving sigils for positional anonymous scalars, but the message is wrong because the commit message was wrong
but i've fixed the commit message and mentioned that the PR-message is wrong and the commit message is better 14:29
dalek kudo/test-betterer: b175465 | (Rob Hoelz)++ | lib/Test.pm:
Revert "Revert "Test: Copy filehandles if we can""

This reverts commit 189d1ce84ce1ac4f86fa34153c043cb1d5836140.
kudo/test-betterer: f93ca4d | (Rob Hoelz)++ | lib/Test.pm:
Print TODO diags to todo_output
kudo/test-betterer: 678f286 | (Rob Hoelz)++ | lib/Test.pm:
Fix exit codes for Test.pm
kudo/test-betterer: 9b3102b | (Rob Hoelz)++ | lib/Test.pm:
Test: Make sure we close all handles

Some VMs (ex. Parrot) don't finalize objects like file handles during program shutdown, so there may remain data unflushed from userspace.
hoelzro lizmat: there you go
kudo/test-betterer: 4111fa4 | (Rob Hoelz)++ | lib/Test.pm:
Grab call frame from outside of conditional

This is necessary due a bug in MoarVM
hoelzro that should help, I think
14:29 beastd left
psch and now i'll get off the computer because this doesn't bode well o/ 14:29
lizmat hoelzro: will test in a mo 14:32
14:33 guru joined, guru is now known as Guest57668, Guest57668 is now known as ajr_
hoelzro lizmat: sure thing. btw, just wanted to let you know that Test.pm now has copies of filehandles for writing to the different streams 14:34
lizmat $ git checkout test-betterer 14:37
Switched to branch 'test-betterer'
Your branch and 'origin/test-betterer' have diverged,
and have 5 and 150 different commits each, respectively.
huh ?
jnthn lizmat: Welcome to git :D
lizmat: It probably means that you already had a local checkout of test-betterer 14:38
timotimo or maybe an old branch that was named the same thing
jnthn lizmat: And it has some commits in it that the upstream one doesn't
lizmat: Maybe 'cus it was re-based
Or what timotimo said
Anyway
hoelzro lizmat: did you git fetch?
jnthn git branch test-betterer-backup
git checkout nom
git branch -D test-betterer
And try again :)
timotimo i suggest git checkout -b old-test-betterer test-betterer; git checkout test-betterer; git reset --hard origin/test-betterer 14:39
or what jnthn said
jnthn (First step of mine is optional)
(Lesson though - which many folks miss - is that a branch is just a mutable way of labeling a commit)
lizmat followed jnthn's suggestion, all seems fine now 14:40
building
timotimo jnthn: "mutable" doesn't tell the whole story, IMO. i'd say it's a "way of labeling a commit that automatically follows any commits you base upon it"
dalek p-js: da342f4 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Add a add_simple_op helper to make op definitions more concise.
14:41
p-js: 74fa9cf | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Use add_simple_op for nqp::isinvokable.
jnthn timotimo: That's the most common means of mutation, yes. 14:42
timotimo er ... "not telling the whole story" was probably the intention you had in mind ... 14:46
14:47 ChoHag joined
jnthn timotimo: Yeah, it was; was mostly pointing out the abstraction behind the common use case :) 14:47
lichtkind cheers leaving tomorrow to sofia, any other buggars that I can meet earlier? 14:50
lizmat afk for a bit&
ChoHag buggers
Or beggars
jnthn
.oO( It buggers belief... )
14:51
lichtkind this ambiguity was part of the fun :)
jnthn Anyway, I'm not arriving until Thursday afty.
lichtkind i thought of both even tending more to buggers :)
ah
thanks
timotimo .o( mhhh burgers ) 14:52
dalek p-js: e49d2b1 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Make add_simple_op support ops with a variable numer of arguments, use it for nqp::ord and nqp::index.
14:57
15:00 rindolf left 15:01 rindolf joined 15:07 nebuchadnezzar left 15:21 nebuchadnezzar joined
masak .oO( any other Bulgars that I can meet earlier? ) 15:23
15:27 brrt joined
lizmat hoelzro: I see only one strange failure in branch test-betterer 15:38
t/spec/S12-subset/subtypes.t, test 37 fails with "got 0, expected 2" 15:39
it seems to be related to the -- in the test before that: if I change it to ++, test passes 15:40
hoelzro how odd
lizmat if I turn it into $x = $x - 1, also passes 15:41
timotimo m: say nan.WHAT 15:42
camelia rakudo-moar a756a1: OUTPUT«===SORRY!=== Error while compiling /tmp/4X5SXHNnuA␤Undeclared routine:␤ nan used at line 1. Did you mean 'tan'?␤␤»
timotimo m: say NaN.WHAT 15:43
camelia rakudo-moar a756a1: OUTPUT«(Num)␤»
timotimo this is amusing
lizmat levenshtein upper lower case confusion ?
masak timotimo: no, it's IEEE 754.
lizmat nan is IEEE 754 ?
masak surely.
timotimo lizmat: the algorithm assumes initial uppercase is for types and initial lowercase for subs and such 15:44
m: class Foobar is Nan { }
camelia rakudo-moar a756a1: OUTPUT«===SORRY!=== Error while compiling /tmp/Gk3IHHtqSQ␤'Foobar' cannot inherit from 'Nan' because it is unknown.␤at /tmp/Gk3IHHtqSQ:1␤------> ␤»
timotimo hmm. it doesn't suggest NaN there, that's probably a good thing.
lizmat aha, the problem doesn't exist with MVM_SPESH_DISABLE=1 15:46
15:48 brrt left
dalek kudo/nom: b175465 | (Rob Hoelz)++ | lib/Test.pm:
Revert "Revert "Test: Copy filehandles if we can""

This reverts commit 189d1ce84ce1ac4f86fa34153c043cb1d5836140.
15:49
kudo/nom: f93ca4d | (Rob Hoelz)++ | lib/Test.pm:
Print TODO diags to todo_output
kudo/nom: 678f286 | (Rob Hoelz)++ | lib/Test.pm:
Fix exit codes for Test.pm
kudo/nom: 9b3102b | (Rob Hoelz)++ | lib/Test.pm:
Test: Make sure we close all handles

Some VMs (ex. Parrot) don't finalize objects like file handles during program shutdown, so there may remain data unflushed from userspace.
kudo/nom: 4111fa4 | (Rob Hoelz)++ | lib/Test.pm:
Grab call frame from outside of conditional

This is necessary due a bug in MoarVM
15:52 nebuchadnezzar left 15:54 nebuchadnezzar joined
masak loves exploratory programming 15:55
where I can loop over a cross product without bad conscience :) 15:57
lizmat gist.github.com/lizmat/25b44ae6dd06ccefa339 # jnthn: looks like a SPESH related problem 15:59
jnthn lizmat: If you shout it I'll think of a really awful backronym :P
lizmat hehe... sorry, came from typing MVM_SPESH_DISABLE=1 too many times :-) 16:00
jnthn # or with --optimize=0
Does that mean "--optimize=0 has not effect"?
lizmat has the same effect as not specifying it
jnthn OK
So purely a spesh bug, not a nasty interaction between the two.
lizmat so only disabling spesh altogether makes the problem go away
jnthn That's *something* at least. :)
lizmat: Could you try not disabling spesh, but just inline (MVM_SPESH_INLINE_DISABLE=1)? 16:01
lizmat removing the line with $x++ also fixes it
still problem with that
jnthn OK, and (if you have a --enable-jit build) MVM_JIT_DISABLE? 16:02
It's a weird one...
lizmat *then* it works!
jnthn Do you still have spehs disabled?
As in, it works if you leave spesh on, but just disable JIT? 16:03
lizmat so disabling spesh, or disabling jit, fixes the problem
yes
$ MVM_JIT_DISABLE=1 perl6 bar
jnthn Disabling spesh also disables JIT
lizmat well, it seems to be a weird one
hoelzro I've seen a few issues with spesh
jnthn Basically, MVM_SPESH_DISABLE is the sledgehammer disabling of all dynamic optimizations.
lizmat yup, that fixes it 16:04
and MVM_JIT_DISABLE=1 also
so it looks like a jit issue
timotimo seems so
lizmat want me to build a rakudo without jit to make sure ?
jnthn So if something works without that, the next 3 things to disable (individually) are JIT, OSR, and INLINE. Any of those 3 are more specific indicators of what's wrong.
timotimo maybe another case of re-using a mvm-level register without ensuring that it isn't a variable we have to be careful about? 16:05
jnthn lizmat: No, the envvar is paid good attention
I think we know we're looking for a JIT issue
lizmat fails with OSR disabled
double checking: what's the envvar for OSR exactly? 16:06
jnthn hoelzro: Spesh is doing some relatively complicated analysis and transformation. It's pretty involved; it also makes a huge performance difference in a bunch of places.
lizmat: MVM_SPESH_OSR_DISABLE
lizmat yup, fails with that
jnthn lizmat: Yeah, OSR is about optimizing hot loops when we're in the middle of the loop 16:07
lizmat: So it was an unlikely candidate for this.
lizmat ok, plot thickening: if I add another AE $y, and use that to --, it *still* fails 16:08
jnthn hoelzro: Given the complexity of what it's doing, I'm afraid there'll be some bugs along the way...
lizmat jnthn: I realize that, that's why I tried to golf it down as much as possible
hoelzro jnthn: oh, I understand! I'm not trying to complain (esp. in light of the performance benefits), I just wanted to point out I've seen similar issues
lizmat jnthn: another datapoint: changing the -- to ++, also makes the test pass 16:09
so it seems related to using -- on a subtype
jnthn hoelzro: I didn't take it as a complaint; just noting it's genuinely hard. :)
hoelzro oh, I believe it 16:10
that's why I haven't even tried to figure it out myself
jnthn Thankfully, the action-at-a-distance is often less bad than with GC bugs. :) 16:11
lizmat another datapoint: if I first check -- and then ++, it also passes
jnthn I was gonna ask that... :) 16:12
lizmat having both --, it passes
actually, no
having both --, the first passes, the second doesn't 16:13
checking $x after the first -- is successful
it appears it doesn't matter what's inside the first throws_like test 16:15
it's just that it's needed
so I would say we need 2 throws_like and one --
if I change the throws_like to dies_ok, the test also passes 16:16
jnthn Hmm... 16:17
It doesn't fail here
lizmat ok, then I'll revbuild from scratch to be sure
jnthn What moar version have you?
I have something farily non-standard locally :) 16:18
lizmat This is perl6 version 2014.07-205-g4111fa4 built on MoarVM version 2014.07-388-ge953112
perhaps you already fixed it... :-)
jnthn Hm, that's an aug 14th Moar 16:19
You could try with master (don't need to rebuild everything, even)
And if that does fix it we can do a version bump.
lizmat I wanna make sure, so I'll rebuild from scratch
jnthn OK
With --gen-moar=master
?
lizmat first without, then with :-) 16:20
jnthn ok :)
16:21 zakharyas1 joined, zakharyas left 16:27 brrt joined 16:28 brrt left, MikeFair_ joined
lizmat standard jit build still fails, trying with master now 16:29
16:35 locsmif joined
lizmat runs ok with master 16:39
jnthn: shall I bump versions ?
dalek p: 0723d3a | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION
16:43
jnthn lizmat: Go for it 16:44
lizmat running full spectest before bumping NQP_REVISION 16:45
16:49 ajr_ left 16:52 molaf joined
lizmat spectest clean apart from 2 TODO's now passing and 1 flapper 16:54
16:55 MikeFair_ left
jnthn lizmat: Cool. I fixed init.t thing yesterday :) 16:55
dalek kudo/nom: 6c9be38 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for the latest goodies
ast: 6fefb63 | (Elizabeth Mattijsen)++ | S32-str/sprintf.t:
Unfudge now passing tests
16:57
17:17 Rotwang left 17:18 anaeem1 joined 17:20 nbrown_ joined, zakharyas1 left 17:21 j4jackj_ joined 17:22 j4jackj left, BooK left 17:23 BooK joined 17:24 j4jackj_ is now known as j4jackj, nbrown_ left
lizmat hmmm... seems gist.github.com is generating 500's 17:31
m: use Test; plan 2; lives_ok { 1 }; throws_like { die },X::AdHoc 17:35
camelia rakudo-moar 4111fa: OUTPUT«1..2␤ok 1 - ␤ 1..2␤ ok 1 - code dies␤ ok 2 - right exception type (X::AdHoc)␤ok 2 - did we throws_like X::AdHoc?␤»
lizmat hoelzro: what's wrong with this picture? ^^^ 17:36
hoelzro yikes
lizmat is stupid, please disregard..
subtest code output always happens before the actual result is output 17:37
hoelzro whew =) 17:38
lizmat ah, gist.github.com is only failing for me :-(
gist.github.com/lizmat 17:39
diakopter ERMAHGERD, 500
lizmat yup
works again :-) 17:43
17:46 iarna joined 17:49 lichtkind_ joined 17:53 lichtkind left
dalek kudo-star-daily: 6f98817 | coke++ | log/ (14 files):
today (automated commit)
17:53
kudo-star-daily: 5952d57 | coke++ | log/ (14 files):
today (automated commit)
kudo-star-daily: f52e68d | coke++ | log/ (14 files):
today (automated commit)
rl6-roast-data: 403ff37 | coke++ | / (5 files):
today (automated commit)
rl6-roast-data: 8f9106e | coke++ | / (6 files):
today (automated commit)
17:54 PotatoGim left 17:59 denis_boyun_ joined 18:03 PotatoGim joined 18:04 Rotwang joined, denis_boyun_ left
dalek kudo/nom: 509d47a | (Elizabeth Mattijsen)++ | src/core/Exception.pm:
Fix error in some throws_like tests

The test would throw an exception "Cannot look up attributes in a type object". As part of debugging, I decided to make these methods only take defined objects, in the hope that the error message would get clearer. To my surprise, the problem went away completely. This feels like action at a distance.
18:04
18:04 anaeem1 left
timotimo o/ 18:19
masak \o 18:20
FROGGS -o-
lizmat uh oh 18:21
18:21 anaeem1 joined, nbrown_ joined 18:22 brrt joined 18:25 nbrown_ left
lichtkind_ \o\ 18:29
lizmat m: { my class A2 {} }; A2 # feels like an LTA error message
camelia rakudo-moar 6c9be3: OUTPUT«===SORRY!=== Error while compiling /tmp/HQEzLVpFIm␤Undeclared name:␤ A2 used at line 1␤␤»
lizmat ah?
masak how so?
what would you like improved? 18:30
lizmat $ perl6 -e '{ my class A2 {} }; A2'
===SORRY!===
Not enough positional parameters passed; got 1 but expected 2
masak that's LTA, yes. 18:31
question is why your local thing differs from camelia's.
lizmat perhaps camelia's not up to date ?
masak perhaps.
or perhaps you're not on master or something.
flussence I get the useful message on my local thing... 18:32
lizmat m: say $*PERL.compiler.version
camelia rakudo-moar 6c9be3: OUTPUT«v2014.7.206.g.6.c.9.be.38␤»
diakopter p: { my class A2 {} }; A2
lizmat I got: $ 6 'say $*PERL.compiler.version' 18:33
v2014.7.205.g.4111.fa.4
camelia rakudo-parrot 6c9be3: OUTPUT«===SORRY!=== Error while compiling /tmp/8_gXH2xtiR␤Undeclared name:␤ A2 used at line 1␤␤»
flussence 2014.07-129 here
lizmat huh, camelia's more advanced than mine?
flussence
.oO( v-strings are weird )
18:35 telex left 18:36 kuroseki joined, molaf_ joined, aoseki left, telex joined 18:39 molaf left 18:41 iarna left
flussence (and now I'm wishing I stayed 80 commits behind, since panda's segfaulting on this one...) 18:48
18:49 anaeem1 left
dalek ast: 8487e75 | (Elizabeth Mattijsen)++ | S02-names-vars/names.t:
Proper test for #77750
18:53
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77750
18:59 zakharyas joined, lichtkind_ is now known as lichtkind 19:03 grondilu joined, iarna joined
dalek ast: 89c2de2 | (Elizabeth Mattijsen)++ | S (17 files):
Another batch of (eval_|)dies_ok -> throws_like
19:04
grondilu Hello. Sometimes in order to quickly check-out the progress of rakudo's performance, I sum random numbers. Today I tried in four different ways and gotfour very different timings. Maybe you'll find this instructive: gist.github.com/grondilu/4f8322e21803a97058fe 19:05
(I was a bit surprised that using a biding (:=) in the fourth example was much slower than direct assignment (=). ) 19:06
19:09 aoseki joined, kuroseki left 19:15 denis_boyun_ joined 19:16 darutoko left 19:21 anaeem1_ joined 19:22 nbrown_ joined 19:24 ventica2 joined
moritz grondilu: probably because it forces the list to be lazy, and thus disables batch reification 19:24
19:25 ventica left
moritz so many more internal method calls for item-by-time reificcation 19:25
19:26 nbrown_ left
timotimo can you also time [+] rand xx 1_000_000 ? 19:27
oh, 100_000 actually
19:28 denis_boyun_ left
moritz that's the first one, no? 19:28
timotimo oh
it is!
my brain combined that with the version output
grondilu: is that with --enable-jit for moarvm? :) 19:29
19:29 molaf_ left
grondilu timotimo: I actually don't know about --enable-jit. So it's probably without 19:33
19:33 nbrown_ joined, thou joined
timotimo it may be interesting to see if it makes a difference in you rcode 19:34
grondilu is it a perl6 option or is it during Configure.pl?
timotimo it's an option for MoarVM's configure 19:35
but you can supply --moar-option=--enable-jit in nqp's or rakudo's Configure.pl
grondilu ok 19:36
19:38 thou left, nbrown_ left 19:40 anaeem1_ left, rindolf left 19:43 PotatoGim left
lichtkind lizmat: when you arrive? 19:45
19:47 itz_ joined, PotatoGim joined
dalek ast: 0a8f13d | (Elizabeth Mattijsen)++ | S02-literals/sub-calls.t:
Fix for wrong migration
19:48
19:49 itz left
lizmat thu afternoon 19:50
lichtkind me too
i have no hostel yet but you have my mail and phone
lizmat hmmm... since I was unsure about my perl6 version, I rebuilt from scratch 19:53
and now I'm seeing quite a lot of spectest failures
FROGGS :o(
lizmat gist.github.com/lizmat/c47b28435606aee0e2e7 19:54
19:55 iarna left
lizmat they all seem to go back to this giving an LTA error message: 19:56
$ perl6 -e 'a'
===SORRY!===
Not enough positional parameters passed; got 1 but expected 2
is anybody else seeing that?
m: a
camelia rakudo-moar 509d47: OUTPUT«===SORRY!===␤Not enough positional parameters passed; got 1 but expected 2␤»
lizmat aha!
I guess camelia is also seeing this now
FROGGS where does that come from? 19:57
moritz error in the error message generator?
lizmat yes, indeed... it seems to come from 509d47a33e155c1892d3cd45912bdfa49329f87b 19:58
now, I'm not sure how my change would make *that* difference
19:59 kurahaupo joined
jnthn + multi method gist(X::Undeclared::Symbols:D :$sorry = True) { 19:59
lizmat missing :, right ?
jnthn Apparently, not everybody wants the colon enough :P
Right.
Same on other changed line
lizmat *sigh*
yup, testing now 20:00
20:00 zakharyas left 20:01 kaare_ left
dalek kudo/nom: f1d12b0 | (Elizabeth Mattijsen)++ | src/core/Exception.pm:
Properly fix LTA error in X::Undeclared::Symbols
20:01
20:01 dalek left 20:02 dalek joined, ChanServ sets mode: +v dalek, brrt left 20:03 FROGGS[mobile] left
lizmat ah, a new set of failures :-( 20:05
dalek ast: 6aeac74 | (Elizabeth Mattijsen)++ | S02-literals/sub-calls.t:
This migration turned out to be ok after all

This reverts commit 0a8f13d46641c875a578bbf17505f7773397b5b4.
20:06
jnthn lizmat: On latest that I just built, the sanity tests don't pass o.O 20:08
lizmat huh? 20:09
This is perl6 version 2014.07-207-g509d47a built on MoarVM version 2014.07-414-g44c4c0f ??
jnthn Nothing wiht Test.pm works
Oh, wtf
my $output_h = open('/dev/stdout', :w);
my $failure_output_h = open('/dev/stderr', :w);
...that's going to be portable...
lizmat aha!
ok, hmmm... I guess I merged too soon then :-( 20:10
jnthn And there's an empty CATCH in there I guess for if it fails
lizmat hoelzro might know more
jnthn What on earth is this doing? 20:11
lizmat reworking $*OUT and $*ERR so test can do their on thing in that respect
*test 20:12
*tests
*sigh*
I guess we need to revert that
jnthn Oh...to make sure we don't end up with dynamic user-space $*OUT capturing test output?
lizmat that was the plan I think, yes 20:13
jnthn I'd imagine just capturing them at "use Test;" time would be enough...
It'd be unusual to replace the others at compile time...
In which case the try { ... } block causing the trouble could go away
And the rest could stay
That helps here, at least. 20:15
Even then, I've got other fails showing up
dalek ast: 400b1df | (Elizabeth Mattijsen)++ | S02- (4 files):
Fix several X::AdHoc -> X::Undeclared::Symbols
jnthn oh, but could be those...
(The ones I spotted were all S02) 20:16
lizmat yes, fallout of the missing : issue
so what would your diff be ? 20:17
jnthn lizmat: Moment, working on something 20:19
dalek kudo/nom: 3e0a909 | jnthn++ | lib/Test.pm:
Portably avoid overrides of $*OUT/$*ERR in Test.pm

This replaces an unportable attempt to do so. PROCESS is populated with The Real Thing at startup, and any userland overrides will be done with dynamic variables. Thus this achieves the desired effect with much less code and without blowing up on Windows.
20:22
20:25 aoseki left 20:26 akaseki joined
lizmat jnthn++ 20:27
timotimo "much less code"++
masak TimToady++ # $PROCESS 20:28
dalek ast: 680acb0 | coke++ | S (4 files):
autounfudge
20:29
jnthn bbi10
lizmat: oh, and good/bad news: I get a failure in subtypes.t like you had earlier... 20:30
lizmat :-( 20:31
good news: spectest ran without errors here (except for one flapper)
hmmm... not a flapper 20:32
last test in t/spec/S17-lowlevel/lock.t fails consistently now
$now1 doesn't get set 20:34
20:34 nbrown_ joined, aoseki joined
lizmat argh, forget it, that test is skipped normally 20:35
so it was a flapper after all 20:36
20:37 akaseki left
lizmat is obviously tired and will walk afk now to prevent more stupidity 20:38
20:38 nbrown_ left
hoelzro I wonder if I just had a really bad braino writing that Test.pm code 20:42
oh, I see
the point of that code is that if opening one of those handles fails, it shouldn't change $output and friends 20:43
btw, I wasn't sure if that code was nom-worthy...
20:43 kurahaupo left
hoelzro although I think lizmat's change should work 20:43
timotimo gist.github.com/timo/8c9f863c96e7d6bbb0ab - i didn't know you could do this. 20:44
20:44 kurahaupo joined 20:53 Rotwang left
ingy anyone here on win32? 20:58
jnthn ingy: Yes 20:59
ingy jnthn: sec. let me make a perl5 oneliner I need someone to run 21:00
21:13 iarna joined 21:16 PotatoGim left, PotatoGim joined 21:22 thou joined 21:26 thou left 21:29 avuserow left 21:32 iarna left
[Coke] 114 test files rakudo isn't trying to run 21:33
21:35 nbrown_ joined
jnthn [Coke]: Ugh. Though there's been a lot of churn here today. 21:36
[Coke]: At one point I pulled and had an exploding sanity test...
[Coke] I just mean files in t/spec that aren't in spectest.data 21:37
(no no failures or anything)
jnthn [Coke]: oh
[Coke] *new
sorry for the scare!
jnthn [Coke]: Sorry, I misunderstood totally :)
[Coke]: Well, it was quite possible you'd pulled a bad commit too :) 21:38
[Coke] feather.perl6.nl/~coke/other_files.txt
I bet some of those are pugs fossils.
er, pugs-era
jnthn This has been a crazy month. 209 Rakudo commits, 91 NQP commits, and 415 MoarVM commits since the last monthly release. 21:39
21:39 pdurbin joined, nbrown_ left
[Coke] use Test; ok(chars "asdf" > 4) 21:40
m: use Test; ok(chars "asdf" > 4)
camelia rakudo-moar f1d12b: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: *%_)␤ in method Real at src/gen/m-CORE.setting:3843␤ in sub infix:<>> at src/gen/m-CORE.setting:4379␤ in block at /tmp/kYvd0LAe8j:1␤␤»
[Coke] m: say (chars "asdf")
camelia rakudo-moar f1d12b: OUTPUT«4␤»
jnthn m: use Test; ok(chars("asdf") > 4)
camelia rakudo-moar f1d12b: OUTPUT«␤# Failed test at /tmp/0FiNohILne line 1␤»
[Coke] m: use Test; ok( 5 > 4) 21:41
camelia rakudo-moar f1d12b: OUTPUT«ok 1 - ␤»
pdurbin came across a Perl 6 user just now: indiewebcamp.com/irc/2014-08-17/lin...8311247323
[Coke] jnthn: t/spec/S32-str/length.t - looks like it's specifically trying to test the prec.
21:41 avuserow joined
FROGGS hi pdurbin 21:42
jnthn finds it amusing that it's called length.t :)
FROGGS *g* 21:43
dalek ast: de0bc28 | (David Warring [email@hidden.address] | integration/advent2012-day13.t:
supress 'Code object coerced to string' warning
21:44
pdurbin FROGGS: hi back 21:46
lichtkind good night 21:51
21:51 lichtkind left
masak 'night, lichtkind 21:51
21:53 locsmif left
dalek ast: 5127dd1 | (David Warring [email@hidden.address] | integration/advent2010-day22.t:
supress 'Code object coerced to string' warning
21:54
ast: 565ce74 | coke++ | S11-modules/export.t:
Fudge test file

  (needs tickets)
21:55
kudo/nom: 05f0061 | coke++ | t/spectest.data:
Test is now fudged.
22:06 circ-user-3Wi7N joined
circ-user-3Wi7N perl6: say 3 22:07
camelia rakudo-jvm 3e0a90: OUTPUT«(timeout)»
..rakudo-{parrot,moar} 3e0a90, niecza v24-109-g48a8de3: OUTPUT«3␤»
circ-user-3Wi7N \part
22:08 circ-user-3Wi7N left
masak another satisfied customer. 22:08
timotimo printing 3s is a rapidly growing market 22:13
jnthn Why do people always ask for 3? 22:16
I mean, it's like, by far the most common number folks try.
masak who knows? markets are unpredictable like that. 22:17
before you know it, there'll be a shift and printing 12 will be very popular. 22:18
timotimo well, 3 is 6 / 2, so maybe tat's something 22:20
masak maybe these people are secretly part of a Perl 3 project. 22:22
timotimo oh my!
.o( still a better programming language & community than perl3 ) 22:23
lue jnthn: I would recommend looking at the topic :) 22:25
masak oh! 22:27
jnthn Ohhh!
lue++ # one mystery solved :)
masak .oO( or maybe it's another 3? ) :P
22:29 spider-mario left 22:35 avuserow left 22:36 nbrown_ joined, pdurbin left
masak 'night, #perl3^W#perl6 22:36
22:40 iarna joined, nbrown_ left 22:44 sjn left 22:56 grondilu left 23:02 avuserow joined 23:06 SevenWolf joined 23:10 nbrown_ joined 23:11 thou joined 23:15 thou left 23:30 pmurias left 23:39 gfldex joined 23:45 xenoterracide joined 23:57 BenGoldberg joined