»ö« 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 :)
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. :)
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
TimToady LMGTFY: en.wikipedia.org/wiki/APL_%28progra...anguage%29 00:52
[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
Mouq colomon: You could use Whatever/* 01:24
m: say grep *, False
camelia rakudo-moar 9e475e: OUTPUT«False␤»
BenGoldberg Ooh :) 01:25
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
BenGoldberg m: say so Mu; 01:43
camelia rakudo-moar 9e475e: OUTPUT«False␤»
TimToady m: say grep Nil, True 01:47
camelia rakudo-moar 9e475e: OUTPUT«␤» 01:48
TimToady close enough to a Top and Bottom type for this purpose 01:48
though * is fine for true as well
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
dalek kudo/nom: b52ef05 | coke++ | docs/announce/2014.08.md:
Add placeholder release announcement for 2014.08
02:11
j4jackj TimToady: hi. 03:14
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
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
TimToady it's a necessary but not sufficient condition for what I do :/ 05:11
TimToady actually, looks like there are decent dump routines for QAST 05:21
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
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
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"
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
TimToady --> 😴 07:35
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
nwc10 but, you are where you are. ("If I were you sir, I wouldn't start from here") 08:43
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
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? :-)
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
masak good antenoon, #perl6 09:23
moritz \o 09:24
FROGGS_ o/ 09:26
masak ϾϿ/ 09:27
pmurias hi 10:56
colomon \o 10:58
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/
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
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 :)
sergot so we can just do 'use OpenSSL' instaed of 'use OpenSSL::ERR/SSL...' :) 11:33
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
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
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."
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
brrt moritz++ for link :-) 13:03
dalek kudo/nom: a756a17 | (Elizabeth Mattijsen)++ | lib/Test.pm:
Small tweaks, more Perl6isms
13:07
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
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
jnthn Politics? :) 13:44
lizmat Customer Service ? 13:45
jnthn Or that :)
lizmat www.glasbergen.com/wp-content/galle...n-1991.gif :-) 13:46
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
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
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
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
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
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
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
masak .oO( any other Bulgars that I can meet earlier? ) 15:23
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
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
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 :)
lizmat standard jit build still fails, trying with master now 16:29
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
lizmat spectest clean apart from 2 TODO's now passing and 1 flapper 16:54
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
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
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)
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
timotimo o/ 18:19
masak \o 18:20
FROGGS -o-
lizmat uh oh 18:21
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 )
flussence (and now I'm wishing I stayed 80 commits behind, since panda's segfaulting on this one...) 18:48
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
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
moritz grondilu: probably because it forces the list to be lazy, and thus disables batch reification 19:24
moritz so many more internal method calls for item-by-time reificcation 19:25
timotimo can you also time [+] rand xx 1_000_000 ? 19:27
oh, 100_000 actually
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
grondilu timotimo: I actually don't know about --enable-jit. So it's probably without 19:33
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
lichtkind lizmat: when you arrive? 19:45
dalek ast: 0a8f13d | (Elizabeth Mattijsen)++ | S02-literals/sub-calls.t:
Fix for wrong migration
19:48
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
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
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
dalek kudo/nom: f1d12b0 | (Elizabeth Mattijsen)++ | src/core/Exception.pm:
Properly fix LTA error in X::Undeclared::Symbols
20:01
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
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
lizmat argh, forget it, that test is skipped normally 20:35
so it was a flapper after all 20:36
lizmat is obviously tired and will walk afk now to prevent more stupidity 20:38
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...
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
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
[Coke] 114 test files rakudo isn't trying to run 21:33
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
[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.
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
masak 'night, lichtkind 21:51
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.
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
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
masak 'night, #perl3^W#perl6 22:36