»ö« 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|140526816151336LoL|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 failedFAILED 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/T8p7kGVukNTwo terms in a rowat /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/4X5SXHNnuAUndeclared 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..2ok 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/HQEzLVpFImUndeclared 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_gXH2xtiRUndeclared 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
|