»ö« 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. |
|||
00:03
raiph joined
|
|||
timotimo | (yes, i know, i can yak all day long and not do anything; i should STFU or SUAC) | 00:04 | |
(that is: Shut Up And Code) | |||
dalek | rl6-bench/stress: 8cc7a59 | (Geoffrey Broadwell)++ | analyze: Add documentation for --show-rates and --show-failures |
00:40 | |
rl6-bench/stress: d8b859a | (Geoffrey Broadwell)++ | timeall: Fix copy pasto in timeall docs |
|||
rl6-bench/stress: 88d279d | (Geoffrey Broadwell)++ | analyze: Fix undef warning in analyze when only analyzing one compiler |
|||
rl6-bench/stress: f4eca3a | (Geoffrey Broadwell)++ | analyze: Only double space text summary output if more than one stat is being shown for each test |
|||
rl6-bench/stress: 4107f13 | (Geoffrey Broadwell)++ | bench: Add first versions of 'stress' and 'diagnose' commands to bench |
00:43 | ||
00:44
thou left
|
|||
japhb | OK, now I need some actual stress tests ... | 00:48 | |
timotimo | please be more specific in defining "stress"? | 00:50 | |
japhb | timotimo: A test that will fail to run at some scale level (not just timeout -- I'm talking segfault, signal, wrong output, that sort of thing) | 00:51 | |
timotimo | oh, hmm | 00:52 | |
japhb | My first thought is perhaps any flappy tests we have in roast, because those would at least get wrong output sometimes. | ||
timotimo | mhm mhm | ||
i'm not 100% sure i can think of anything new off the top of my head | 00:53 | ||
japhb | Well, is there a list of said flappy tests? | ||
timotimo | S17-procasync/print.rakudo.moar | 00:55 | |
at least | 00:56 | ||
i don't know what the exact flappers are | |||
japhb | OK | ||
timotimo | does this set of features also give regular benchmarks more interesting data/results/analysis? | 01:00 | |
japhb | timotimo: Yes, timeall is now always collecting failure information, and can diagnose several different forms of failure (including output mismatch, if an expected output is defined for a test) | 01:08 | |
And analyze can now (at least in text mode) show the failure profile of each test as it scales | 01:09 | ||
But I need some tests that actually fail to make sure I'm doing everything right. :-) | 01:10 | ||
japhb is considering the value of having roast as a component, and teaching timeall to be able to run a set of tests from there. | 01:11 | ||
I need a simplified harness that can parse TAP output just well enough to determine if all tests were run and OK. | 01:12 | ||
01:13
mauke_ joined
|
|||
tony-o | what happened to .resume; on errors? it seems like none of them are resumable now.. | 01:14 | |
01:15
mauke left
01:18
mauke_ left
01:19
mauke joined
|
|||
tony-o | colomon: http server async should pass tests on moar now | 01:21 | |
01:29
leont joined
01:30
mauke_ joined
|
|||
timotimo | japhb: i don't think i've run nqp benchmarks in quite some time, but as late as t.h8.lv/p6bench/2014-09-18-pre_release_nqp.html ← this one, the for_* benchmarks weren't removed from the output, even though there was no data at all for them | 01:32 | |
01:33
mauke left
01:35
mauke_ is now known as mauke
01:37
mauke_ joined
|
|||
timotimo | i forgot to actually write the question | 01:38 | |
how should i investigate this | |||
01:40
mauke left
01:44
mauke_ is now known as mauke
01:53
mauke left
01:56
immortal joined,
immortal left,
immortal joined
01:58
erkan left
01:59
raiph left
02:02
mauke joined
02:06
mauke_ joined
02:08
mauke left
02:10
colomon left
02:11
colomon joined
02:12
mauke_ left,
mauke joined
02:16
erkan joined
02:18
immortal left
02:25
colomon left
02:29
leont left
02:39
colomon joined
02:43
noganex joined
02:46
noganex_ left
03:01
noganex_ joined
03:04
noganex left
03:09
Mso150 joined
|
|||
colomon | labster: ping? | 03:13 | |
labster | colomon: pong | ||
colomon | hi! | ||
didn't expect a quick response | |||
IO::Path::More is failing tests | |||
looks like some of them are because the dir sub returns IO::Path now (instead of Str) | 03:14 | ||
labster | Yeah, I'm around, but $dayjob is very busy for about 1 more week. | 03:16 | |
Thanks. | |||
colomon | gotcha | 03:17 | |
I'll see if I can figure out what is going on and send pull requests. but I think I need to sleep now | 03:20 | ||
labster | detailed test failures would be great | 03:21 | |
colomon | o/ | 03:32 | |
bonsaikitten | # perl6-m | 03:35 | |
> asd | |||
Could not find Perl6::BOOTSTRAP in any of: ., blib, /var/tmp/portage/dev-lang/moarvm-2014.10/image/usr/languages/perl6/lib, /var/tmp/portage/dev-lang/moarvm-2014.10/image/usr/languages/nqp/lib | |||
03:35
j4jackj is now known as janicez,
janicez is now known as j4jackj
|
|||
bonsaikitten | looks like moarvm wrongly absorbs build-time paths | 03:35 | |
and thus rakudo-m fails to do anything useful | 03:36 | ||
03:42
Mso150_w joined
03:43
Mso150 left
03:56
immortal joined
03:58
erkan left
04:19
mauke_ joined,
Akagi201_ left
04:22
mauke left
04:23
mauke_ is now known as mauke
04:25
mls left
04:26
mls joined
04:27
erkan joined
04:28
darutoko joined
04:29
immortal left
04:36
kst left
04:37
kst joined
04:41
SamuraiJack_ left
04:46
ggoebel111111111 joined
04:50
ggoebel111111110 left
04:59
BenGoldberg left
05:02
azawawi joined
|
|||
azawawi | hi | 05:02 | |
can someone please add github.com/azawawi/totem to the panda ecosystem? | 05:03 | ||
05:07
immortal joined,
immortal left,
immortal joined
05:10
erkan left,
xenoterracide_ joined
05:22
azawawi left
05:36
petercommand left
05:44
molaf joined
05:58
notfix is now known as xfix
06:20
immortal left
06:27
kaare_ joined
|
|||
lizmat_ | commute to T-Dose& | 06:30 | |
06:30
lizmat_ left
06:33
petercommand joined
06:43
woolfy1 left
06:55
xenoterracide_ left
07:02
kaare_ left,
gfldex joined
07:06
kurahaupo joined
07:13
molaf_ joined
07:16
molaf left
07:26
psch joined
|
|||
psch | hello #perl6 o/ | 07:27 | |
07:27
rindolf joined
07:29
vike left
07:58
rindolf left
07:59
rindolf joined
08:00
rindolf left
08:01
rindolf joined
08:10
lizmat joined
08:15
vike joined
|
|||
lizmat | good *, #perl6 from the T-DOSE | 08:24 | |
psch | hi lizmat o/ | 08:26 | |
08:26
cognominal joined
|
|||
lizmat | psch \o | 08:28 | |
rindolf | lizmat: hi. | ||
lizmat | rindolf \o | 08:29 | |
rindolf | lizmat: sup? | ||
lizmat | www.t-dose.org | 08:31 | |
moritz | \o | 08:37 | |
lizmat | moritz o/ | ||
08:41
rindolf left
08:42
rindolf joined
09:00
lizmat left
09:04
lizmat joined
09:05
rurban joined
09:08
lizmat left
09:09
Isp-sec joined
|
|||
masak | morn'z, #perl6 | 09:10 | |
psch | masak o/ | 09:11 | |
masak | I'll be relatively absent during the day, but it's still my hope to get another blog post out. | ||
FROGGS | timotimo: having all reports on one page is only true for the static web page of cpantesters, there's also a dynamic page | ||
09:12
virtualsue joined
|
|||
FROGGS | timotimo: and, we would not have that problem of too many reports when we start :o) | 09:12 | |
09:14
lizmat joined
09:18
rmgk_ joined,
rmgk is now known as Guest69979,
Guest69979 left,
rmgk_ is now known as rmgk
09:19
woolfy joined
|
|||
woolfy and lizmat at T-DOSE ( www.t-dose.org ). A speaker did not show up, now lizmat jumps in and gives a nice talk about Perl 6. Some 20 people attending. | 09:22 | ||
rindolf | woolfy: nice. | 09:27 | |
09:28
lizmat left
09:31
Mso150_w left
09:36
kjs_ joined
09:38
virtualsue left
09:39
\00 left
10:04
lizmat joined,
denis_boyun joined
|
|||
FROGGS | lizmat++ | 10:06 | |
lizmat | *phew* | ||
stretching the "A State of Perl 6" lightning talk to 1 hour, was a bit of a stretch | |||
fortunately I had to explain a lot of things that were assumed known in the slides | 10:07 | ||
10:07
denis_boyun___ joined
10:08
denis_boyun left
|
|||
psch | lizmat++ | 10:10 | |
woolfy | lizmat++ | 10:18 | |
The organisers of T-DOSE already were happy with us, and display of "of course we can whip up a presentation about Perl 6' made them close to delirious... | 10:19 | ||
10:23
Sqirrel left
10:28
James__ joined
10:30
jac50 left
10:36
lizmat_ joined
10:37
lizmat_ left
10:38
lizmat_ joined
|
|||
FROGGS | *g* | 10:38 | |
10:39
FROGGS left
|
|||
dalek | ast: 9e509a2 | (Elizabeth Mattijsen)++ | S09-typed-arrays/arrays.t: Add tests for roundtripping typed arrays |
10:40 | |
10:40
lizmat left
10:46
kjs_ left
|
|||
psch | $ ./perl6 ++FOO --bar=test ++/FOO -e'say %*OPTS.perl' | 10:47 | |
("FOO" => " --bar=test ").hash | |||
\o/ | |||
although we might want the value as a HLL::CommandLine::Result as well i guess | |||
or something similar from perl6 land | 10:48 | ||
S19 is rather vague on this | |||
hm, and i guess i have to trim the value too | |||
10:51
FROGGS joined
|
|||
cognominal | are any of the Perl 6 related presentation at APW online? | 10:51 | |
psch | cognominal: they're on the APW youtube channel: www.youtube.com/channel/UCB9cjCMJPZ...-oQ/videos | 10:53 | |
well, two at least, and i gather there were a few lightning talks too? | 10:54 | ||
cognominal | psch++ | 10:55 | |
lizmat_ | m: say $*VM.version | 11:00 | |
camelia | rakudo-moar 315ec6: OUTPUT«v2014.9.54.g.3.ac.9.a.7» | ||
11:00
kjs_ joined
|
|||
lizmat_ | hmmm... why isn't that saying v2014.10 something ?? | 11:00 | |
11:01
virtualsue joined
|
|||
FROGGS | m: say $*PERL.compiler.build-date | 11:02 | |
camelia | rakudo-moar 315ec6: OUTPUT«2014-10-22T20:30:08Z» | ||
FROGGS | lizmat_: that's the reason | ||
11:02
lizmat_ is now known as lizmat
|
|||
FROGGS | moritz: camelia got stuck three days ago | 11:02 | |
lizmat | ah, hmm... | ||
locally I get: $ 6 'say $*VM.version' | 11:03 | ||
v2014.10 | |||
that feels incorrect as well, as I've done 1 push after the release | |||
FROGGS | lizmat: but you did not reconfigure I guess | 11:04 | |
lizmat | ah, good point | ||
lizmat reconfigures | |||
lizmat nukes install and reconfigures | 11:06 | ||
FROGGS | lizmat: I never have to nuke my install folder... | 11:08 | |
I do that instead: gist.github.com/FROGGS/850dee443aeedc6f2a58 | 11:09 | ||
psch | i usually do git clean -xdf by now | ||
but that's pretty much nuking install/ i guess | |||
FROGGS | psch: I don't, because I usually have diffs in my checkouts | 11:10 | |
or other test scripts | |||
psch | uncommitted/added diffs get preserved in the repo clean is run in, and -xdf doesn't descent into other repos | 11:11 | |
but the scripts would of course get nuked | |||
well, whatever works, i've learned to not put test scripts in not-repos | 11:12 | ||
but that's because i git clean | |||
FROGGS | yeah | ||
lizmat | $ 6 'say $*VM.version' | ||
v2014.10 | |||
:-( | |||
FROGGS | O.o | ||
lizmat | $ 6 'say $*PERL.compiler.build-date' | 11:13 | |
2014-10-25T11:11:27Z | |||
it is the newly built one | |||
FROGGS | I have no idea then | ||
lizmat | feels like some git magic is missing | 11:16 | |
11:37
virtualsue left
11:40
kjs_ left
11:45
kjs_ joined,
leont joined
|
|||
dalek | nda: 9497994 | (Elizabeth Mattijsen)++ | / (8 files): Fix 2014.10 deprecations |
12:00 | |
12:10
kaare_ joined
12:15
denis_boyun___ left
12:37
erkan joined
12:38
rindolf left
12:47
rindolf joined
|
|||
dalek | ast: 60a2bd5 | (Pepe Schwarz)++ | S19-command-line (4 files): Correct a few tests for S19 and their fudging. |
12:49 | |
12:51
spider-mario joined,
spider-mario left,
spider-mario joined
|
|||
psch | hm, how do i deal with the accidental PR from yesterday that wants to merge the same branch i'd want to merge now? | 12:52 | |
does it get updated to the current state of the branch when i reopen it? | |||
psch .oO( maybe i shouldn't have closed it... ) | |||
12:53
denis_boyun_ joined
13:00
raiph joined
13:04
immortal joined
13:05
denis_boyun_ left
13:06
erkan left
13:11
rindolf left,
rindolf joined
13:13
kjs_ left
|
|||
psch | github.com/rakudo/rakudo/pull/324 | 13:13 | |
apparently just reopening works \o/ | |||
i'm still not 100% sure if i'm handling options with optional values well | 13:23 | ||
as it is in the PR i'm only taking a optional value for those options when there's an equals sign | 13:25 | ||
otherwise, the option simply doesn't get a value, even if there's something that could be the value, which might result in a broken invocation | 13:26 | ||
e.g. «perl6 --doc Pod::To::HTML $somefile» would complain with 'File not found Pod::To::HTML' | |||
i can't assume that the next token is always an option, because then «perl6 --stagestats $file» never runs the file | 13:28 | ||
github.com/rakudo/rakudo/pull/324/...4a98650R90 this is what i'm doing | 13:31 | ||
i've thought of branching there with something like: «|| <.ws> { die "please use an =" }» but then optional values aren't optional anymore... | 13:32 | ||
branching between line 94 and 95, that is | |||
13:33
rindolf left,
rindolf joined
13:37
kaare_ left
13:38
kaare_ joined
13:43
raiph left
13:44
molaf_ left
|
|||
masak | lizmat++ # jumping in and giving a Perl 6 talk | 13:45 | |
colomon | masak: context for that lizmat++ ? | 13:47 | |
found it in the backlog, lizmat++ indeed! | |||
breinbaas | www.t-dose.org/, Eindhoven - where they have the highest IQ per square km in Europe (at least, that's what they say) :) | 13:52 | |
dalek | kudo/nom: 5f797ed | (Elizabeth Mattijsen)++ | src/core/ (2 files): s/x/tai, as x is so meaningless |
13:53 | |
lizmat | m: say try die # does not actually die | 14:00 | |
camelia | rakudo-moar 315ec6: OUTPUT«Nil» | ||
lizmat | m: say try +"foo" # this does, why ? | ||
camelia | rakudo-moar 315ec6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏) in method gist at src/gen/m-CORE.setting:13672 in sub say at src/gen/m-CORE.setting:15862 in block <unit> at /tmp/HzF9JlwvI6:1» | ||
lizmat | rakudobug ? | 14:01 | |
14:03
xenoterracide_ joined
|
|||
masak | I'd say so. | 14:03 | |
please submit. | |||
14:09
woolfy1 joined,
woolfy left
14:11
xenoterracide_ left
14:12
xenoterracide_ joined
|
|||
lizmat | I'm told that all of YAPC::EU videos are now online | 14:12 | |
"including few small eastereggs videos, which are some jokes or announcements :)" | |||
rakudobug submitted: #123053 | 14:14 | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123053 | ||
cognominal | www.youtube.com/user/yapceu/videos | 14:15 | |
14:19
sqirrel_ left
14:20
rindolf left,
xenoterracide_ is now known as xenoterracide
14:28
kjs_ joined
14:29
xenoterracide left
|
|||
FROGGS | m: m: say (try +"foo").WHAT | 14:36 | |
camelia | rakudo-moar 315ec6: OUTPUT«(Failure)» | ||
FROGGS | lizmat: you pass a Failure to say() | ||
m: m: say (try +"foo").gist | 14:37 | ||
camelia | rakudo-moar 315ec6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏) in method gist at src/gen/m-CORE.setting:13672 in block <unit> at /tmp/6o2Zc5kHdZ:1» | ||
FROGGS | m: m: say so (try +"foo") | ||
camelia | rakudo-moar 315ec6: OUTPUT«False» | ||
lizmat | m: my $a = try "foo".Numeric # and this ? | ||
camelia | rakudo-moar 315ec6: OUTPUT«Unhandled exception: Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏) at <unknown>:1 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from …» | ||
FROGGS | m: my $a = try "foo".Numeric; 1 | 14:39 | |
camelia | ( no output ) | ||
psch | m: my $a; try $a = "foo".Numeric; $!.say | ||
camelia | rakudo-moar 315ec6: OUTPUT«(Any)» | ||
14:39
rurban1 joined
|
|||
FROGGS | lizmat: end of block will be evaluated | 14:39 | |
lizmat | m: say (try "foo".Numeric).WHAT | 14:40 | |
camelia | rakudo-moar 315ec6: OUTPUT«(Failure)» | ||
lizmat | m: say (try die).WHAT | ||
camelia | rakudo-moar 315ec6: OUTPUT«Nil» | ||
lizmat | shouldn't that also be a Failure then / | ||
? | |||
FROGGS | m: say (try fail "foo").WHAT | 14:41 | |
camelia | rakudo-moar 315ec6: OUTPUT«Unhandled exception: foo at <unknown>:1 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:13680 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:sink:29)…» | ||
FROGGS | I dunno | ||
psch | it does seem somewhat leaky | ||
FROGGS | feels weird all in all | ||
14:41
rindolf joined
|
|||
lizmat | I stumbled on this when Juerd was asking me about being able to do "42 + 'foo'" | 14:42 | |
having "foo" revert to 0 | |||
14:42
rurban left
|
|||
lizmat | first attempt was: | 14:43 | |
m: say 42 + try +"foo" | |||
camelia | rakudo-moar 315ec6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏) in method Numeric at src/gen/m-CORE.setting:13670 in sub infix:<+> at src/gen/m-CORE.setting:4472 in block <unit> at /tmp/SPz96lb…» | ||
lizmat | m: say 42 + try { +"foo" } // 0 | 14:44 | |
camelia | rakudo-moar 315ec6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏) in method Numeric at src/gen/m-CORE.setting:13670 in sub infix:<+> at src/gen/m-CORE.setting:4472 in block <unit> at /tmp/XqS7LWQ…» | ||
lizmat | I guess S04:1054 applies here | 14:46 | |
synopsebot | Link: perlcabal.org/syn/S04.html#line_1054 | ||
14:46
davido_home left
|
|||
lizmat | "Additionally, the C<try> block or statement implicitly enforces a C<use fatal> context such that failures are immediately thrown as exceptions." | 14:46 | |
14:46
vendethiel joined
14:47
davido_home joined
|
|||
vendethiel | o/, #perl6. | 14:48 | |
psch | vendethiel o/ | 14:49 | |
lizmat | so is the "use fatal" leaking outward ? | ||
vendethiel \o | |||
14:50
xfix left
14:51
xfix joined
|
|||
psch | lizmat: i think try { } is wrong here | 14:52 | |
lizmat: cf. "A try block by default has a CATCH block that handles all fatal exceptions by ignoring them." | |||
lizmat | indeed | ||
psch | m: { +"foo"; CATCH { default { } } }; say "alive" # this is ignoring | ||
camelia | rakudo-moar 315ec6: OUTPUT«alive» | ||
psch | m: say 42 + do { +"foo"; CATCH { default { } } } | 14:53 | |
camelia | rakudo-moar 315ec6: OUTPUT«use of uninitialized value of type Nil in numeric context in block <unit> at /tmp/UJ5aTieH6L:142» | ||
lizmat | m: say try fail | ||
camelia | rakudo-moar 315ec6: OUTPUT«Unhandled exception:  at <unknown>:1 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:13680 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:sink:29)…» | ||
psch | m: say 42 + do { { +"foo"; CATCH { default { } } } // 0 } | ||
camelia | rakudo-moar 315ec6: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \v: *%_) in sub infix:<+> at src/gen/m-CORE.setting:4472 in block <unit> at /tmp/EIBebb9ZQL:1» | ||
14:53
araujo left
|
|||
psch | m: say 42 + (do { +"foo"; CATCH { default { } }; } // 0) # what Juerd wanted, i think | 14:55 | |
camelia | rakudo-moar 315ec6: OUTPUT«42» | ||
psch | slightly unwieldy | ||
14:55
araujo joined
|
|||
psch | it should work with try though | 14:55 | |
Juerd | psch: Slightly...? | ||
lizmat | so it seems that a *fail* is not handled by try | ||
m: say throw try fail | |||
camelia | rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/KrCI7bYOlBUndeclared routine: throw used at line 1» | ||
lizmat | m: say try fail.throw | ||
camelia | rakudo-moar 315ec6: OUTPUT«Unhandled exception:  at <unknown>:1 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:13680 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:sink:29)…» | ||
psch | Juerd: i'm writing quite a bit of java recently, i might have a bit of a warped perception... :) | ||
14:57
xenoterracide joined
14:59
xenoterracide left
15:03
xenoterracide joined
|
|||
masak | I just got bitten by "passed a named param to a .new method, program compiled, error (much later) at runtime" | 15:05 | |
again. | |||
I think we could detect this one statically. and I think there's a case for it being core, and on by default. | |||
at least a warning. | |||
m: class C { has $.x }; C.new(:x(1), :y(2)); say "alive, no warning" | 15:06 | ||
camelia | rakudo-moar 315ec6: OUTPUT«alive, no warning» | ||
masak | I would be 100% fine with the analysis being extremely stupid -- i.e. only cover the cases where the class is known at author time, and where we know for 100% sure that no attribute can possibly be there. | 15:07 | |
the above is such a case. | |||
masak waves the campaign flag for this concern -- vive la catching of user mistakes! | |||
lizmat | .oO( this was one of the first peeves I had with Perl 6, already 2+ years ago ) |
15:09 | |
so count me in, masak :-) | |||
masak | \o/ | ||
I propose doing it in a branch, as an experiment, to see what the fallout is. | |||
I might even have time to dig into it myself. | |||
it feels like the MOP should be up to this. #fromthedepartmentofthebleedingobvious | 15:10 | ||
15:16
xenoterracide left
15:17
xenoterracide_ joined
|
|||
vendethiel | +1; this is a peeve as well: P | 15:18 | |
colomon | +1 | ||
masak | ok, just to be clear, here's the behavior I propose: | 15:19 | |
(a) when we parse a .new call | |||
(b) to a class we know statically | |||
(c) whose .new method has not been overridden | 15:20 | ||
(d) with at least one named argument that would just get lost in space (because there's no corresponding public attribute) | |||
...warn with an error message containing the name(s) of the named(s) with missing attribute(s) | 15:21 | ||
15:21
BenGoldberg joined
|
|||
lizmat | why limit this to .new ?? | 15:22 | |
masak | I guess because at some level, I still believe in S12's "Interface Consistency". | 15:23 | |
I just want to catch likely thinkos, not forbid extensionality outright. | 15:24 | ||
vendethiel | mmh. | ||
m: class A{has $.a;};class B{has $.b;}; say B.new(:5a).a | |||
camelia | rakudo-moar 315ec6: OUTPUT«No such method 'a' for invocant of type 'B' in block <unit> at /tmp/euQL41XfFb:1» | ||
colomon fears this uncertainty about how to go about this is why we have no fix for this already. | |||
vendethiel | m: class A{has $.a;};class B is A{has $.b;}; say B.new(:5a).a | ||
camelia | rakudo-moar 315ec6: OUTPUT«===SORRY!===Could not locate compile-time value for symbol $?CLASS» | ||
vendethiel | wut | ||
lizmat | space? A{ ? | 15:25 | |
colomon | m: sub dummy { Nil; }; say dummy().WHAT | ||
camelia | rakudo-moar 315ec6: OUTPUT«Nil» | ||
masak | colomon: no uncertainty, in my view. lizmat's is a legitimate question, but it also has a motivated answer, IMO. | ||
colomon | say $*CWD | 15:27 | |
m: say $*CWD | |||
camelia | rakudo-moar 315ec6: OUTPUT«"/home/camelia".IO» | ||
15:28
molaf joined
|
|||
masak | anyway, vendethiel: your example would of course be detected by the MOP as B having an $.a | 15:31 | |
vendethiel | oke :) | ||
masak | so I foresee no ambiguity or false positives there | 15:32 | |
vendethiel | .oO( let's trust masak's foreshadowings ) |
15:33 | |
15:34
guru joined
15:35
guru is now known as Guest9659,
Guest9659 is now known as ajr_
15:38
xenoterracide_ is now known as xenoterracide
|
|||
colomon | m: my $a = Nil; say $a | 15:41 | |
camelia | rakudo-moar 315ec6: OUTPUT«(Any)» | ||
colomon | m: my $a := Nil; say $a | 15:42 | |
camelia | rakudo-moar 315ec6: OUTPUT«Nil» | ||
15:42
woolfy1 left
|
|||
lizmat | m: my $a is default(Nil); say $a | 15:44 | |
camelia | rakudo-moar 315ec6: OUTPUT«Nil» | ||
psch | m: .say if 'B' fff 'B' for <A B C B A> | ||
camelia | rakudo-moar 315ec6: OUTPUT«BCB» | ||
lizmat | the only way to have assignment to a var give Nil | ||
15:44
Ven joined,
erkan joined,
erkan left,
erkan joined
|
|||
psch | m: $a.say if $a ~~ ('B' fff 'B') for <A B C B A> | 15:44 | |
camelia | rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/MfQj5qujMfVariable '$a' is not declaredat /tmp/MfQj5qujMf:1------> $a.say⏏ if $a ~~ ('B' fff 'B') for <A B C B A> expecting any of: method arguments …» | ||
psch | m: $a.say if $a ~~ ('B' fff 'B') for <A B C B A> -> $a | 15:45 | |
camelia | rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/E2KmAcRHVdVariable '$a' is not declaredat /tmp/E2KmAcRHVd:1------> $a.say⏏ if $a ~~ ('B' fff 'B') for <A B C B A>  expecting any of: method arguments…» | ||
psch | heh | ||
m: for <A B C B A> -> $a { $a.say if $a ~~ ('B' fff 'B') } | |||
camelia | rakudo-moar 315ec6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏B' (indicated by ⏏) in method Numeric at src/gen/m-CORE.setting:13670 in sub infix:<==> at src/gen/m-CORE.setting:4522 in sub infix:<==> at src/gen/m-C…» | ||
lizmat | I just realized that it is the lack of 'use fatal' implementation, is what try +"foo" makes fail | ||
m: say 42 + try (+"foo").throw | |||
camelia | rakudo-moar 315ec6: OUTPUT«use of uninitialized value of type Nil in numeric context in block <unit> at /tmp/DrvFxtxJR5:142» | ||
15:46
immortal left
|
|||
psch | m: for 1, 2, 3, 2, 1 -> $a { $a.say if $a ~~ (2 fff 2) } | 15:47 | |
camelia | ( no output ) | ||
lizmat | end of day 1 of T-Dose | ||
social event& | |||
15:47
lizmat left
|
|||
psch | the last two should work, i feel | 15:47 | |
which means i probably overlooked something when patching this a few weeks back | |||
vendethiel: re: "can't rebase PRs". what exactly did you mean? | 15:48 | ||
Ven | psch: you can't change your branch target | ||
colomon | m: say " ".path.WHAT | 15:49 | |
camelia | rakudo-moar 315ec6: OUTPUT«(IO::Path)» | ||
colomon | m: say " ".IO.WHAT | ||
camelia | rakudo-moar 315ec6: OUTPUT«(IO::Path)» | ||
colomon | m: say " ".IO.path.WHAT | ||
camelia | rakudo-moar 315ec6: OUTPUT«(Str)» | ||
psch | Ven: the one i want to merge from, right? | ||
or the one i merge to? | 15:50 | ||
Ven | psch: I think neither can be changed | ||
psch | (github calls them 'base' and 'head') | ||
colomon | darn, just wanted to ask lizmat++ a question | ||
15:51
erdic left
|
|||
psch | Ven: help.github.com/articles/using-pul...repository but i can't do that. i suspect the merging party can decide where to merge to | 15:51 | |
or maybe closing and reopening locks that | 15:52 | ||
oh | 15:53 | ||
no, i understand, after rereading. before creation base and head can be changed | |||
but after creation they're set, because one probably knew what one was doing | |||
15:54
erdic joined
15:55
rindolf left
15:56
MilkmanDan left,
MilkmanDan joined,
rindolf joined,
Ven left
15:58
davido_home left
16:00
davido_home joined
|
|||
psch | m: for <A B C B A> -> $a { $a.say if $a ~~ {'B' fff 'B'} } | 16:02 | |
camelia | rakudo-moar 315ec6: OUTPUT«BB» | ||
BenGoldberg | m: say 2 fff 2; | 16:04 | |
camelia | rakudo-moar 315ec6: OUTPUT«use of uninitialized value of type Nil in numeric context in block <unit> at /tmp/iHvfDghYC5:1Nil» | ||
psch | i think there's a .Bool call missing now | 16:05 | |
inside Perl6::Actions &flipflop | 16:06 | ||
m: for <A B C B A> { say "B" fff "B" } | |||
camelia | rakudo-moar 315ec6: OUTPUT«Nil123Nil» | ||
16:07
virtualsue joined
16:08
rurban1 left,
rurban joined
16:10
rindolf left,
xenoterracide left,
xenoterracide_ joined,
rindolf joined
16:11
xenoterracide_ left,
xenoterracide_ joined
16:12
xenoterracide_ is now known as xenoterracide
|
|||
dalek | ast: 933059b | usev6++ | S04-phasers/keep-undo.t: Add tests for RT #111866 |
16:15 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=111866 | ||
dalek | ast: fc20e7e | usev6++ | S02-names-vars/perl.t: Fudge (skip) flapping test for rakudo.jvm |
16:20 | |
16:21
kjs_ left,
Noughb joined
|
|||
Noughb | How's perl6 coming along? Heading for an offical release any time soon? | 16:22 | |
16:22
rurban left
|
|||
timotimo | we've been doing monthly official releases for over a year :) | 16:23 | |
but that's probably not what you mean | |||
awwaiid | Noughb: apt-get install rakudo | ||
(or better yet build the latest) | |||
psch | (building the latest)++ | ||
timotimo | if you're looking for "when will we call the specification 6.0.0", there's three really big items that need resolving: | ||
the GLR, NSA and NFG | |||
which are the Great List Refactor (unifying and de-special-casing and also speedifying lists and iterators) | |||
Native Shaped Arrays, which gives us tightly packed arrays of native values like ints/chars/doubles/... | 16:24 | ||
and Normalized Form Grapheme, which is a way to get a string to have a single codepoint per grapheme no matter what crazy diacritics your troll users throw at you | |||
16:24
kurahaupo left
|
|||
psch | hrm, i fixed $a ~~ ($x fff $y), but that breaks 16 tests in flip-flop.t :/ | 16:24 | |
16:24
kurahaupo_ joined
16:25
kurahaupo_ left
|
|||
timotimo | Noughb: if you have more specific questions, we'll be happy to give you answers | 16:25 | |
for example, if you're worried about rakudo's performance, i can say that we've made a lot of headway over the last year and the GLR will give us a final, much needed boost towards not having to worry about performance any more | 16:26 | ||
TimToady | (we hope) | 16:28 | |
timotimo | well, you better make it work right! :P | ||
Noughb | 3.bp.blogspot.com/-CDUNCGqVadY/UOoC...00/kel.gif | 16:29 | |
timotimo | Noughb: feel free to ask specific questions :) | ||
16:29
Ven joined
|
|||
psch | so what are ff and fff supposed to return? perl5 .. and ... return a 'boolean in item context', which we completely replace with ff and fff | 16:30 | |
TimToady | p5 has no booleans :) | ||
psch | spectests currently don't look like they want Bools returned | 16:31 | |
16:31
xenoterracide left
|
|||
masak .oO( p5 has no booleans -- true or false? ) | 16:31 | ||
TimToady | p5 returns increasing integers | ||
psch | TimToady: right, perldoc says "boolean value", i dropped the value | ||
(it also says "scalar context", not "item context") | |||
16:32
Noughb left
|
|||
psch | TimToady: does « $a ~~ ("A" fff "B") » look sensible to you? | 16:32 | |
m: for <A B C B A> -> $a { $a.say if $a ~~ {'B' fff 'B'} } # as here | |||
camelia | rakudo-moar 315ec6: OUTPUT«BB» | ||
psch | m: for <A B C B A> -> $a { $a.say if $a ~~ ('B' fff 'B') } # actually, this one | 16:33 | |
camelia | rakudo-moar 315ec6: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏B' (indicated by ⏏) in method Numeric at src/gen/m-CORE.setting:13670 in sub infix:<==> at src/gen/m-CORE.setting:4522 in sub infix:<==> at src/gen/m-C…» | ||
psch | m: for <A B C B A> -> $a { $a.say if $a ~~ ?('B' fff 'B') } # nvm | 16:35 | |
camelia | rakudo-moar 315ec6: OUTPUT«BCB» | ||
16:36
xenoterracide joined
|
|||
psch | i'm perfectly ok with that, no need to patch anything :) | 16:36 | |
TimToady | with parens you're getting a double smartmatch | ||
since integers are not Bool, Nil, Match, or Failure | |||
psch | TimToady: and ~~ bind tighter than fff, so i need prefix:<?> | 16:37 | |
i just took a bit too long to think of it | |||
some context: irclog.perlgeek.de/perl6/2014-07-20#i_9052245 | 16:38 | ||
16:39
zakharyas joined
16:41
xenoterracide left
|
|||
TimToady | the ? returns a Bool, which prevents a subsequent 'B' ~~ 1 | 16:41 | |
16:41
vendethiel left
16:45
kurahaupo joined
|
|||
tadzik | timotimo: (rakudobrew spectest suite) I don't see a problem :) | 16:46 | |
timotimo | cool :) | ||
tadzik | where would it upload them, the not-yet-written cpandatesters? :) | ||
timotimo: so your talk is not yet on APW's YT channel? | 16:47 | ||
TimToady wonders if fff should return True but 1, True but 2, etc. | |||
TimToady wonders if people understand a bit better now what the OKness proposal was about | |||
we have this arbitrary list of values that are primarily intended to convey success/failure along with other pertinent information | 16:49 | ||
in this case, we'd like a value that can return the line count while indicating success to smartmatching | |||
tadzik | sub compsuffix is export { state $ = $*VM.precomp-ext } # <3 | 16:50 | |
timotimo | tadzik: it's a single video with all lightning talks in it | ||
tadzik | lizmat++ and (rakudo team)++ :) | ||
timotimo: ah, okay | |||
16:53
virtualsue left
|
|||
psch | TimToady: "line count" means "state changes"? i like the idea of returning True but $state, but i've repeatedly been told that mixins in CORE are slow | 16:53 | |
although prefixing with ? or so does seem a bit magic | 16:54 | ||
TimToady | "how many lines in this range so far" | ||
so in your case you get 1,2,3 | |||
psch | right, for the 2nd, 3rd and 4th iteration | ||
TimToady | relative line numbers, basically | ||
psch | state change is wrong, i see | ||
TimToady | for a loose definition of "line" | 16:55 | |
sequence numbers | |||
p5 actaully return "3e0" on the last one, do you can recognize the end, marked by the 'e' :) | 16:56 | ||
*so | |||
but that's a terrible hack, so we have ^ instead | 16:57 | ||
by analogy to ^..^ | |||
timotimo | github.com/koorchik/formula-evalua...-benchmark - we have a new benchmark to excell at! | ||
TimToady | quick, stomp the excellerator! | 16:58 | |
timotimo | huh, look at how the functions are implemented: github.com/koorchik/formula-evalua...rl6/ast.pl | 17:02 | |
@ast[$i].isa('Array') - oh my | |||
psch | that looks convoluted | 17:03 | |
timotimo | that is some pretty unidiomatic perl6 code | ||
tadzik | FROGGS: yt? | ||
psch | timotimo: seems like a as-close-as-possible translation of the corresponding p5 code | 17:04 | |
timotimo | it's not very close, i don't think | 17:05 | |
for example, in perl5 the names are constants, in perl6 they are variables | |||
masak | s/variables/first-class package objects/ | 17:06 | |
timotimo | i just went ahead and invited him to our irc channel | 17:07 | |
timotimo afk for a bit :P | 17:08 | ||
psch | :D | ||
moritz | after GLR, my $c = <a b c>; $c.push: 'd' will work, right? | 17:13 | |
timotimo | i'm pretty sure it should | 17:18 | |
TimToady | a stronger case can be made for .plan than for .push | ||
timotimo | i'll run the benchmark through the profiler and see what's what | 17:19 | |
TimToady | doubtless there are some optimizations that could depend on knowing whether a particular list can be extended | 17:20 | |
dalek | ast/glr: de481bf | moritz++ | S (6 files): start to get rid of Parcel |
17:21 | |
TimToady | so maybe we need a monadoid to manage that | 17:22 | |
psch | fwiw, 100 iterations of smart-match and flipflop code above with Bool mixin clocks in at about .79 seconds on my machine. nom is at about .38 | ||
i.e. "True but $seqnum" flipflop is about half as fast as current flipflop | 17:23 | ||
although i'm sure it could be solved smarter than i solved it, but i don't know if i can make up a smarter solution | 17:24 | ||
timotimo | psch: since these values usually start at 0, maybe we can have a cache that keeps the boxed and mixed-in objects around and then just clones them each time? | ||
psch | timotimo: they start at 1 for flip flop, but i'd say "yes we can" | 17:25 | |
maybe i can figure that out, probably not this weekend though | |||
moritz | TimToady: I thought about more .map and .for methods; if we have both, I'd be weird to have 'for' as a syntactic construct but 'map' as a sub | ||
17:25
thou joined
|
|||
moritz | so for @list {block}, but map {block}, @list | 17:26 | |
TimToady: any plans on makiing 'map @list {block}' work too? | |||
TimToady | I think that hobgoblin lives off in a corner, and can be probably be ignored :) | 17:27 | |
psch | oh, also of note: i'm not running jitted, which might make a difference with the 500 prefix:<++> that my little benchmark here runs | ||
...actually 300 | |||
TimToady | as for statement control map, it would be too ambiguous with the function | 17:28 | |
timotimo | ah, hm. | ||
TimToady | are you mixing the number in each time? that sounds heavy | 17:29 | |
timotimo | doesn't each mixin action cause Moar's specializer to go "okay, global deoptimization time!" | 17:30 | |
TimToady | maybe we should look for bit that we can set in success/failure values that smartmatch can check very quickly | ||
TimToady refrains from calling it the OKness bit | 17:31 | ||
but something on the level of .DEFINITE | |||
TimToady would like jnthn++'s opinion on that | 17:32 | ||
we don't have to call it .OKness, feel free to bikeshed what a "successfulness" bit would be named | 17:33 | ||
psch | yeah, my implementation is as naive as it can get | ||
timotimo | let's call it the "good bit" | ||
(like the "evil bit" that we have in networking) | |||
TimToady | well, but what if it's bad this time? | ||
timotimo | hmm | 17:34 | |
maybe we should call it something without an inherent value | |||
like a "duck bit" | |||
TimToady | but it wants to express meta-value | 17:35 | |
psch | github.com/rakudo/rakudo/blob/nom/....nqp#L5333 i'm just wrapping this Op.new in another one that amounts to $state.Bool but $state | ||
moritz | any objections to me introducing method for as self.flat.map? | ||
that way code can start to use it, and have a chance to break less during GLR | |||
TimToady | seems okay to me | ||
timotimo | there you're using that "okay" word again! | 17:36 | |
moritz | m: say ((1, 2), (3, 4)).map({ say .perl; $_ }) | 17:37 | |
camelia | rakudo-moar 315ec6: OUTPUT«12341 2 3 4» | ||
moritz | m: say ((1, 2), (3, 4)).map({ say .perl; $_ }).perl | ||
camelia | rakudo-moar 315ec6: OUTPUT«1234(1, 2, 3, 4).list» | ||
moritz | seems .map already behaves like .for will | ||
dalek | kudo/nom: 081fa81 | moritz++ | src/core/Str.pm: micro-optimize Str.trans |
17:38 | |
kudo/nom: af9e90e | moritz++ | src/core/ListIter.pm: smaller scope in ListIter.reify |
|||
TimToady | moritz: yes, but .map's .flat is going away | 17:39 | |
moritz | TimToady: right | ||
17:40
virtualsue joined
|
|||
timotimo | oh, look, we have 18.28% of exclusive time spent in ListIter.reify ... again | 17:41 | |
tadzik | in that benchmark? | ||
funny things is, it bails out with a wrong sum at the second run | 17:42 | ||
timotimo | yeah, it does 10k iterations and expects the result to be the same as for 100k iterations | ||
i set the number of iterations back up to 100k | |||
t.h8.lv/p6profile/formula_profile_1.html | |||
second most exclusive time spent is gimme, at 10.5% | 17:43 | ||
damn the GLR is needed. | |||
Ven | timotimo: remember my profiling :)? (of the game of life) | 17:44 | |
timotimo | yeah, how much was that again? | ||
tadzik | I like how 75% of stuff is jat | ||
otoh, is that the reason for incorrect results? | |||
Ven | around 55% in the different list/map methods | ||
TimToady is looking forward to hypers on native arrays | |||
tadzik | ah, that's just a bug in the code, alrihgt | 17:45 | |
timotimo | 4% exclusive time spent in isa | 17:46 | |
dalek | ast: d262e2e | (Pepe Schwarz)++ | S03-operators/flip-flop.t: Add a test for flip-flop with "True but $seqnum". |
17:47 | |
17:49
FROGGS_ joined
|
|||
TimToady | or maybe we should just make it easier to generate fake Match objects with numeric values | 17:53 | |
17:53
FROGGS left
|
|||
TimToady | not sure that would beat True but $seqnum though | 17:54 | |
it would fit into the current I-know-success-when-I-see-it scheme though | 17:55 | ||
17:55
Mso150 joined
|
|||
TimToady | would be kinda funny to have a Match object that + return 3 for, but @ return nothing | 17:56 | |
psch | fwiw, i've been thinking of True but $seqnum as a name for the semantics | ||
TimToady | maybe there's some way to optimize creation of Bool plus a payload | 17:57 | |
after all, Failure can be seen as kind of a Nil plus a payload | 17:58 | ||
that's why I'm thinking leave Bool alone and muck with Match instead | |||
timotimo | COMPUTED [100000] ITERATIONS IN [87] SECONDS | 17:59 | |
waitwhat. | |||
what did i do? | |||
oh | |||
TimToady | ohoh | 18:00 | |
timotimo | i replaced the custom sum implementation with [+] @args | ||
t.h8.lv/p6profile/formula_profile_2.html | |||
not sure if that's all that's responsible, though | |||
TimToady | [+] is one of those operators that could actually be parallelized internally, given a suitable data structure | 18:02 | |
timotimo | hm. | 18:03 | |
TimToady | likewise [*], though in either case one could get weirdness near the Rat->Num promotion | ||
timotimo | mhm | ||
TimToady | probably compiling those down to very tight jitted code is more useful in general | 18:05 | |
timotimo | how exactly do we [+]? | 18:07 | |
that's reduce_left, right? | 18:08 | ||
masak | [+] and [*] could be map-reduced, because of their monoidal structure. | ||
timotimo | yeah, they could | 18:09 | |
TimToady | well, it's METAOP_REDUCE_LEFT actually | ||
but in general you can trap it at compile time since the ops are lexically scoped | 18:10 | ||
timotimo | right | ||
the optimizer could know about that or we could have a trait for these operators that lend themselves to be map-reduced | |||
18:11
kaare_ left
|
|||
TimToady | well, METAOP_REDUCE_LEFT is actually called at compile time, iiuc | 18:11 | |
or at least it could be | 18:12 | ||
timotimo | m: say "the custom sum operation makes the program take { 339 / 87 } times longer than with [+]" | ||
camelia | rakudo-moar 315ec6: OUTPUT«the custom sum operation makes the program take 3.896552 times longer than with [+]» | ||
TimToady | is the custom sum routine done in natives? | 18:13 | |
timotimo | maybe all we need to do for that to work is put an "is pure" trait on those | ||
i don't think so | |||
TimToady | well, not that [+] is either | ||
masak | the operator needs to be associative. | 18:14 | |
timotimo | ah, also: the code there is working with rational numbers instead of ints and stuff | 18:16 | |
that may also have strong performance implications | |||
TimToady | we've specced 'native' rats, but we don't have 'em yet | 18:17 | |
timotimo | right | ||
18:18
Sqirrel joined
18:20
dwarring joined
18:22
virtualsue left
|
|||
dalek | ast: 72709f1 | usev6++ | S05-metasyntax/unknown.t: Add test for RT #77562 |
18:27 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77562 | ||
timotimo | huh. | 18:29 | |
18:29
virtualsue joined
|
|||
timotimo | it may very well be that i accidentally measured the changed code with only a tenth of the iterations? | 18:29 | |
that would be embarassing | |||
dalek | kudo/nom: 96d6011 | moritz++ | src/core/Any.pm: Introduce method for it is now an alias for .map, but .map will stop to flatten its invocant eventually; .for will continue to behave as it does now |
18:36 | |
18:37
darutoko left
|
|||
timotimo | i didn't measure wrongly, the [+] way really is 4x faster than the custom loop | 18:40 | |
m: "and without a profiler running in the background, the ratio is { 304 / 78 }." | 18:42 | ||
camelia | ( no output ) | ||
timotimo | m: say "and without a profiler running in the background, the ratio is { 304 / 78 }." | ||
camelia | rakudo-moar 315ec6: OUTPUT«and without a profiler running in the background, the ratio is 3.897436.» | ||
18:43
Alula left
|
|||
timotimo | my measurements are misbehaving | 18:51 | |
somehow i can't get it to perform poorly any more, wtf? | 18:58 | ||
18:59
Alula joined
|
|||
psch | moritz: i've brought my Str.trans branch up to nom. do you think merging it makes sense, considering LSM is (or 'was supposed to be') a transient solution? | 18:59 | |
timotimo | it could be that the .isa('Array') vs ~~ Array change gave me the huge performance improvement | 19:03 | |
psch dinner & | 19:05 | ||
19:06
Mso150_e joined
|
|||
timotimo | oh, wow, the isa function is pretty complex | 19:06 | |
19:06
Mso150 left
|
|||
moritz | psch: I don't think anybody is working on a "proper" Str.trans, so it makes sense to improve the current thing | 19:08 | |
timotimo: at the very least, .isa has to do a dynamic lookup, whereas Array without the quotes goes straight into the SC | |||
timotimo | yeah | 19:21 | |
colomon | 200 modules passing all tests! \o/ | ||
masak | wow. | 19:22 | |
timotimo | not bad :) | ||
tadzik | woot | 19:25 | |
19:25
ghostlines joined
19:26
ghostlines left,
ghostlines joined
19:27
FROGGS_ is now known as FROGGS
|
|||
FROGGS | dylanwh: what do you think about something like that for cpantesters matrix? froggs.de/perl6/cpantesters/ | 19:28 | |
err, cpandatesters | |||
19:30
rindolf left,
rindolf joined
19:32
rindolf left
|
|||
tadzik | looks cool :) | 19:33 | |
19:34
cognominal left
|
|||
colomon | BTW, the ecosystem has a ton of low-hanging fruit in it. I've got pull requests out that will get two more modules passing, and my guess is quite a few more failing modules could be easily fixed by someone willing to put in a little effort. And lots of passing modules need more tests... | 19:36 | |
FROGGS | colomon: true | 19:38 | |
when I made PRs for modules that are shipped with star then I also recognize that it often is just a two line patch | 19:39 | ||
though, it would be easier for me to fix foreign modules when I'd see the failing reports | 19:40 | ||
and that's why I wanna have cpandatesters *now* | |||
19:45
lue left
19:46
rindolf joined
|
|||
tony-o | FROGGS: ugexe i think is getting into something like that | 19:50 | |
colomon: i fixed http server async :-) | |||
FROGGS | tony-o: ohh, good to know | ||
colomon | tony-o: yes, I saw in the smoke results! :) | 19:51 | |
tony-o++ | |||
tony-o | where are the smoke results? i should bookmark .. | ||
FROGGS | tadzik / dylanwh: I added dummy reports: froggs.de/perl6/cpantesters/ | ||
19:52
zakharyas left
19:54
ugexe left,
ugexe joined
|
|||
raydiak | good afternoon #perl6 | 19:55 | |
FROGGS | hi raydiak | 19:56 | |
.tell ugexe You are working on something related to module installation tests? please ping me | |||
yoleaux | FROGGS: I'll pass your message to ugexe. | ||
masak | greetings raydiak | ||
19:57
araujo left
|
|||
raydiak | nice mockup FROGGS++ | 19:57 | |
FROGGS | ohh, thanks :o) | ||
raydiak | it's not bootstrappy enough, it already looks clean and shiny and rounded :) | 19:58 | |
tony-o | lol | ||
colomon | tony-o: sorry for spacing out there. host08.perl6.com:8080/report | 19:59 | |
19:59
araujo joined,
ugexe left,
ugexe joined,
lue joined
20:02
ugexe left
|
|||
tony-o | thank you | 20:02 | |
20:04
ugexe joined
|
|||
dalek | ast: e8f5737 | usev6++ | S32-str/sprintf.t: Modify fudging for RT #116280 |
20:07 | |
ast: babf768 | usev6++ | S10-packages/basic.t: Add test for RT #120561 |
|||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116280 | ||
Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120561 | |||
20:19
Ven left
|
|||
timotimo | t.h8.lv/p6profile/formula_profile_latest.html / t.h8.lv/p6profile/formula_profile_latest.pl | 20:21 | |
might be some interesting things to spelunk in there | |||
like in one evaluate ast call, we spend 2.44% of time doing a return | 20:22 | ||
dalek | ast: f9b1da5 | usev6++ | S02-types/native.t: Add test for RT #121349 |
20:24 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121349 | ||
timotimo | things like: why aren't we jitting or inlining postcircumfix:<[ ]> | ||
20:25
immortal joined
20:26
ghostlines left,
aindilis left
|
|||
gtodd | one would think that postcircumfix:<[ ]> is something that gets used fairly often | 20:26 | |
20:26
erkan left
20:28
ghostlines joined
|
|||
tony-o | who is supernovous in here? | 20:29 | |
FROGGS | (s)he's not here | 20:30 | |
psch | hm, rebasing against nom made the history in my trans branch look kinda wonky | ||
moritz: i'll try and clean this up a bit and comment on the PR when it's clean(er than it's now) | 20:31 | ||
timotimo | the jit bails out in a postcircumfix:<[ ]> from encountering the multicachefind op | 20:32 | |
another postcircumfix:<[ ]> got jitted, though | |||
20:33
araujo left
|
|||
timotimo | that seems easy enough to jit. | 20:33 | |
20:36
araujo joined
20:39
araujo left
20:40
araujo joined
|
|||
timotimo | (unless of course you make loads of stupid typos along the way and don't compile before committing and pushing ...) | 20:41 | |
20:42
Mso150_e left
20:43
SamuraiJack joined,
Mso150_e joined
|
|||
psch | timotimo: so the travis failure in my tr branch is your doing? | 20:44 | |
in src/jit/graph.c, if i can read... :) | 20:45 | ||
20:47
ghostlines left
|
|||
raydiak | so I replaced the mobo in my mom's laptop yesterday, and the pun totally escaped me until now...is my mother's motherboard my grandmotherboard? | 20:49 | |
masak .oO( motherboard-of-dragons ) | 20:50 | ||
colomon is listening to his son listen to "How To Speak Dragonese" | |||
raydiak | yeah replacing a laptop motherboard w/no article or video kinda feels like slaying a dragon | ||
20:50
lizmat joined
|
|||
dalek | ast: 7f81801 | usev6++ | S12-attributes/ (2 files): Add tests for RT #102478 |
20:52 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=102478 | ||
20:52
ajr_ left,
ive joined
|
|||
raydiak | colomon: what does dragonese sound like? | 20:53 | |
20:53
ugexe left,
ugexe joined
|
|||
colomon | raydiak: it sounds like mangled baby talk. :) | 20:53 | |
raydiak | haha :) | 20:54 | |
colomon | raydiak: this book is actually an adventure story about the book How to Speak Dragonese, rather than a textbook on the subject. ;) | ||
masak | no don't mangle babies | ||
lizmat | colomon: what was the question? | ||
colomon | It's How To Train Your Dragon book 3 | ||
lizmat: I think it was about .path vs .IO | 20:55 | ||
raydiak | ah, I see...that makes more sense | ||
raydiak was imagining some skyrim spinoff children's books | |||
timotimo | at the same url there's now also latest_speshlog.txt and latest_jitlog.txt | 20:56 | |
colomon | lizmat: I think I figured stuff out. It is perhaps worth pointing out that Str.path doesn't seem to be deprecated in Rakudo, while you seem to have neglected to explicitly define IO::Path.path in S32 | 20:57 | |
lizmat | I was just realizing that as well | ||
:-( | |||
some fixing is in order, it would seem | 20:58 | ||
colomon | it's particularly confusing if you're looking at the results from dir, because it used to return strings which you'd use .path on to turn into IO::Path, while now it returns IO::Path which .path turns to a string | ||
20:59
woolfy joined,
vendethiel joined
|
|||
lizmat | when I changed .dir to return Str instead of IO::Path, a *lot* of things broke :-( | 20:59 | |
colomon | …. other way around, no? | ||
m: say dir()[0].WHAT | |||
camelia | rakudo-moar 315ec6: OUTPUT«(IO::Path)» | ||
timotimo | and the .html profile _latest.html has also been updated | ||
21:00
rindolf left
|
|||
lizmat | hmmm.... | 21:00 | |
dir used to return Str? are you sure? | |||
21:01
ugexe left
|
|||
colomon | not sure, but that's certainly what the IO::Path::More tests seemed to think | 21:01 | |
21:01
ugexe joined
|
|||
lizmat | hmmm... I will look at that tomorrow and make sure it matches spec | 21:01 | |
colomon | I mean, list of Str. | ||
Mind you, I think your changes are sensible! | |||
just need a bit more clarity in the spec | 21:02 | ||
dalek | kudo/nom: 2797925 | (Elizabeth Mattijsen)++ | README.md: Fix typo |
||
21:02
ive left
21:03
ive joined,
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
21:09
xfix is now known as notfix
21:10
raiph joined
|
|||
lizmat | colomon: seems only t/spec/S32-io/dir.t fails | 21:10 | |
colomon | lizmat: fails with what? | 21:11 | |
lizmat | d0a1b098 (Solomon Foster 2013-06-03 20:18:44 -0400 14) ok @files.grep(*.basename | ||
timotimo | of course jitting multicachefind only gets us to invokewithcapture which doesn't do it any more | ||
lizmat | it expected an IO::Path object there | ||
test #3 | |||
but I'm surprised it doesn't break anything else | 21:12 | ||
hmmm... it also breaks Panda | 21:13 | ||
but I could fix that at the same time | |||
21:16
spider-mario left
|
|||
lizmat | but not now, as I'm tired and need the extra hour this night | 21:18 | |
so good night, #perl6! | |||
21:18
ive left
|
|||
raydiak | g'night lizmat | 21:19 | |
timotimo | gnite lizmat | ||
21:19
ive joined
21:23
erkan joined,
erkan left,
erkan joined
21:25
immortal left
21:27
BenGoldberg left
21:30
lizmat_ joined,
lizmat left
|
|||
raydiak | it's interesting as this algebra module progresses how much of it ends up resembling a compiler...it parses, emits, uses a tree for the working structure, has an "optimizer" for simplifying expressions, etc... | 21:30 | |
masak | all software wants to be either an interpreter or a compiler. | 21:31 | |
psch | and an email client ;) | ||
raydiak | wow I never quite thought about it like that...but that makes sense | 21:32 | |
psch .oO( that's still interpreting... ) | |||
masak | psch: think of how much software out there that's mainly a switch statement in a loop. that's an interpreter. | 21:33 | |
psch: compilers arise as you add layers of caching to an interpreter. | |||
21:34
BenGoldberg joined
|
|||
psch | masak: i was jesting, in reference to en.wikipedia.org/wiki/Jamie_Zawinsk...nvelopment | 21:35 | |
masak: i do agree with your point. | 21:36 | ||
masak | oh, sorry, I meant those last two lines for raydiak :) | ||
psch: I almost replied to you "an email client is still an interpreter", but then you pre-empted me :) | |||
raydiak | that's a really interesting way of thinking about it | 21:38 | |
psch | masak++ # thinking | ||
raydiak | I remember thinking about Pray as a "compiler" for scene files -> image files, in a conversation I was having about futamura projections | 21:39 | |
masak++ # ensuring I get my paradigm shift for the day | |||
21:44
immortal joined,
immortal left,
immortal joined
|
|||
masak | I have the feeling SICP the book gets its oomph quite a bit from that insight. and maybe Lisp in general does, too. | 21:46 | |
21:46
erkan left
|
|||
timotimo | t.h8.lv/p6profile/jit_bails_per_frame_name.txt | 21:49 | |
raydiak | thanks, I'll put that book on my list of books...lisp is already on my list of languages to learn :) | 21:52 | |
21:54
SamuraiJack left
|
|||
masak | it can be found legally for free online, and nowadays in a variety of nice formats: sicpebook.wordpress.com/ebook/ | 21:54 | |
raydiak | oh awesome | 21:55 | |
colomon | SICP is one of the books I'd love to tackle if I mysteriously got another five hours in each day.... | 22:18 | |
Unforutunately I have a good stack of such books at this point. :( | 22:19 | ||
masak | I'm trying to rope colleagues into tackling SICP with me, by meeting up regularly and talking about it. | ||
a bit like a reading circle, but with code. | |||
colomon | that's a fine idea | ||
masak | but yeah, there's definitely an element of "in my copious spare time" involved. | 22:20 | |
22:26
araujo left
|
|||
raydiak | speaking of things that consume time...any suggestions for a linux distro to put on an old craptop for my g/f? was thinking lubuntu but I haven't ridden the distro merry-go-round for a few years | 22:26 | |
22:26
araujo joined
|
|||
masak | raydiak: you might want to have a look at linuxmint.com/ -- very no-nonsense, easy install, and doesn't have Unity. | 22:28 | |
raydiak | yeah I'm running mint kde on my own laptop, it works pretty great | 22:29 | |
guess light resource usage is one of my top concerns for the 2007 low-end laptop I'm putting this on | 22:30 | ||
22:30
FROGGS left
|
|||
raydiak | lucky for me we fell off moore's law, or the thing would be darn near useless :) | 22:31 | |
22:33
Guest1419 left
|
|||
psch | i'm off to bed. good night, #perl6 \o | 22:36 | |
masak | 'n, psch | ||
raydiak | good night psch o/ | ||
colomon | \o | ||
raydiak | heh it appears I changed the passwords on the thing due to the keyboard keys that don't work | 22:39 | |
22:40
psch left
22:45
Guest1419 joined
22:50
virtualsue left,
ive left
|
|||
raiph | I'm curious if P6 is on the static typing side of the fence in regard to leonerd's answer to the question heard in last 2 minutes of the yapc eu video of his futures module www.youtube.com/watch?v=u9dZgFM6Ft...w#t=48m22s | 22:52 | |
I see lizmat in the audience so perhaps she has an answer already? | 22:53 | ||
22:59
immortal left
23:00
erkan joined
23:03
Isp-sec left
23:07
erkan left
23:08
erkan joined,
erkan left,
erkan joined
23:09
Guest1419 left
|
|||
masak | 'night, #perl6 | 23:12 | |
23:13
Sqirrel left
23:16
gfldex left
23:21
Guest1419 joined
23:24
cognominal joined
23:26
raiph left
23:28
Celelibi left
23:31
raiph joined
23:45
avuserow left
23:56
Alina-malina left
23:57
Alina-malina joined
|
|||
raiph | .ask perl6 to encourage someone to post a P6 version of the tiny reverse polish forthish "compiler" at www.reddit.com/r/perl/comments/2kb0...n_in_perl/ (I plan to have a go early next week if no one else gets to it and it's still in the top 10 on /r/perl) | 23:59 | |
yoleaux | raiph: I'll pass your message to perl6. |