|
»ö« 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. | ||