»ö« 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 diakopter on 14 April 2013. |
|||
BenGoldberg | parrot links to libtommath, which has an implementation of miller-rabin, which uses (where appropriate) expmod and sqrmod. | 00:08 | |
Hopefully rakudo uses that for it's implementation of is-prime. | 00:10 | ||
00:11
drbean joined
|
|||
BenGoldberg | Hmm, rakudo's is-prime makes use of nqp::isprime_I | 00:16 | |
diakopter | BenGoldberg: github.com/perl6/nqp/blob/bfb36697....nqp#L1725 | 00:18 | |
github.com/perl6/nqp/blob/e93a51d2...t.ops#L209 | 00:19 | ||
github.com/perl6/nqp/blob/3370a7d1...rime.c#L25 | |||
hmm, there is a line missing in that comment | 00:22 | ||
also in nearly every other fork/inclusion of that comment on the 'net | |||
gpl.back2roots.org/source/routertec...is_prime.c | 00:23 | ||
BenGoldberg | mp_prime_is_prime doesn't check if the number of trials is bigger than the prime table | ||
err, nevermind it does | |||
diakopter | Probability of error after t rounds | ||
is the line preceding the one missing | |||
maybe someone removed it b/c it was wrong | 00:24 | ||
but left the sentence dangling | |||
00:35
kivutar left,
ifimbres joined
00:46
kbenson left
00:49
woosley joined
00:57
ifimbres left
00:58
berekuk left
01:03
anuby joined
01:07
skids joined
01:09
lichtkind left
|
|||
raiph | r: say "1,2,3,5,8,9,10,11" ~~ s/ <digit>* % ',' / $<digit> / | 01:16 | |
camelia | rakudo ef73eb: OUTPUT«Cannot modify an immutable value in sub infix:<=> at src/gen/CORE.setting:12891 in block at /tmp/bh_bR0tRr3:1» | ||
raiph | r: $_ = "1,2,3,5,8,9,10,11"; tr/ <digit>* % ',' / $<digit> /; .say | 01:17 | |
camelia | rakudo ef73eb: OUTPUT«===SORRY!===Non-declarative sigil is missing its nameat /tmp/za6O7olr0C:1------> $_ = "1,2,3,5,8,9,10,11"; tr/ <digit>* %⏏ ',' / $<digit> /; .say expecting any of: postfix infix stopper infix or me… | ||
raiph | r: $_ = "1,2,3,5,8,9,10,11"; s/ <digit>* % ',' / $<digit> /; .say | ||
camelia | rakudo ef73eb: OUTPUT« 1 2 3 5 8 9 1 0,11» | ||
raiph | r: $_ = "1,2,3,5,8,9,10,11"; s/ <digit>+ % ',' / $<digit> /; .say | 01:19 | |
camelia | rakudo ef73eb: OUTPUT« 1 2 3 5 8 9 1 0,11» | ||
raiph | r: $_ = "1,2,3,5,8,9,10,11"; s/ <digit>** % ',' / $<digit> /; .say | ||
camelia | rakudo ef73eb: OUTPUT«===SORRY!===Quantifier quantifies nothingat /tmp/YAtcz1GwVz:1------> $_ = "1,2,3,5,8,9,10,11"; s/ <digit>** ⏏% ',' / $<digit> /; .say expecting any of: postfix statement end statement modifier … | ||
raiph | r: $_ = "1,2,3,5,8,9,10,11"; s/ <digit> ** 2..* % ',' / $<digit> /; .say | ||
camelia | rakudo ef73eb: OUTPUT« 1 2 3 5 8 9 1 0,11» | ||
01:27
wswiss joined
|
|||
wswiss | my question is should i keep learning perl 5, or start following perl 6? | 01:29 | |
01:30
wswiss left
|
|||
geekosaur | perl5 won't go away because of perl6, any more than python2 stopped being used when python3 was released | 01:35 | |
dalek | blets: 3764ccc | (Herbert Breunung)++ | docs/appendix-a-index.txt: more links to glossary in intro of A |
01:42 | |
01:46
FROGGS_ joined
01:50
FROGGS left
|
|||
flussence | just playing around with some code, .DUMP seems a little bit slow: gist.github.com/flussence/5449017 | 01:59 | |
02:10
lustlife joined
02:12
drbean left
02:14
drbean joined
|
|||
japhb | flussence, DUMP has not been speed-optimized | 02:19 | |
Also, it is likely to be MUCH larger output than the others. | |||
You might want to compare the length of each output as well. | 02:20 | ||
02:21
census left
|
|||
flussence | yeah, it's 4 times the size of the .perl... having a readable tree is really useful though. | 02:24 | |
japhb | r: say 1382.5 / (86.8 * 4) | 02:26 | |
camelia | rakudo ef73eb: OUTPUT«3.981855» | ||
japhb | So perhaps 1/4 of the speed one would expect merely from difference in output size. | ||
diakopter | or quadratic | 02:28 | |
japhb | diakopter, true. I haven't done a real analysis of the code looking for that sort of stuff. | 02:29 | |
02:30
xinming left
|
|||
japhb | (Though there are a couple places I build up arrays and join, rather than doing piecemeal concatenation, I haven't tried to make sure the latter never happens -- and as someone discovered a week or two ago, join isn't necessarily performant either, SIGH) | 02:30 | |
flussence | I guess there's not much point worrying about it as long as the other two are also processing text about as fast as a 2400 baud modem... | 02:31 | |
02:32
xinming joined
|
|||
diakopter | .oO( what's slower than a camel? ) .oO( a butterfly flying underwater ) |
02:32 | |
japhb | Part of me is annoyed that some of the basic operations on which we build things like DUMP are so damned slow -- making it really hard to make something like DUMP even vaguely performant -- at the same time I recognize that building a VM takes LOTS OF WORK and I can't really expect "fast" before "complete" and "correct" | 02:33 | |
(That said, "correct" would be awfully nice ...) | 02:34 | ||
diakopter | japhb: I'm looking forward to your yapc talk where you identify all the little bits that are so much slower individually | ||
japhb | Oh man, that's going to be "fun" | ||
diakopter | alternatively, .oO( a butterfly flying in a vacuum ) | ||
02:37
orafu left
|
|||
diakopter | .oO( also, a butterfly flying in a vacuum cleaner is pretty slow too ) |
02:37 | |
02:38
BenGoldberg left
|
|||
diakopter | er, s/butterfly/parrot/g | 02:39 | |
02:39
orafu joined
|
|||
DrEeevil | a spherical parrot flying in a vacuum on a frictionless plane? | 02:42 | |
diakopter | yes, with no gravity | ||
02:49
Targen joined
03:09
jaldhar left
03:10
eternaleye joined
|
|||
raiph | r: $_ = "1,2,3,5,8,9,10,11"; s/ [<digit>+]+ % ',' / $<digit> /; .say | 03:15 | |
camelia | rakudo ef73eb: OUTPUT« 1 2 3 5 8 9 1 0 1 1 » | ||
03:44
orafu left
03:45
orafu joined
04:19
adu joined
04:24
Psyche^ joined
|
|||
diakopter | r: $_ = "1,2,3,5,8,9,10,11"; s/ [$<digit> = (<digit>+)]+ % ',' / $<digit> /; .say | 04:26 | |
camelia | rakudo ef73eb: OUTPUT« 1 2 3 5 8 9 10 11 » | ||
diakopter | raiph: ^ | 04:27 | |
04:28
Patterner left,
Psyche^ is now known as Patterner
|
|||
lue | r: $_ = "1,2,3,5,8,9,10,11"; s/ [$<num> = (<digit>+)]+ % ',' / $<num> /; .say # just for slight increase in readability | 04:35 | |
camelia | rakudo ef73eb: OUTPUT« 1 2 3 5 8 9 10 11 » | ||
04:38
drbean left
04:44
drbean joined
04:57
SamuraiJack joined
|
|||
Nom- | cls | 05:09 | |
oops | |||
diakopter | .oO( command.com or cmd.exe? ) |
05:10 | |
Nom- | me? | 05:11 | |
diakopter | yes :) | ||
Nom- | That was me trying to do a screen shotcut in tmux and typing ahead without noticing it didn't work :P | ||
05:20
FROGGS_ left
05:21
frdmn left
05:36
SamuraiJack_ joined
05:38
SamuraiJack left
|
|||
Nom- | I thought the answer to this question would be obvious, but doesn't seem to be.... is there a simple way one can run the nqp compiler from source? ... ie use a built version of nqp to run the unbuilt source so I can make quick changes and test | 05:43 | |
arnsholt | If you're hacking on NQP, you have to recompile to test | 05:49 | |
Nom- | bugger :( | ||
arnsholt | A couple of exceptions if you're doing stuff with the C code, mind | 05:50 | |
Yeah, it's a bit impractical | |||
Nom- | I'm coming back to a project I started looking at last weekend... want to look at starting NQP running on the Rubinius VM | ||
arnsholt | Oh, right. I have no idea how to best do that | 05:51 | |
Take a look at the early history of jnthn's nqp-jvm-prep perhaps? | |||
Nom- | Yeah, I've looked at that before | ||
Maybe i'll have to look again | |||
It makes me wish the parser & lexer were written in C though since that'd be much easier to hook into pretty much anything | 05:52 | ||
C'est la vie | |||
05:54
census joined
|
|||
arnsholt | The problem is that it has to been extensible, more or less arbitrarily, at run-time | 05:56 | |
Which is less fun when it's in C =) | |||
If it's any consolation, the parser code is a lot more manageable these days | 05:57 | ||
It used to be all in PIR (lots and lots of it), but now it's in NQP =) | |||
adu | nqp++ | ||
06:01
frdmn joined
|
|||
diakopter | rn: <~~>~~/<~~>/ | 06:03 | |
camelia | rakudo ef73eb: OUTPUT«maximum recursion depth exceededcurrent instr.: 'print_exception' pc 111391 (src/gen/CORE.setting.pir:50074) (src/gen/CORE.setting:9712)called from Sub '!cursor_start_all' pc 10320 (src/stage2/QRegex.pir:4270) (src/stage2/QRegex.nqp:542)called from Sub '' pc 155… | ||
..niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===Action method assertion:sym<~~> not yet implemented at /tmp/qUXJoTPxEC line 1:------> <~~>~~/<~~⏏>/Unhandled exception: Unable to resolve method oplift in type Any at /home/p6eval/niecza/src/RxOp.pm6 … | |||
diakopter | pugs: <~~>~~/<~~>/ | 06:04 | |
camelia | pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120717/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** Can't locate P… | ||
Nom- | Yeah, I think I'm starting to see how jnthn did it all, so it's just a matter of putting in the hours now | 06:18 | |
diakopter | o_O | ||
Nom- | If I can get to something that will generate something similar to his original JAST intermediate format this weekend I'll be on my way I think :) | 06:19 | |
diakopter | O_O :D | ||
06:26
adu left
|
|||
diakopter | Nom-: there's a fairly frequent pattern of folks starting nqp implementations for one VM/platform or another but losing interest after a while.. I don't think anyone's tried Rubinious though | 06:27 | |
er | 06:28 | ||
Rubinius | |||
Nom- | Yeah, I've got a pretty good idea why they give up :P | 06:41 | |
It's not exactly easy to quickly iterate on changes | |||
I've actually gotten further from an implementation perspective writing a parser/lexer from scratch than using the existing ones | 06:42 | ||
But obviously that's not what would be needed for a proper implementation | |||
diakopter | the way it's been done before is to use nqp on parrot as a cross compiler | 06:43 | |
06:43
jerome_ joined
|
|||
Nom- | Yeah.. getting that set up seems to be the hard part, but once that hurdle it crossed... | 06:43 | |
diakopter | yeah. | ||
depending on how big you're defining "getting that set up" | |||
I mean, if you include "make the bootstrap work" .... ;) | 06:44 | ||
but to get it to generate *something* your runtime can run shouldn't be horribly hard | |||
Nom- | Way further down the track than I'm targeting for now :P | ||
Step 1 is to get some kind of IR which I can parse and turn into bytecode on the Rubinius side | |||
diakopter | if I were you, I'd compile to the bytecode in the cross compiler | 06:45 | |
(initially) | |||
Nom- | Well I have to bridge the parrot-rubinius bridge first :) | ||
That's why I was targeting some simple IR like the JAST stuff | 06:46 | ||
diakopter | don't run 'em in the same process :P no one's made a cross compiler that fancy ;) | ||
yeah... RAST | |||
Nom- | Already created the folder ;) | ||
diakopter | heh. | 06:47 | |
well, your awakeness seems to indicate you're not in Europe | |||
well. | |||
actually, it's morning there now | |||
Nom- | 'Straya | ||
Australia for those who don't understand 'straylian stang typed out :P | |||
06:48
SamThomas joined,
quester joined
|
|||
diakopter | .oO( stang ) |
06:48 | |
Nom- | *slang | ||
t is just an l with an extra - :P | 06:49 | ||
diakopter | r: my stang Foo is Perl6 { } | ||
camelia | rakudo ef73eb: OUTPUT«===SORRY!===Type 'stang' is not declaredat /tmp/DMWmhLsIoA:1------> my stang⏏ Foo is Perl6 { }Malformed myat /tmp/DMWmhLsIoA:1------> my ⏏stang Foo is Perl6 { } expecting any of: scoped decla… | ||
SamThomas | ls | 06:50 | |
diakopter | . | 06:51 | |
.. | |||
06:53
SamThomas left
|
|||
diakopter | haha | 06:53 | |
06:58
dickinsm joined
06:59
baest joined
07:03
pupoque joined
07:04
Rix left
07:06
autumn joined,
kurahaupo left,
domidumont joined
07:08
daxim joined
|
|||
Nom- | Hopefully I do make some progress... I think a Rubinius implementation could actually be useful... it's a solid VM that's in use in production today | 07:09 | |
sorear | słang? | ||
Nom- | I'm sure I'll be back here later though once I really dive into it... need to pretend to do some work for the day job for now :) | ||
07:12
Rix joined
07:20
salv0 left
|
|||
diakopter | r: my Int|Str $a; | 07:21 | |
camelia | rakudo ef73eb: OUTPUT«===SORRY!===Type 'Int' is not declared. Did you mean 'int'?at /tmp/gMKUoEcH5P:1------> my Int⏏|Str $a;Malformed myat /tmp/gMKUoEcH5P:1------> my Int⏏|Str $a; expecting any of: scoped declarat… | ||
diakopter | r: my int|Str $a; | ||
camelia | rakudo ef73eb: OUTPUT«===SORRY!===Type 'int' is not declared. Did you mean 'Int'?at /tmp/oaeowoKE49:1------> my int⏏|Str $a;Malformed myat /tmp/oaeowoKE49:1------> my int⏏|Str $a; expecting any of: scoped declarat… | ||
diakopter | hee | ||
labster | good *, * | 07:24 | |
diakopter | * | ||
07:27
rindolf joined,
FROGGS joined
|
|||
FROGGS | morning | 07:27 | |
census | morning FROGGS and rindolf! | 07:28 | |
FROGGS | hi census | ||
labster | r: sub infix:<is> (\a,\b) {a ~~ b}; if $*PERL is Cool and all(',') { say Whatever } | ||
camelia | rakudo ef73eb: OUTPUT«(Whatever)» | ||
rindolf | census: morning. | 07:30 | |
FROGGS: morning. | |||
census, FROGGS : what's up? | |||
FROGGS | rindolf: $work | 07:32 | |
census | $coding | ||
rindolf: $coding | |||
FROGGS | well, ya, $coding :o) | ||
census | :) | ||
rindolf | census: what are you coding? | 07:33 | |
census: please stop /msg ing me. | 07:34 | ||
census | rindolf: oh i msged you because i know this channel does not like me directly discussing non-perl6 topics in here ... | ||
i'm doing some p5 work ... | |||
rindolf | census: OK. | 07:35 | |
FROGGS | rindolf: you should've asked 10-12 hours ago though :o) | ||
diakopter | if anyone would like to help census, please join #help-census | ||
census | ;:) | ||
07:36
domidumont left,
domidumont joined
07:41
kaleem joined
|
|||
FROGGS | labster: how is the state about IOs and Paths and Specs within rakudo? | 07:42 | |
are there issues left or is there just the open question about core modules? | |||
labster | Well, I think I'm going to need to move File::Spec stuff into core. At least, it needs to be available to the setting, so I think it makes the most sense there. | 07:43 | |
Compiling it in seems to infinite loop on me, so there's more debugging in my future... | 07:44 | ||
github.com/rakudo/rakudo/pull/129 is literally an open issue :) | |||
that makes changes IO to IO::Handle (but leaves .IO, because I don't see a real reason to change that), and makes IO an empty tagging class -- I'm not sure I can do it as a role as in S32::IO, because IO::subclasses need someplace to live for lookups. | 07:47 | ||
moritz | r: role Foo { }; class Foo::Bar { }; say Foo::Bar.new | ||
camelia | rakudo ef73eb: OUTPUT«Foo::Bar.new()» | ||
moritz | labster: is there any reason the same couldn't work for IO? | 07:48 | |
r: role Foo { }; class Foo::Bar does Foo { }; say Foo::Bar.new | |||
camelia | rakudo ef73eb: OUTPUT«Foo::Bar.new()» | ||
labster | r: my role Foo { }; my class Foo::Bar { }; say foo::Bar.new | ||
camelia | rakudo ef73eb: OUTPUT«Could not find symbol '&Bar' in method <anon> at src/gen/CORE.setting:10834 in any at src/gen/Metamodel.nqp:2504 in any find_method_fallback at src/gen/Metamodel.nqp:2492 in any find_method at src/gen/Metamodel.nqp:939 in block at /tmp/3I0QZrQv_X:1»… | ||
labster | because they're lexically scoped. | ||
moritz | r: my role Foo { }; my class Foo::Bar { }; say Foo::Bar.new | ||
camelia | rakudo ef73eb: OUTPUT«Foo::Bar.new()» | ||
moritz | works if you spell it correctly :-) | 07:49 | |
foo vs. Foo | |||
labster | wait... my damn IRC client... those are not URLs! | ||
okay, I'll look at that some more | 07:50 | ||
07:50
rindolf left,
rindolf joined,
crab2313 joined
|
|||
labster | But I think the thing that really needs some work is S16. | 07:51 | |
07:51
cognominal joined
|
|||
labster | I'm not sure -- do we really want qp//? | 07:52 | |
diakopter | r: class foo { method blah { our $bar = 33 }; method boo { say $bar } }; foo.boo; foo.blah; foo.boo | 07:54 | |
camelia | rakudo ef73eb: OUTPUT«(Mu)33» | ||
FROGGS | quote path? | 07:56 | |
07:56
rindolf left
|
|||
FROGGS | hmmm, where is the problem with qp/q:p ? | 07:56 | |
07:57
census left,
rindolf joined
|
|||
labster | There's not much problem, I just wonder about the use case being significant enough. | 07:57 | |
07:58
pupoque left
|
|||
FROGGS | labster: well, I like qq very much, but you usually dont have " and ' in paths | 07:59 | |
08:00
dalek left
|
|||
FROGGS | but maybe there are cases where you have both, and that'd be ugly without qq | 08:00 | |
moritz | labster: qp is a feature that everybody so far has refused to implement | ||
FROGGS | moritz: but why? | ||
labster | One more thing: I'd like a function to do readlink. I'm too stupid in C to do it myself, and parrot doesn't have an op for it. But if we ever want something like Path::Class->resolve() | ||
...we'd need it | |||
08:00
dalek joined,
ChanServ sets mode: +v dalek,
[Coke] joined
|
|||
FROGGS | labster: maybe I can help you there | 08:01 | |
moritz | labster: you can open a parrot issue requesting that feature | ||
FROGGS: because it's mostly stupid (more) | |||
1) UNIX paths are actually bytes, but literals are Str | |||
labster | n: say qp/foo/ # not everyone | ||
camelia | niecza v24-37-gf9c8fc2: OUTPUT«"foo".IO» | ||
moritz | 2) there's not much point in having an extra quoting construct if you don't do anything special with it, in the parser | 08:02 | |
but it's spec, so if you feel like, implement it | |||
labster: I didn't know that | 08:03 | ||
08:04
kresike joined
|
|||
kresike | hello all you happy perl6 people | 08:05 | |
labster | qp:win// might be nice due to the lack of double-backslashes, I suppose | ||
08:07
rindolf left,
rindolf joined
|
|||
diakopter | heh. rakudo disallows @_ | 08:10 | |
std doesn't | |||
moritz | where? | 08:11 | |
diakopter | r: my @_ | ||
camelia | rakudo ef73eb: OUTPUT«===SORRY!===Cannot use placeholder parameter @_ in the mainlineat /tmp/HaTvSzCyen:1------> my @_⏏<EOL>» | ||
diakopter | std: my @_ | ||
camelia | std 86b102f: OUTPUT«ok 00:00 41m» | ||
labster | okay, sent in a Parrot issue about readlink, I hope it gets some attention. | 08:13 | |
08:15
pecastro left
|
|||
labster | I'm tempted to rename File::Spec to IO::Spec because it goes with those classes thematically. | 08:17 | |
FROGGS | diakopter: STD isnt perfect in all cases :o) | 08:18 | |
moritz | I guess this time it's rakudo that isn't perfect | 08:19 | |
std: @_ | |||
camelia | std 86b102f: OUTPUT«===SORRY!===Placeholder variable @_ may not be used outside of a block at /tmp/btONj2CC9M line 1:------> <BOL>⏏@_Check failedFAILED 00:00 41m» | ||
moritz | that error should only appear in declarational context | ||
diakopter | r: { say "@_" }() | 08:20 | |
camelia | rakudo ef73eb: OUTPUT«@_» | ||
FROGGS | moritz: if only unix paths are bytes, then a qp{} should still be a Str, no? | ||
diakopter | whaaaaaaa | ||
FROGGS | diakopter: email address parsing? | ||
diakopter | n: { say "@_" }() | ||
camelia | niecza v24-37-gf9c8fc2: OUTPUT«@_» | ||
diakopter | oh. | ||
FROGGS | r: { say "@_[]" }() | ||
camelia | rakudo ef73eb: OUTPUT«» | ||
diakopter | n: { say "@_[]" }() | 08:21 | |
camelia | niecza v24-37-gf9c8fc2: OUTPUT«» | ||
08:21
salv0 joined,
berekuk joined
|
|||
diakopter | rn: { @_ := [5,6]; say "@_[]" }() | 08:21 | |
camelia | niecza v24-37-gf9c8fc2: OUTPUT«5 6» | ||
..rakudo ef73eb: OUTPUT«===SORRY!===Cannot use bind operator with this left-hand sideat /tmp/xO6AzI6g30:1------> { @_ := [5,6]⏏; say "@_[]" }() expecting any of: postfix» | |||
diakopter | rn: { @_ = [5,6]; say "@_[]" }() | ||
camelia | rakudo ef73eb: OUTPUT«5 6» | ||
..niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Unable to resolve method LISTSTORE in type List at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/5IoG7VkKGk line 1 (ANON @ 2)  at /tmp/5IoG7VkKGk line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3)… | |||
diakopter | r: { @_ = 5,6; say "@_[].elems" }() | 08:23 | |
camelia | rakudo ef73eb: OUTPUT«5 6.elems» | ||
diakopter | o_O | ||
r: { @_ = 5,6; say "@_[].elems()" }() | |||
camelia | rakudo ef73eb: OUTPUT«2» | ||
labster | r: str ~~ Str | ||
camelia | rakudo ef73eb: ( no output ) | ||
labster | r: say str ~~ Str | ||
camelia | rakudo ef73eb: OUTPUT«True» | ||
diakopter | r: say Str ~~ str | ||
camelia | rakudo ef73eb: OUTPUT«False» | ||
diakopter | r: say str ~~ Stringy | ||
camelia | rakudo ef73eb: OUTPUT«False» | ||
08:24
rindolf left
|
|||
moritz | labster: I have a local patch on top of your pull request that makes IO a role; spectesting it now | 08:25 | |
it builds, which is a good sign :-) | |||
labster | oh, good | ||
08:25
rindolf joined
|
|||
moritz | one pitfall to avoid was that class IO is stubbed before it's declared | 08:25 | |
r: class A { ... }; role A { } | |||
camelia | rakudo ef73eb: OUTPUT«===SORRY!===Redeclaration of symbol Aat /tmp/rmLsDiulnt:1------> class A { ... }; role A ⏏{ } expecting any of: argument list postfix statement end statement modifier statement mod… | ||
moritz | r: role A { ... }; role A { } | 08:26 | |
camelia | rakudo ef73eb: ( no output ) | ||
moritz | r: package A { ... }; role A { } | ||
camelia | rakudo ef73eb: OUTPUT«===SORRY!===The following packages were stubbed but not defined: Aat /tmp/xFdpARkC7u:1------> package A { ... }; role A { }⏏<EOL> expecting any of: statement list postfix statement end»… | ||
moritz | so the stubbing need to be of the right kind (package/role/class) | ||
diakopter | r: sub foo { return 5,6,:foo(:foo(:foo)) }; my (*@x,*%y) := foo(); say @x; say %y | ||
camelia | rakudo ef73eb: OUTPUT«5 6("foo" => Mu).hash» | ||
08:37
drbean left
08:38
drbean joined
08:43
rindolf left,
rindolf joined
|
|||
dalek | ecs: 055f688 | diakopter++ | S01-overview.pod: missing |
08:43 | |
ecs: 26ec6d9 | diakopter++ | S02-bits.pod: tiny errs |
|||
08:45
census joined
08:46
pupoque joined
08:47
quester left
08:48
dakkar joined
08:53
MrMeek-afk joined
08:54
MrMeek left
08:57
domidumont left,
domidumont joined
08:58
domidumont left
08:59
rindolf left,
rindolf joined
|
|||
diakopter | r: $_ = macro foo { {{ }} }; say $() | 09:00 | |
camelia | rakudo ef73eb: OUTPUT«===SORRY!===Error while compiling block (source text: "$_ = macro foo { {{ }} }; say $()"): Error while compiling op call: Error while compiling block : Error while compiling op p6store (source text: "="): Unknown QAST node type NQPMu» | ||
09:00
pupoque left
|
|||
diakopter | r: $_ = macro { }; | 09:00 | |
camelia | rakudo ef73eb: OUTPUT«===SORRY!===Error while compiling block (source text: "$_ = macro { };"): Error while compiling op call: Error while compiling block : Error while compiling op p6store (source text: "="): Unknown QAST node type NQPMu» | ||
09:00
pupoque joined
|
|||
arnsholt | I'm guessing the AST of a macro block doesn't have the bits an op call expects to find | 09:01 | |
diakopter | r: $_ = BEGIN macro { }; | 09:02 | |
camelia | rakudo ef73eb: OUTPUT«===SORRY!===Error while compiling block : Error while compiling block (source text: " macro { }"): Unknown QAST node type NQPMu» | ||
hoelzro | :sus | ||
damn, sorry | |||
diakopter | /kickban hoelzro | ||
oops | |||
FROGGS | hehe | ||
09:14
rindolf left,
rindolf joined
09:16
fgomez left
09:21
tgt joined
09:23
gtodd1 joined,
gtodd left
09:24
rindolf left,
domidumont joined,
rindolf joined
|
|||
diakopter | S02 makes my head hurt | 09:25 | |
hoelzro | it's a bit overwhelming =/ | ||
09:26
Kharec left
|
|||
diakopter | moritz: I'm making a list of unimplemented thingies - ethercalc.org/i982ooyabg | 09:26 | |
anyone: please leave some row gaps and start adding things if you like | |||
for other synopses | |||
S02 is making me cry | 09:27 | ||
09:27
Kharec joined
|
|||
FROGGS | .ask TimToady Should the PairSet type go too is Set gets removed? perlcabal.org/syn/S02.html#line_1902 | 09:27 | |
yoleaux | FROGGS: I'll pass your message to TimToady. | ||
FROGGS | diakopter: I'll add things later for at least S10 and S11 | 09:28 | |
diakopter | cool | 09:29 | |
FROGGS | diakopter: btw, this is working now locally since last night: perl6 -e '{ use v5; use Test2; eval "say $^V" }; { use 5.10; say $0 };' # Test2 will be treated as a Perl5 module, even if there is no v5 in it... | 09:35 | |
diakopter | cool. | ||
FROGGS**=FROGGS | |||
masak | good antenoon, #perl6 | ||
FROGGS | ahh, and use v6; use Test2:from<Perl5>; is working too | ||
hoelzro | whoa, that's sweet | ||
FROGGS | hi masak | ||
09:36
pecastro joined,
rindolf left
09:37
rindolf joined
|
|||
diakopter decides to skip the rest of S02 ("Names") for now, since last I remember, most of that was implemented | 09:37 | ||
okay, that's nify. | 09:38 | ||
nifty. | |||
$(blah) and such are introduced 3 times in S02 as if it's the first time | |||
09:39
araujo left
09:44
berekuk left
09:47
census left
09:48
rindolf left,
rindolf joined,
tgt left
09:57
jaffa4 joined,
rindolf left,
rindolf joined
|
|||
tadzik | ello ello | 10:00 | |
apparently my h is broken | |||
FROGGS | ewww | 10:02 | |
tadzik: you should buy a new keyboard and send timotimo you tab and left alt key :o) | |||
10:04
spider-mario joined
10:05
anuby left
|
|||
diakopter | r: sub infix:[/./] { say $^a, $^b }; 5@4 | 10:17 | |
camelia | rakudo ef73eb: OUTPUT«===SORRY!===Method 'ast' not found for invocant of class 'NQPMu'» | ||
diakopter | heh, a genuine bug | ||
10:19
krunen joined
|
|||
diakopter | r: say :99999999999999999999999('dd') | 10:19 | |
camelia | rakudo ef73eb: OUTPUT«Cannot convert string to number: radix (in decimal) expected after ':' in ':⏏-2147483648<dd>' (indicated by ⏏) in method sink at src/gen/CORE.setting:10837 in method BUILDALL at src/gen/CORE.setting:801 in method bless at src/gen/CORE.setting:743 in method … | ||
diakopter | 'nother genuine bug | ||
where's masakbot when you need him | |||
masak submits rakudobug | 10:20 | ||
masak submits rakudobug | 10:21 | ||
diakopter | heh. try golfing that former one. :D | ||
10:23
daxim left,
daxim joined
|
|||
masak | diakopter++ # an artist in disguise | 10:25 | |
diakopter | r: sub infix:[/./] | 10:26 | |
camelia | rakudo ef73eb: OUTPUT«===SORRY!===Method 'ast' not found for invocant of class 'NQPMu'» | ||
masak | there you go. | 10:28 | |
masak includes that in the ticket | |||
10:37
cognominal left
10:38
cognominal joined
10:50
jerome_ left
10:52
kaleem left
11:02
sqirrel joined
11:06
jerome_ joined
11:11
crab2313 left
|
|||
FROGGS | masak++ | 11:13 | |
masak | why are people talking about "ripping out Set" in the backlog? what prior conversation did I miss? :) | 11:18 | |
FROGGS | masak: I remember that TimToady said that Set should be removed, but it seems like this happened when ilbot was absent :/ | 11:24 | |
11:26
xinming left
|
|||
moritz | <gandalf> What madness is this? </gandalf> | 11:26 | |
masak | +1 | 11:27 | |
Set? removed? why in the world...? | |||
11:28
xinming joined
|
|||
masak | of all the weird container classes we have in Perl 6, Set is by far the least useless, IMO. | 11:28 | |
FROGGS | hmmm | 11:29 | |
maybe I am thinking of BagSet? | |||
shachaf | Is Set a... Set? That doesn't sound very weird. | 11:31 | |
FROGGS | damn, my braino sucks | 11:32 | |
masak | shachaf: sorry, what? | 11:33 | |
FROGGS | masak: github.com/perl6/roast/commit/0359...ab4d16c405 | ||
masak looks | |||
FROGGS | it was Seq, not Set -.- | ||
diakopter | r: ; | ||
masak | oh, Seq! | 11:34 | |
shachaf | Never mind. | ||
FROGGS | timotimo should have said: Did you mean Seq? | ||
:P | |||
masak | FROGGS: I feel much less confused and apprehensive now. | ||
camelia | rakudo ef73eb: ( no output ) | ||
diakopter | wait, I thought you were timotimo | ||
FROGGS | ? | ||
diakopter | kidding, nm | ||
FROGGS | hehe | ||
okay | 11:35 | ||
*g* | |||
masak | surely not, the Levenshtein distance between "FROGGS" and "timotimo" must be huge. | ||
moritz | just 7, if you discount case | 11:36 | |
FROGGS | O.o | 11:37 | |
masak .oO( "I'm a PC" -- "I'm a Mac. I discount case." ) | |||
diakopter | both Mac and PC discount case | 11:38 | |
by default | |||
masak | oh, that is true. | 11:39 | |
masak hugs Unix | 11:40 | ||
oh btw. | |||
I have a Perl 6 day today. | |||
my plan: *finish* the t2 reviewing. blog about the #masakism course. blog about t2. | 11:41 | ||
(yeah, $work is finally easing up.) | |||
moritz | \o/ | 11:42 | |
11:45
xinming left
|
|||
daxim | masak, here's a prediction: 4c6348acc9ce3d37ff5930209fe2eb602db64d91 I will reveal it later. this hash proves I have made the prediction at this time | 11:45 | |
masak | daxim: whatever that is, using a SHA-1 for that is pretty cool. | ||
daxim: though SHA-1 is cracked enough for that to be exploitable, you know that, right? :P | 11:46 | ||
11:46
xinming joined
|
|||
daxim | everyone's free to try to crack it within the time frame it becomes moot. you hear that, echelon? | 11:46 | |
masak | daxim: in any case, I'm now very curious. :) | 11:47 | |
11:47
rindolf left
|
|||
masak | daxim: what's the time frame? when will you tell us? or is that part of the secret? | 11:47 | |
masak .oO( or can't you tell us that *either*?! ) | 11:48 | ||
daxim | later | ||
arnsholt | I'm thinking perhaps a git commit? | ||
masak | yeah. or any git object. | 11:50 | |
11:52
kaleem joined
|
|||
moritz used the sha-1 trick for his iterated prisoner's dilemma strategy | 11:52 | ||
masak | daxim++ moritz++ | ||
moritz | masak: have you heard of zero-knowledge proofs? | 11:53 | |
masak | sounds familiar. | ||
masak reads on Wikipedia | 11:54 | ||
moritz | mathoverflow.net/questions/22624/ex...2628#22628 this is a very intuitive example | 11:55 | |
masak | I love the world we're living in. I can literally search for anything within the span for five seconds. | ||
nwc10 | but likely you can't find details of anything minor that happened more than 10 years ago | ||
11:55
rindolf joined
|
|||
nwc10 | (which is frustrating) | 11:56 | |
moritz | it only works for the body of "common knowledge". Luckily that's rather big, and growing | 11:57 | |
but once you look for very specific stuff (heat conductivity of a certain alloy, for example) you quickly run into its limits :-) | |||
11:58
tgt joined
|
|||
nwc10 | or historical news reports on terrorist bombs that caused no casualties | 11:58 | |
masak | well, it just so happens that I'm not finished with all the common knowledge yet! :P | ||
masak .oO( don't rush me! ) | 11:59 | ||
moritz | and the common knowledge probably grows faster that any single human can learn it | ||
FROGGS | there is a new problem, the available information will become to big at some point so one might isn't able to find what you want | ||
s/you/one/ | |||
12:00
pupoque left
|
|||
moritz | FROGGS: search engines seem to handle that nicely, and they'll also continue to progress | 12:00 | |
12:00
pupoque joined
|
|||
dalek | kudo/nom: 2dca6ed | (Brent Laabs)++ | src/ (5 files): rename class IO to IO::Handle, tag IO subclasses with base class IO |
12:02 | |
kudo/nom: 5630ceb | moritz++ | src/ (5 files): Merge branch 'nom' of github.com/labster/rakudo into nom |
|||
kudo/nom: 37c9956 | moritz++ | src/core/ (3 files): make IO a role |
|||
FROGGS | moritz: I hope so | ||
dalek | ast: b60b89b | moritz++ | S (2 files): chase some IO -> IO::Path spec changes |
12:05 | |
masak | FROGGS: there's a Swedish SF short story about how the Web evolves into the (galactic) Snarl, so enourmously huge that anything that you could conceivably think of has already been put online. | ||
FROGGS: hammer mindlessly on your keyboard and hit search? hundreds of beings have already written *poems* with exactly those random letters in them. | |||
it's a nice story. kinda makes one think. :) | 12:06 | ||
12:12
skids left
|
|||
cognominal | masak: sounds like en.wikipedia.org/wiki/The_Garden_of...king_Paths | 12:15 | |
someday I will learn spanish just to learn Borges in the text | 12:16 | ||
masak | sounds like a plan :) | 12:17 | |
12:18
kaleem left
|
|||
cognominal | In fact the title, I searched is en.wikipedia.org/wiki/The_Library_of_Babel | 12:18 | |
Nom- | man parrot is so slow | 12:21 | |
:P | |||
12:21
pupoque left
|
|||
cognominal | The library of babel is a metaphor for the modern world where we are flooded by meaningless information, and if the information makes senses, it is not accurate. | 12:22 | |
12:24
kaleem joined
|
|||
Nom- | Method 'compunit_mainline' not found for invocant of class 'HLL::Backend::JVM' <-- anyone know if that's new? | 12:26 | |
moritz | Nom-: I haven't heard it before. What did you do to trigger that error? | 12:28 | |
FROGGS | Nom-: is that when building nqp-jvm? note: there is no rakudo-jvm yet | 12:30 | |
12:32
Targen left
12:40
gtodd1 is now known as gtodd
|
|||
Nom- | Yeah it is | 12:43 | |
It looks like it builds the files I wanted anyway... just bombs out with that error immediately after | 12:44 | ||
12:46
FROGGS left,
pupoque joined
12:50
Targen joined
|
|||
masak | "Not only did he arguably invent the hypertext novel—Borges went on to describe a theory of the universe based upon the structure of such a novel." en.wikipedia.org/wiki/The_Garden_of...king_Paths | 12:52 | |
whoa. | |||
cognominal | masak: I knew you would like it | 12:55 | |
12:56
PacoAir joined
|
|||
masak | it sounds familiar. I've started in on Borges, and probably heard the name of that novella. but I haven't read it. | 12:57 | |
13:01
FROGGS joined
13:10
SamuraiJack_ left
13:13
colomon left
|
|||
masak | '"Edelweiss" is not the national anthem of Austria, but is in fact an original composition created for the musical The Sound of Music.' -- en.wikipedia.org/wiki/List_of_comm...onceptions | 13:13 | |
I think this channel might be the most informed IRC channel wrt that very misconception :P | |||
(at least about "Edelweiss" not being the national anthem of Austria) | 13:14 | ||
13:19
colomon joined
|
|||
daxim | www.youtube.com/watch?v=TLVIICWRbjM # your earworm for the rest of the day | 13:27 | |
13:31
Targen left
13:41
skids joined
13:58
baest left
14:00
sizz left
14:01
sizz joined,
araujo joined
|
|||
masak | daxim: what I don't even | 14:03 | |
daxim | I hear it was fab | ||
back then. | |||
masak | today's autopun: twitter.com/ceterum_censeo/status/...1292022786 | 14:07 | |
14:14
xilo left
14:19
dickinsm left
14:27
Targen joined
14:34
xilo joined
|
|||
masak | this t2 solution scares me a little. | 14:36 | |
14:36
daxim left,
daxim_ joined
|
|||
arnsholt | In a good way or a bad way? =) | 14:36 | |
masak | in a good way. | 14:37 | |
arnsholt | Excellent! | ||
masak | two things: (a) first off, this person knows how to code Perl 6. the improvement from year to year is noticeable. | 14:38 | |
(b) also, the solution does it hard-core with grammar derivations. | |||
I get the feeling that this *program* knows more about grammars than I do! | |||
arnsholt | =D =D | ||
14:40
census joined
14:41
tgt left
14:44
pupoque left
14:48
kaare_ joined
|
|||
[Coke] wonders how you'd use grammars on t2, and eagerly awaits the solution. | 14:52 | ||
14:53
census left
14:54
tgt joined
|
|||
masak | oh, I meant 'grammar production rules' in a very loose sense. as data structures and algorithms. | 14:55 | |
14:55
FROGGS left
|
|||
masak | and here's a haiku it just produced: | 14:55 | |
sheep hide at bad rains | |||
bitterly modest slumber | |||
its star to their rains | |||
masak weeps happily | |||
cognominal | t2? | ||
14:55
kaleem left
|
|||
masak | cognominal: once upon a time, I ran a contest. | 14:55 | |
I'm not done reviewing the solutions yet... | |||
cognominal: strangelyconsistent.org/blog/the-20...ng-contest | 14:57 | ||
arnsholt | masak: Oh, it uses something like a CFG to generate? That's very cool! | 14:58 | |
14:58
thou joined
|
|||
moritz looks forward to seeing that solution | 15:01 | ||
masak | seriously, I could just spend the rest of the day pasting haikus on the channel. | 15:02 | |
I think I'll collect them into a gist instead... :) | |||
arnsholt | Or if you finish the reviews, you can post the code and we can generate them indefinitely =D | 15:05 | |
masak | "darkness of white birds". wow. | ||
arnsholt | Might be a cool little Perl 6 demo webapp, actually =D | ||
masak | gist.github.com/masak/5452839 | ||
I'll keep filling that gist during the day :) | |||
another thing: never have I been so tempted to supply my *own* solution to one of the problems. | 15:07 | ||
knowing the best tricks of all the contestants' solutions. | |||
I may still do that, in fact. | |||
not to the contest, mind. even if I were eligible, the contest is closed ;) | |||
kresike | bye folks | 15:09 | |
15:09
kresike left
15:10
frdmn left
15:11
FROGGS joined
15:22
census joined
|
|||
masak | moritz: "achy force dentist" :) | 15:22 | |
masak now has a full set at gist.github.com/masak/5452839 | |||
moritz can see the fun in reviewing | 15:29 | ||
[Coke] | edgar's definitely read better. | 15:30 | |
as doo vvoor's. | 15:31 | ||
er, "as doo vvoorr's" (compared to mine, anyway) | |||
I wonder if anyone else is calculating syllable length or if they are storing that in their lexicon. (or if that's even allowed, I don't even remember anyway) | |||
*anymore | |||
masak | anything's allowed, including generating the same static haiku each time. | 15:32 | |
[Coke] | "mimmood dispeople deed" ? Guess I should have done more than ack'd through /usr/share/dict/words . ;) | 15:33 | |
15:34
pupoque joined,
daxim_ left,
sjohnson left
|
|||
masak | :) | 15:35 | |
the two significant axes seem to be (a) speed and (b) quality/haiku-ness. | 15:36 | ||
[Coke] | ugh. Guess I lose on both. | ||
masak | well, your solution isn't among the fastest. | 15:37 | |
GlitchMr++ and moritz++ tie on speed. | |||
[Coke] | please note that my solution gets faster if you run it more than once. ;) | ||
masak | :) | ||
[Coke] | (but not much faster, no doubt.) | ||
masak | around 20 seconds each time, here on my laptop. | ||
[Coke] | the main thing to like about my solution is that it led to a module in the ecosystem, I think. | 15:38 | |
masak | yeah. | ||
me too. | |||
15:38
pupoque left
15:39
pupoque joined
15:40
iacob joined,
pupoque left
15:42
rindolf left
15:46
Targen left
15:49
rindolf joined
15:50
MrMeek joined
15:52
MrMeek-afk left
|
|||
timotimo | in some places p6 reminds me a little bit of LINQ. | 16:02 | |
yoleaux | 22 Apr 2013 20:45Z <japhb_> timotimo: re: irclog.perlgeek.de/perl6/2013-04-22#i_6733138 you might be able to co-opt some of the logic perl6-bench uses to build multiple versions of each compiler. It puts special effort into keeping only *one* network-updated clone of each repo (rakudo, nqp, parrot, etc.), and doing carefully-handled local clones to make it really fast to create and build a new, independent rakudo that can coexist with … | ||
the others. | |||
moritz | qiao.github.io/PathFinding.js/visual/ | 16:06 | |
16:10
Targen joined
|
|||
masak | srsly, we should have a ".classify Awareness Day" or something. | 16:11 | |
16:15
Chillance joined
|
|||
dalek | : 60c68f2 | (Tobias Leich)++ | STATUS.md: sorted by pass/plan |
16:16 | |
16:17
Subterra is now known as Ayiko
|
|||
pmichaud | good morning, #perl6 | 16:19 | |
cognominal | \o/ | 16:20 | |
PerlJam | greetings Pm | ||
masak | pmichaud! \o/ | 16:21 | |
16:22
supernovus joined
|
|||
timotimo | (although i didn't use LINQ yet, ever) | 16:22 | |
16:23
FROGGS left
16:34
SmokeMachine joined
16:44
FROGGS joined
16:45
silug left
|
|||
supernovus | Has there been any news from llamarider about refactoring the Timezone portion of DateTime? I'd be willing to do it in my spare time. I could also write a Perl 6 equivalent of DateTime::TimeZone, built with the new model in mind. | 16:45 | |
FROGGS | I havn't heard anything | 16:46 | |
16:48
REPLeffect joined
16:53
PacoAir left
|
|||
FROGGS | jnthn: I take that as the approve to allow all of v5.* for Perl5 ('v' required as opposed to my earlier patch): irclog.perlgeek.de/perl6/2013-03-23#i_6621432 | 16:54 | |
17:00
SamuraiJack_ joined
17:01
dakkar left
|
|||
GlitchMr | <masak> [15:37:17] GlitchMr++ and moritz++ tie on speed. | 17:03 | |
Why I've a feeling it's because my entry had insanely short dictionary... | |||
Actually I wonder how would it work with bigger dictionary... | 17:04 | ||
(also, it didn't even tried to make anything good) | 17:05 | ||
dalek | : 3c28e27 | (Tobias Leich)++ | STATUS.md: remove debug out, fix "features" typo in grammar |
17:06 | |
17:06
silug joined
17:07
PacoAir joined
17:11
amkrankruleuen left,
lizmat left,
woolfy left
17:14
lizmat joined
17:16
woolfy joined
|
|||
pmichaud | did the qrpa (de)serialization code ever make it into nqp master? | 17:33 | |
I might have some short burts of tuits in the next couple of weeks, and could spend some on improving lists if that's beend one. | |||
*been done | |||
I'm not particularly interested in the whole set of RPA->QRPA conversions in one massive commit, though; I'd prefer to see the serialization features added+tested, then gradual commits to move RPA->QRPA with adequate testing. | 17:34 | ||
17:34
ggoebel left
|
|||
jnthn | pmichaud: I suspect it's already handled. If it's not, it's probably a 10-15 minute job for me. | 17:34 | |
pmichaud | I know someone was working on it in a branch. | 17:35 | |
jnthn | In fact, I can check... | ||
pmichaud | when I last looked at QRPA last summer, it wasn't being handled. | ||
supernovus | Okay, I have $*TZ as an integer, representing the local offset rather than a Callable object. It now seems to return the proper offset in negative time zones. Is there any reason to keep support for using Callable objects as the Timezone? | ||
17:35
ggoebel joined
|
|||
jnthn | pmichaud: Serialization? | 17:35 | |
masak | supernovus: no. | ||
pmichaud | jnthn: serialization, yes. | ||
masak | supernovus: please remove all traces of such nonsense :) | ||
supernovus: posterity will thank you ;) | |||
jnthn | pmichaud: Do you have an indication of what failed to work? | ||
PerlJam | supernovus: In what unit of time is $*TZ expressed? | 17:36 | |
pmichaud | when I started converting serialized things to use qrpa instead of rpa, bootstraps failed | ||
the main one was to convert List in rakudo to use QRPA instead of RPA | 17:37 | ||
just a sec, I may be able to find a one-line patch | |||
supernovus | PerlJam: seconds | ||
jnthn | pmichaud: Ah...yeah, the serializer doesn't handle it. | 17:38 | |
supernovus | It shows my Timezone as -25200 for instance. I'm planning to make friendly offset wrappers for returning the value in hours:minutes format. | ||
jnthn | But I can fix that really easy | ||
Even on the train :) | |||
pmichaud | jnthn: that would be awesome. | ||
PerlJam | supernovus: seconds is just fine by me :) | 17:39 | |
pmichaud | I won't need it immediately; I just noticed yesterday that I had some pockets of potential hacking time where I could've played with that. | ||
(I played with other p6-stuff instead) | |||
anyway, if someone can get QRPA to play well with serialization, it unblocks me on a couple of items :) | |||
PerlJam | pmichaud: what p6-stuff is on your radar these days? | ||
pmichaud | PerlJam: some nqp-jvm stuff, Lists, and various small performance improvements and code cleanups | 17:40 | |
well, "small performance improvements" in the sense of "small code changes that might have large impacts" | |||
with emphasis on "might" :) | |||
dalek | rl6-roast-data: a8eab0a | coke++ | / (4 files): today (automated commit) |
17:41 | |
pmichaud | also I'll want to find time to prepare my yapc::na talks :) | ||
PerlJam | as long as you're having fun :) | ||
TimToady attempts to fuzz into existence again, hopefully this time without a relapse... | |||
yoleaux | 19 Apr 2013 11:53Z <FROGGS> TimToady: Should the grammar switch to Peril5 too if it detects a 'use 5.10', rather just for a 'use v5' ? | ||
09:27Z <FROGGS> TimToady: Should the PairSet type go too is Set gets removed? perlcabal.org/syn/S02.html#line_1902 | |||
pmichaud | PerlJam: I don't have time for anything else :) | ||
diakopter | TimToady: wb | 17:42 | |
TimToady notes the Set vs Seq confusion | |||
pmichaud | TimToady: \o/ | ||
[Coke] | TimToady: hio! | ||
supernovus | I guess this means all the saved-offset stuff is unneeded too, which will make it slightly cleaner. | 17:43 | |
jnthn | pmichaud: Compiling a patch now. This will let you make progress, though they'll come back as RPAs. | ||
pmichaud | jnthn: okay. will be a lot nicer when they can come back as QRPAs :) | 17:44 | |
jnthn | pmichaud: I can correct that, but that's a bit of an all-or-nothing, so we may want to convert the rest. | ||
And then switch the deserialization over. | |||
pmichaud | oh, you'll have everything convert back to an RPA? | ||
sorry, QRPA? | |||
hmmmm | |||
okay, I think I can live with that. | |||
jnthn | pmichaud: At the moment I'm just doing the "serialize QRPAs as if they were RPAs" | 17:45 | |
[B[A | |||
...darn tunnels. | |||
pmichaud | jnthn: okay, I can work with that. | ||
jnthn | pmichaud: I can switch over the deserialization when you wish. | 17:46 | |
pmichaud | it may all be temporary-ish anyway :) | ||
to be replaced by VMarray or somesuch | |||
jnthn | Yeah, well, VMArray on JVM has the same algorithm as QRPA | ||
TimToady | .oO(tunnel carps) |
||
jnthn | Ah well, the train is heading to Skaane, which is too flat for tunnels... :) | ||
pmichaud | okay, I need to grab lunch here -- bbl. | 17:47 | |
TimToady | London's pretty flat, but that doesn't stop 'em... | ||
jnthn | ;) | ||
To be fair, there is a huge tunnel under Malmo too. But I ain't going there today. | |||
pmichaud quantum tunnels to a lunching place. | |||
jnthn | bah, I thought my QRPA serialization fix had busted some tests, then realized I had just built nqp-jvm instead of nqp-parrot... :) | 17:48 | |
dalek | p: 0e0428a | jonathan++ | src/vm/parrot/6model/serialization.c: Enable serialization of QRPA. Comes back as an RPA; can switch that over when we're ready. |
17:54 | |
[Coke] wonders if the serialization is the same if you're on nqp-jvm vs. nqp-parrot | 18:04 | ||
jnthn | [Coke]: Same format, yes. | ||
The JVM implementation is, in some senses, a bit simpler because everything is a 6model object. | 18:05 | ||
18:08
cognominal left
|
|||
supernovus | Anyone here work for the Perl Foundation, or has any way to know if they received my CLA? | 18:08 | |
[Coke] | Sort of, but no. | ||
18:08
cognominal joined
|
|||
[Coke] | ISTR pmichaud has keys to see those. | 18:08 | |
18:13
tgt left
|
|||
dalek | ecs: 5692ced | (Timothy Totten)++ | S32-setting-library/Temporal.pod: Updated Temporal reflecting Int-only Timezones. |
18:23 | |
timotimo | jnthn: are you integrating the QRPA work into nqp? | 18:24 | |
could any of the work froggs and me did get salvaged? | |||
[Coke] | timotimo: Ints? | ||
what about India? | |||
masak | TimToady! \o/ | 18:25 | |
[Coke] | oh, it's in seconds, not hours. | ||
nwc10 | [Coke]: India isn't quirky enough. Think Nepal | ||
[Coke] | that seems LTA. | 18:26 | |
supernovus | So, given I have no read/write access to Rakudo at the moment (no idea if my CLA ever reached TPF, I never heard anything back from them), do I just submit a [PATCH] to [email@hidden.address] ? | 18:28 | |
timotimo | PR on github | ||
is easiast | |||
nwc10 | and `git format-patch` is probably better than just a [PATCH] (but Pull Request is best) | 18:29 | |
sorear | supernovus: You need a CLA only before you can apply for direct commit access. All other channels for submitting code do not require one | ||
timotimo | and [PATCH] is better than pasting the diff into IRC line by line | 18:30 | |
supernovus | sorear: Yeah, I have submitted patches before. Prior to this it was always done via 'git format-patch' and emailing it to a bug tracker. The pull request method seems a lot friendlier. | ||
[Coke] | pull requests work. | ||
18:30
iacob left
|
|||
[Coke] | when we first switched to git there was resistance, but I think we've had quite a few things applied via pull request in the past years. | 18:31 | |
FROGGS | * TimToady notes the Set vs Seq confusion <---- Ya, was just a braino of mine :( | 18:34 | |
jnthn: I take that as the approve to allow all of v5.* for Perl5 ('v' required as opposed to my earlier patch): irclog.perlgeek.de/perl6/2013-03-23#i_6621432 | 18:35 | ||
jnthn: so I'll patch the grammar these days with a required 'v' | 18:36 | ||
jnthn | FROGGS: wtfm | ||
*wfm even | |||
FROGGS | that is some sort of 'yes' ? :o) | 18:37 | |
jnthn | "works for me" :) | ||
(as in, I've no objections) | 18:38 | ||
FROGGS | ya, just wanted to make sure *g* | ||
supernovus | There, pull request sent. | ||
dalek | : 64cdca0 | (Tobias Leich)++ | STATUS.md: "proper" fix "use feature", it still does nothing though |
18:39 | |
lizmat | TimToady: since the "use" functionality in Perl 6 is conceptually very different from "use" in Perl 5, I was wondering whether we shouldn't have another name for it in Perl 6 | 18:43 | |
because grokking "use" in Perl 6 is going to be hard to Perl 5 programmers | 18:44 | ||
I was thinking about "enjoy" as an alternative to "use" | |||
enjoy |ɪnˈdʒɔɪ, ɛn-| verb | |||
1 take delight or pleasure in (an activity or occasion): | |||
2 possess and benefit from: | |||
enjoyer noun | |||
FROGGS | uhhh | 18:45 | |
if we ever want to have a 6.0.0 we shouldn'z change things just because it may be hard when coming from "another language" | 18:46 | ||
and for me "use" is pretty much the same "use" of perl 5 | |||
lizmat | "use" in Perl 5 leaks, and Perl 5 programmers are used to that | 18:47 | |
FROGGS | for me that is more in the category of doing things right | ||
lizmat | leaks outside the lexical scope it is called in | ||
FROGGS | same goes for eval | ||
lizmat | indeed… | 18:48 | |
FROGGS | ... not about the scope, but about "doing things right" and "beeing very different to perl5" | ||
because perl5's eval is a misused try/catch | |||
lizmat | agreed, and modern Perl users already use Try::Tiny and its ilk | 18:49 | |
so are already used to doing "try" versus a block eval | 18:50 | ||
flussence | ...use in v6 is already specced with a way to put stuff in the outer scope, it's just NYI | ||
FROGGS | flussence: how? | ||
lizmat | anyways, "enjoy" was just a thought that maybe good for an April Fool's joke if nothing else :-) | ||
FROGGS | use Module :OUR or something like that? | ||
lizmat++ # :o) | 18:51 | ||
lizmat | and we all know that April Fool's jokes can come back to bite you :-) | ||
flussence | lemme find it, I know it's there because I've wanted to use it several times myself... | ||
S11:132 | 18:52 | ||
use ... :EXPORT | |||
18:53
tgt joined
|
|||
[Coke] | we now have 9 outstanding pull requests. | 18:54 | |
jnthn | Languages tend to re-use old words for new concepts. | ||
When there's a clear connection. | |||
I think there is in the case of "use" | |||
flussence | .oO( and at the opposite end of the scale, we have Rust... ) |
||
FROGGS | right, it would be a big surprise if there wasnt this 'use' in perl6 | ||
jnthn | You, uh, use it for the same purposes, even if the semantics are - depending on your standpoint - a little or a lot different. | ||
pmichaud | "enjoy" reminds me of Coca-Cola, now that I think about it. :-) | 18:58 | |
jnthn | But module use is generally considered healthy ;) | ||
FROGGS | coca-cola is good for cleaning | 18:59 | |
jnthn: I'd like you to show you a diff, but you must promise not to cry, okay? | 19:00 | ||
jnthn: gist.github.com/FROGGS/59b7f7a890381005eda7 | |||
jnthn: please have a look at the way I pass the adverbs around... I think it maybe be nicer to pass a hash, instead of named optionals... | 19:01 | ||
(ignore the version thingy and the Perl5 hardcoded bit) | |||
huf | ljhlksdhfkjh <- nice name :) | 19:02 | |
pmichaud | "adopt" "play" "borrow" "opt" "tap" | ||
FROGGS | and pushing things inside :form(XXX) as -M isnt nice too, won't push that way | ||
19:02
jaffa4 left
|
|||
FROGGS | huf: well, that is for debugging only :o) | 19:03 | |
huf | :) | ||
FROGGS | huf: but it does its job well | ||
huf | as long as nobody actually defines that method | ||
some little terrorist ;) | |||
(if i understood the code correctly) | |||
FROGGS | huf: this will never be comitted | ||
huf | so the terrorist is you? :) | 19:04 | |
FROGGS | hehe, ya, maybe :o) | ||
moritz | lizmat: I don't think 'use' is all too different in p5 and p6 | 19:05 | |
pmichaud | "load" :-P | ||
FROGGS | jnthn + pmichaud: and we maybe should have to think about what :from() should actually do, even for the nqp case | ||
I could image that there is an nqp module, which only adds the nqp lib dirs | |||
lizmat | moritz: the strict lexicalness of -use- in Perl 6 is going to trip up many Perl 5 developers | 19:06 | |
moritz | lizmat: 'use' isn't strictly lexical | 19:07 | |
lizmat: it's subroutine lookup that's strictly lexical | |||
pmichaud | I suspect P5 devels will get tripped up by more than just "use" :) | ||
FROGGS | lizmat: how often does one 'use' a module within a block in perl5? | ||
19:07
berekuk joined
|
|||
lizmat | together with the NYI fact that you can have multiple versions "online" | 19:07 | |
moritz | lizmat: and no matter what the rename the 'use' statement to, the lexality of the subroutine lookup will trip up p5 programmers | 19:08 | |
lizmat | you wouldn't, but you would expect any submodules to be able to access anything that a main module would have loaded | ||
supernovus | Okay, so I've updated Rakudo, and the specs, now I'll update the spec tests to make sure they are using Int-only timezone offsets. | ||
gtodd | maybe using v6's use will be a way to learn to use v6 ... | ||
lizmat | perhaps… | ||
gtodd | so use will be useful | ||
usually | 19:09 | ||
FROGGS | use-ually? | ||
lizmat | moritz: so what isn't strictly lexical, then? | ||
moritz | lizmat: type name lookups, for example | ||
lizmat tests | 19:10 | ||
moritz | r: { use Test }; say Test | ||
camelia | rakudo 37c995: OUTPUT«(Test)» | ||
moritz | r: say Test | ||
camelia | rakudo 37c995: OUTPUT«===SORRY!===Undeclared name: Test used at line 1» | ||
lizmat | this is according to spec? | 19:11 | |
moritz | yes | 19:12 | |
masak | type names are global, yes. | ||
moritz | type declarations are 'our' by default, and the 'our' worlds from modules and mainline are merged at 'use' time | ||
though of course nothing stops you from writing my class Flurb is export { ... } | 19:13 | ||
lizmat | rn: say Test; { use Test } | ||
camelia | rakudo 37c995: OUTPUT«===SORRY!===Undeclared name: Test used at line 1» | ||
..niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===Undeclared name: 'Test' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37)  at /home/p… | |||
lizmat | khmmm... | 19:14 | |
FROGGS | lizmat: it checks for names at compile time too | ||
lizmat | I guess it does :-) | ||
FROGGS | rn: say ::('Test'); { use Test } | ||
camelia | rakudo 37c995: OUTPUT«(Test)» | ||
..niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Niecza.StashCursor.Core (System.String key, Boolean final, Niecza.StashCursor& sc, Niecza.Variable& v, Niecza.Variable bind_to) [0x00000] in <file… | |||
supernovus | Well, looks like none of the spec tests for Temporal used Callable timezone's anyway. :-) | 19:15 | |
FROGGS | \o/ no tests no fails \o/ | ||
19:16
alester joined
|
|||
raiph | #perl6 and #p6p5 take on cpanish metacpan.org/module/Pinto and stratopan.com/ ? | 19:16 | |
labster | good morning, all you happy perl 6 people | 19:18 | |
moritz | I don't understand what stratopan is | 19:19 | |
is it a code hosting service? | |||
FROGGS | good morning labster :o) | ||
19:19
kaare_ left
|
|||
moritz | or more of a SaaS thing, like heroku? | 19:20 | |
PerlJam | moritz: I thought it was a cloud-based CPAN | ||
moritz | but isn't CPAN already cloud-based? | ||
gtodd | history question: did perl5 modules used to use more XS (for speed) and then evolve gradually to a more "pure perl" implementation as cpus evolved ? | ||
moritz | I mean, it has lots of mirrors, and I don't care who hosts them. Which is quite cloudy to me | ||
PerlJam | gtodd: I don't think XS existed when CPAN was first created. | 19:21 | |
moritz | gtodd: I don't think so | ||
lizmat | gtodd: I think the reverse, actually, as initialiy XS was used to interface with external libraries (e.g. DBI) | ||
gtodd | ah yes of course ... just wondered if the early gains by using XS were outdone by the gains in portability maintainability of pure perl | 19:22 | |
raiph | moritz: only just saw stratopan. aiui it's a SaaS pinto. | ||
gtodd | and if something similar will happen with various vms, parrot, perl6 implementations ... | 19:23 | |
raiph | moritz: for pinto checkout metacpan.org/module/Pinto::Manual::Introduction | ||
FROGGS | gtodd: but you must keep in mind that when XS was new, the build target was just unixish | 19:24 | |
19:26
domidumont left
|
|||
labster | moritz: thanks for fixing and merging my patch | 19:28 | |
moritz | labster: thanks for providing it in the first place :-) | ||
labster | I had a feeling you were wanting it | 19:29 | |
moritz | indeed | 19:32 | |
19:33
SamuraiJack_ left
|
|||
supernovus kicks off "make spectest" | 19:34 | ||
pmichaud | /kick make spectest | ||
supernovus | ;-) | ||
guh apparently I need to rebuild the CORE.setting first... | 19:35 | ||
19:37
dmol joined
|
|||
masak | rn: my $foo = { leave 42 }; say $foo | 19:42 | |
camelia | niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===Undeclared routine: 'leave' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37)  at /ho… | ||
..rakudo 37c995: OUTPUT«===SORRY!===Undeclared routine: leave used at line 1» | |||
masak | huh. why don't we have 'leave' yet? | ||
flussence | rn: my $foo = { LEAVE 42 }; say $foo | 19:43 | |
camelia | niecza v24-37-gf9c8fc2: OUTPUT«{ ... }» | ||
..rakudo 37c995: OUTPUT«Block.new()» | |||
jnthn | masak: 'cus we don't have eats and shoots yet... | 19:44 | |
PerlJam | why don't we have labels yet? | ||
[Coke] | my $foo = { take 42 } ; say $foo | ||
r: my $foo = { take 42 } ; say $foo | |||
camelia | rakudo 37c995: OUTPUT«Block.new()» | ||
[Coke] | r: my $foo = { take 42 } ; say $foo() | ||
camelia | rakudo 37c995: OUTPUT«take without gather in block at src/gen/CORE.setting:452 in block at src/gen/CORE.setting:502 in block at /tmp/58LPE6Tx2J:1» | ||
[Coke] | r: my $foo = { make 42 } ; say $foo | ||
camelia | rakudo 37c995: OUTPUT«Block.new()» | ||
[Coke] | r: my $foo = { make 42 } ; say $foo() | ||
camelia | rakudo 37c995: OUTPUT«Cannot bind attributes in a type object in sub make at src/gen/CORE.setting:10941 in block at /tmp/1DlDly76Vr:1» | ||
timotimo | rn: my $crit = 1; my $state = ("fleets" => ((:owner_id(1), :target(2), :eta(3)).hash, (:owner_id(1), :target(3), :eta(4)).hash)); $state<fleets>.grep(*.<owner_id> ~~ $crit).perl.say; | 19:47 | |
camelia | niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Cannot use value like WhateverCode as a number at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting line 293 (Any.Numeric @ 6)  at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.se… | ||
..rakudo 37c995: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \v: Mu *%_) in method Numeric at src/gen/CORE.setting:865 in sub infix:<==> at src/gen/CORE.setting:3008 in sub infix:<==> at src/gen/CORE.setting:3006 in method ACCEPTS at src/gen/CORE.setting:2… | |||
masak | PerlJam: that is another good question. | 19:48 | |
timotimo | rn: say 5 ~~ 5; | ||
camelia | rakudo 37c995, niecza v24-37-gf9c8fc2: OUTPUT«True» | ||
timotimo | rn: (1, 2, 3, 4).grep(is-prime *).perl.say | ||
camelia | rakudo 37c995: OUTPUT«No such method 'Int' for invocant of type 'Whatever' in sub is-prime at src/gen/CORE.setting:3456 in sub is-prime at src/gen/CORE.setting:3451 in block at /tmp/cVKax5PLLL:1» | ||
..niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Unable to resolve method Int in type Whatever at /home/p6eval/niecza/lib/CORE.setting line 3965 (is-prime @ 4)  at /tmp/hiqMKyUaxa line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3)  at /home/p6… | |||
timotimo | rn: my $crit = 1; my $state = ("fleets" => ((:owner_id(1), :target(2), :eta(3)).hash, (:owner_id(1), :target(3), :eta(4)).hash)); $state<fleets>.grep({ $_.<owner_id> ~~ $crit}).perl.say; | 19:49 | |
camelia | niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Cannot use hash access on an object of type Pair at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting line 352 (Any.at_key @ 9)  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/3byo44i2td line 1 (mainli… | ||
..rakudo 37c995: OUTPUT«Nominal type check failed for parameter ''; expected Any but got Mu instead in sub infix:<===> at src/gen/CORE.setting:1741 in method ACCEPTS at src/gen/CORE.setting:1334 in method ACCEPTS at src/gen/CORE.setting:683 in block at /tmp/vmZMTZV2v5:1»… | |||
timotimo | huh | ||
not sure what's going on | |||
FROGGS | diakopter: about the spec list, I am doing S10 now locally | 19:50 | |
PerlJam | huh. Just got "maximum recursion depth exceeded" trying to build rakudo | 19:52 | |
masak | it's Rakudos all the way down. | 19:53 | |
19:53
iacob joined
|
|||
PerlJam | gist.github.com/perlpilot/5455046 | 19:54 | |
look familiar to anyone? | |||
FROGGS | hmmm, syntax error | ||
19:55
DreamingInCode joined
|
|||
PerlJam | doh! never mind. Apparently I had some unstaged changes. | 19:55 | |
jnthn | Battery flat, but nearly home anyway...bbiab & | 19:56 | |
PerlJam | (toying with getting rakudo to grok PERL6OPT just like p5 does with PERL5OPT and forgot my changes were still there) | 19:57 | |
19:59
Chillance left
20:05
tgt left
20:11
nebuchadnezzar joined
20:15
tgt joined
|
|||
masak | out of 7 submissions, 4 manage to agree with me on the definition of "syllable". | 20:17 | |
or manage to implement it correctly, to be exact. | |||
...so I guess the trap worked on this one. :) | |||
(making a difficult subproblem look trivial in the task) | 20:18 | ||
supernovus | Gah, there is a Callable timezone in the spec tests. I shall kill it with fire. | 20:23 | |
PerlJam | Why did we have Callable timezones in the first place? | 20:25 | |
[Coke] | masak: I wonder if I am one of the ones that did not due to bugs in the initial port of that module. :| | 20:26 | |
supernovus | It was to make TimeZone objects calculate their offsets dynamically. Which is better done in a module than in the core setting, IMHO. | 20:27 | |
masak | [Coke]: no, I counted you twice as "getting it". | ||
[Coke]: so, it's you, you, and two others :P | 20:28 | ||
supernovus: +1 | |||
[Coke] | masak: ... you can't count me twice, can you? | 20:32 | |
oh. I submitted 2x. | |||
20:32
rindolf left
|
|||
masak | right. | 20:33 | |
jnthn back | |||
masak | there's something wrong with your first submission -- it doesn't run -- but that might be Rakudo slippage. | ||
FROGGS | jnthn: do you think there is much to allow proper INIT blocks in nqp? | 20:34 | |
jnthn: this would make my run_export hack obsolete | |||
[Coke] | masak: good thing only the second one counts? | ||
jnthn | FROGGS: NQP already has INIT blocks, no? | 20:35 | |
pmichaud | yeah, NQP has INIT already. | ||
supernovus | Hmm, there's a lot of Callable stuff in here. The reason being that converting between timezones where DST rules may differ requires knowledge of the DateTime in question. | ||
pmichaud | whether it has "proper INIT blocks" is in the eye of the beholder. Or the pumpking. :) | 20:36 | |
FROGGS | jnthn: ya, but they are not re-executed every 'use'/'need' | ||
supernovus | Changing this to a raw Int is going to require some rethinking on how to deal with daylight savings time. :-/ | ||
jnthn | FROGGS: They should not be. | ||
FROGGS | S10:109 tells differently | ||
jnthn | It's importation that happens every time, not loading. | ||
Then we should fix S10. | 20:37 | ||
FROGGS | :/ | ||
pmichaud | S10:109 says "run to run" | 20:38 | |
not on "each load" | |||
20:38
pecastro_ joined
20:39
pecastro left
|
|||
jnthn checks | 20:39 | ||
(to see it in context, to be sure he understands) | |||
FROGGS | hmmm, I see | ||
pmichaud | although in contrast with the previous paragraph, it does make it sound as though it expects INIT to be executed on each 'use' instance. | 20:40 | |
FROGGS changes the spec quick to say "each load" | |||
masak | folks, | ||
jnthn | yes, it says run to run. | ||
pmichaud | FROGGS: no, wait, let's make sure we understand the spec, and how the "varies from run to run" should be interpreted. | ||
masak | t2 reviewing is *finished*. | ||
FROGGS | pmichaud: JOKE | ||
I dont change anything | |||
masak | [Coke]: "only the second one counts"? now where did you read that? :D | 20:41 | |
jnthn | I'm pretty sure a lot of stuff relies on the semantics as Rakudo has them today. Certainly, a lot in NQP does. | ||
lizmat | FROGGS: that's the way INIT works in P5, no? | ||
only when loading... | |||
FROGGS | lizmat: I'm not sure how it works there | ||
pmichaud | jnthn: is there a way to have code in a module that is executed on each 'use'? | ||
masak | [Coke]: "All solutions will be published after the conclusion of the contest. All are up for review." github.com/masak/p6cc2012/blob/master/rules.md | ||
pmichaud | (if so, what is it?) | ||
supernovus | You know, I think I'll pull all of the DST tests out of DateTime.t and move them into DateTime::TimeZone, as the Core setting shouldn't have to know about DST. | 20:42 | |
lizmat | pmichaud: imports? | ||
jnthn | pmichaud: Yes, in Rakudo you write a sub EXPORT() { ... } | ||
FROGGS | pmichaud: making an EXPORT sub does it, but this is only executed if you provide positional imports | ||
jnthn | FROGGS: We could make that more reliable :) | 20:43 | |
FROGGS | jnthn: so that it will be called indeed aways? | ||
jnthn | I mean, it probably wants to receive the positionals but I don't think a lack of them should mean "don't call it" | ||
FROGGS | always* | ||
jnthn | FROGGS: Yeah. | ||
FROGGS | hmmm, sounds pretty good to me | 20:44 | |
jnthn | FROGGS: It feels to me like you write one you expect it to be called :) | ||
*if you write one... | |||
FROGGS | ya | ||
pmichaud | jnthn: yeah, I agree with that. | ||
FROGGS | well, tbh I dont really expect something :o) | ||
\o/ | |||
pmichaud | that feels cleaner-ish than using INIT to do it. | ||
which, returning to FROGGS' initial question ... | |||
lizmat | fwiw, pmichaud++ | 20:45 | |
pmichaud | FROGGS: so, do you need a way to have a module in NQP execute some code on each use/need ? | ||
FROGGS | yes | ||
my Perl5 module, which has to set the current slang | |||
like: { use v5; say $^O }; { use v5; say $^V } | 20:46 | ||
pmichaud | your v5 module is NQP, here? | 20:47 | |
jnthn | I don't think it'd be hard to provide the EXPORT thingy in NQP, fwiw. | ||
pmichaud | I'd think it'd want to be Perl 6. | ||
it could be a thin Perl 6 wrapper around some NQP stuff, if that helps. | |||
FROGGS | pmichaud: it is at the same level like Perl6::Grammar (in fact, it inherits from it) | ||
pmichaud | but as a p6 module, it could easily provide a sub EXPORT (as well as handle other Perl6 integration-type stuff) before handling control off to a NQP-specific portion of the code. | 20:48 | |
20:48
dmol left
|
|||
pmichaud | just a thought. | 20:48 | |
FROGGS | well, that EXPORT sub already does its job | ||
dalek | ast: c07b14a | (Timothy Totten)++ | S32-temporal/ (2 files): Pulled Callable Timezone related tests out, unfudged some tests. |
||
pmichaud | I'll let you and jnthn++ figure out the right abstraction layer for now. :) | 20:49 | |
FROGGS | *g* | ||
pmichaud | somehow I feel a bit better about a p6 wrapper around nqp stuff than going straight to nqp. | 20:50 | |
FROGGS | I'm pretty happy with it atm | ||
pmichaud | depends on how much we want to bury p6 semantics into nqp stuff. | ||
*p6 module semantics | |||
20:52
thou left
|
|||
pmichaud | lizmat: you can see the reality of my earlier comment that S10/S11 stuff tends to be a bit slushy as opposed to definitive :) | 20:53 | |
20:54
MrMeek-afk joined
|
|||
masak | hm, I see `sub nul-byte-workaround($string) { $string.subst(/\x00/, '', :g }` in my blog software code. anyone remember what that was about? something to do with Parrot IO, right? | 20:56 | |
20:56
MrMeek left
|
|||
masak | I find nothing in RT. | 20:56 | |
flussence | oh I remember that one | 20:57 | |
masak | maybe I just got so sick of it at that point that I fixed it but didn't submit a bug report. | ||
masak hits the clogs | |||
20:57
silug left
|
|||
flussence | socket writes or something were padding up to a multiple of 1024, or something like that. | 20:57 | |
masak | I remember the frustration I felt when I discovered it, but nothing else. | ||
it was like "wow, do the Parrot devs deliberately screw with us now or what? :(" | 20:58 | ||
unfair, I know. they're understaffed and doing their best, just like we are. | |||
flussence | found it :D irclog.perlgeek.de/perl6/2013-01-31#i_6399112 | 20:59 | |
masak | just found it too. | ||
right. I was not amused. | |||
20:59
erkan left
|
|||
masak | seems I didn't file a bug report on it. | 21:00 | |
whatever happened to the problem? which Parrot versions have it? do we still need to take action somehow? | 21:01 | ||
I am no longer angry, so I can put some effort into filing/fixing it if that's still needed. | |||
jnthn | masak: Do things break if you remove the hack? | ||
masak | I... I'd prefer to make a test that doesn't involve my blogging software... :) | 21:02 | |
Justin Case. | |||
flussence | my testcase file above there passes | ||
(guess I misremembered, it was *files* that were broken here... sockets were another thing I had a problem with [that got fixed]) | 21:03 | ||
masak | yeah, files. | ||
pmichaud | flussence's test case fails in Rakudo Star 2013.02 | ||
flussence | hm | ||
I'm on 2013.04-9-gef73eb9 | |||
masak | so somehow it got fixed in the meantime, then? | 21:04 | |
pmichaud | I'm thinking it's one of those Parrot IO buggies | ||
masak | yeah. | ||
pmichaud | I know that 5.0.0 had some bugs that were fixed in 5.1.0 | ||
oh, and Rakudo Star 2013.02 was still using 4.10.0, I think. | |||
so it could be a fix from anywhere after 4.10 | |||
FROGGS | jnthn: I updated gist.github.com/FROGGS/59b7f7a890381005eda7 and I almost start to like it | 21:05 | |
masak | ok, but it got fixed. good. | ||
FROGGS | (except line 83) | ||
masak | I still haven't completely understood how Parrot could screw up their IO refactor so. | ||
it's not a refactor if lots of things break. | 21:06 | ||
FROGGS | ENOTENOUGHTESTS | ||
masak | yeahbut | ||
spurious NUL bytes at the end of files? | |||
how is that when what I don't even | |||
oh well. | |||
21:07
silug joined
21:12
skids left
|
|||
supernovus | woo hoo, the spec tests pass with the new DateTime changes. | 21:14 | |
masak | \o/ | 21:19 | |
21:21
thou joined
|
|||
FROGGS | r: gist.github.com/FROGGS/d8f83a939e5c52d5b33c | 21:23 | |
camelia | rakudo 37c995: OUTPUT«===SORRY!===Two terms in a rowat /tmp/sbkCRFKpdh:1------> https⏏://gist.github.com/FROGGS/d8f83a939e5c52 expecting any of: argument list postfix infix stopper infix or meta-infix st… | ||
FROGGS | damn | ||
class myPackage { }; multi CANDO ( myPackage, &:($), $name, *%args) { }; myPackage::("hurz")() | |||
r. class myPackage { }; multi CANDO ( myPackage, &:($), $name, *%args) { }; myPackage::("hurz")() | |||
r: class myPackage { }; multi CANDO ( myPackage, &:($), $name, *%args) { }; myPackage::("hurz")() | 21:24 | ||
camelia | rakudo 37c995: OUTPUT«===SORRY!===invoke() not implemented in class 'QAST::WVal'» | ||
diakopter | FROGGS: gotta be non-private gist | 21:25 | |
FROGGS | ahh, okay | ||
lue | hello world o/ | 21:26 | |
FROGGS | hi lue | ||
lue | .oO(That's completely unfair. Who doesn't like data whose size is a nice round number?) |
21:29 | |
FROGGS | true | ||
lue | (referring of course to the backlog around the top of the hour.) | 21:31 | |
FROGGS | ya, my fellows at work dont understand my excitement when I tell'em: Your userid is 256, coll ehh? | 21:32 | |
lizmat | pmichaud: yes :-) | 21:35 | |
21:35
frdmn joined
21:37
frdmn left,
frdmn joined
|
|||
FROGGS | r: class bar { }; module :: is bar { } | 21:40 | |
camelia | rakudo 37c995: OUTPUT«===SORRY!===Method 'add_parent' not found for invocant of class 'Perl6::Metamodel::ModuleHOW'at /tmp/AQKrbR67vN:1------> » | ||
lue | another joke that's fun (which I first saw on xkcd), is to see a number, e.g. 1000, and say "that's only 24 away from a round number." | ||
FROGGS | hehe | ||
I am thinking more of an eight when seeing 1000 | 21:41 | ||
diakopter | FROGGS: once you start down that fuzzing path.. forever will it dominate your destiny.... | ||
FROGGS | (but that is still 24 away from a round number) | ||
diakopter: ohh, it is already to late to turn round :o) | 21:42 | ||
21:43
frdmn left
21:44
frdmn joined
21:46
mavcunha joined,
mavcunha left
|
|||
masak | ok, given an IO::Path, how do I get the path-less filename? just the filename, after all the slashes and all? | 21:47 | |
jnthn | r: say IO::Path.^methods | ||
camelia | rakudo 37c995: OUTPUT«Could not find symbol '&Path' in method <anon> at src/gen/CORE.setting:10836 in any at src/gen/Metamodel.nqp:2504 in any find_method_fallback at src/gen/Metamodel.nqp:2492 in any find_method at src/gen/Metamodel.nqp:939 in block at /tmp/lJsT8o2b0j:1»… | ||
jnthn | ...there's an IO::Path? :) | ||
lizmat | I would suspect $path.filename ? | ||
masak | r: say dir('.')[0] | ||
camelia | rakudo 37c995: OUTPUT«IO::Path<star>» | ||
masak | r: say dir('.')[0].filename | ||
camelia | rakudo 37c995: OUTPUT«No such method 'filename' for invocant of type 'IO::Path' in block at /tmp/3xOz3r7g0u:1» | 21:48 | |
jnthn | Oh, of course...it's protected | ||
masak | "protected"? | ||
jnthn | r: say dir('.')[0].^methods | ||
camelia | rakudo 37c995: OUTPUT«dir BUILD Bridge Int path IO open contents d e f l r s w x z modified accessed changed new Str gist Numeric <anon> <anon> <anon>» | ||
jnthn | masak: restricted setting | ||
r: say dir('.')[0] | |||
camelia | rakudo 37c995: OUTPUT«IO::Path<star>» | ||
jnthn | r: say dir('.').path | ||
camelia | rakudo 37c995: OUTPUT«No such method 'path' for invocant of type 'Array' in block at /tmp/0FGwqqG6r_:1» | ||
masak | well, there's an IO::Path right there :) | 21:49 | |
jnthn | r: say dir('.')[0].path | ||
camelia | rakudo 37c995: OUTPUT«IO::Path<star>» | ||
masak | this is frustrating :) | ||
jnthn | r: say dir('.')[0].dir | ||
camelia | rakudo 37c995: OUTPUT«IO::Path.dir is deprecated in favor of .directory in method dir at src/gen/CORE.setting:8048 in block at /tmp/z9H7RNjgPj:1» | ||
jnthn | r: say dir('.')[0].directory | ||
camelia | rakudo 37c995: OUTPUT«.» | ||
masak | heh. | ||
yeah, I want the other part :P | |||
the filename. | |||
jnthn | Why wsa .directory not in the method list? | ||
masak goes looking in the source | |||
r: say dir('.')[0].basename | 21:50 | ||
camelia | rakudo 37c995: OUTPUT«star» | ||
masak | there we go. | ||
dalek | kudo/jvm-support: dea4f25 | jnthn++ | src/Perl6/ (2 files): Unbust build after recent World changes. |
||
jnthn | Phew. Now I've found that I can get useful stuff done on the porting effort tomorrow... | 21:51 | |
FROGGS | ohh, the world has changed? | ||
to the better I hope | |||
jnthn | FROGGS: Got rid of its last pir:: | 21:52 | |
Also got rid of some Q:PIR in BOOTSTRAP | |||
FROGGS | cool! | ||
jnthn | There's no more Q:PIR in src/Perl6 any more. | ||
lizmat | ++jnthn++ | ||
jnthn | Still some pir::. | 21:53 | |
diakopter | is it just me or is search.cpan.org not working: search.cpan.org/search?query=Acme&mode=all | ||
masak | ok, now my blogging software hangs. | 21:54 | |
FROGGS | diakopter: no, had this issue earlier | ||
diakopter: links like these work though: search.cpan.org/dist/SDL/ | 21:56 | ||
(if you know the dist) | |||
lue wonders why adding six characters to the .dir method name was a good idea | 21:57 | ||
FROGGS | lue: maybe someone thinks .dir will give one the directories' content? | 21:59 | |
masak | oh wow, something in the vicinity of string handling is *much* slower in recent Rakudos. | ||
lue would only expect .ls to do such a thing | |||
masak | I thought the blogging software had simply locked up, but it turns out it's processing things as it should, just very slowly. | 22:00 | |
FROGGS | lue: well, jnthn might expect .dir :o) | ||
and I would too fwiw | 22:01 | ||
lue | :) I just think that getting directory/filename parts from IO::Path would be common, and thus a short name | ||
(but there's always class augmentation to fix the problem externally...) | 22:02 | ||
FROGGS | hehe >.< | ||
lizmat | gnight #perl6! | ||
masak | 'night, lizmat | ||
FROGGS | gnight lizmat | ||
masak | I definitely need to bisect this slowness tomorrow. this will not stand. | 22:03 | |
I have located the block of code that got *lots* slower. | |||
anyway... lol, I blogged! strangelyconsistent.org/blog/the-ma...m-workshop | |||
22:03
lustlife left
|
|||
FROGGS | hmmm, the only thing about string+concat is timotimo's path for [~], but I have no idea if it was applied | 22:04 | |
masak | (I've run out of $day, so the t2 blog post will have to wait for tomorrow) | ||
FROGGS: it can't be that. | |||
FROGGS: I'm using ~=, but not [~] in that code. | |||
22:04
xilo left
|
|||
FROGGS | but ~= is just concat of the two plus assignment, no? | 22:05 | |
masak | anyway, it's not just *significantly* slower, it's *ridiculously* slower. | ||
FROGGS: yeah. | |||
FROGGS | :/ | ||
masak | so slow that I thought it had locked up. | ||
22:06
spider-mario left
|
|||
Tene | masak: You voluntarily decided to inflict that pun in the title on yourself? | 22:08 | |
masak | Tene: yeah, I was like "what's the worst that can happen?" | ||
Tene: oh, I see what you did there. | 22:09 | ||
Tene | masak: ;) | ||
masak | autopun to you too, sir. | ||
lue sadly doesn't see the autopun :/ | 22:11 | ||
Tene | masak: I'll be around; I'd love to help. | 22:12 | |
masak | lue: "inflict X on oneself" <-> "masochism" | ||
Tene: awesome. | |||
lue | geekosaur just told me :) | ||
masak: would a fair definition of an autopun be "a play on situations"? (The definition itself a play on the common definition of a pun being "a play on words") | 22:13 | ||
jnthn | Time for some rest...my tuit supply should be good tomorrow :) | ||
'night o/ | |||
lue | good ♞, jnthn o/ | 22:14 | |
FROGGS | gnight jnthn | ||
masak | lue: no, an autopun is a mixing-together of the level where we're describing things and the level where the things described are. | 22:15 | |
lue: often referred to as "mention" and "use", respectively. | |||
lue wants to say then "a play on usage", but feels that probably isn't right either | 22:19 | ||
22:19
Targen left
22:21
xilo joined
|
|||
dalek | : d7d2645 | (Tobias Leich)++ | STATUS.md: added "use utf8" noop |
22:24 | |
: 77fe2c7 | (Tobias Leich)++ | STATUS.md: update |
|||
22:25
PacoAir left
22:30
skids joined
22:43
iacob left
22:47
BenGoldberg joined
22:48
fgomez joined
22:49
alester left
22:55
pjcj joined
22:58
sqirrel left
23:00
fgomez left
|
|||
BenGoldberg | nqp-jvm: say("jaNQPh"); | 23:01 | |
camelia | nqp-jvm: OUTPUT«jaNQPh» | ||
BenGoldberg | nqp: say("jaNQPh"); | 23:02 | |
camelia | nqp: OUTPUT«jaNQPh» | ||
BenGoldberg | nqp-parrot: say("jaNQPh"); | 23:03 | |
nqp-pir: say("jaNQPh"); | |||
masak | rn: sub foo { fail "this didn't go too well" }; my $a = foo(); say "still alive!" | ||
camelia | rakudo 37c995: OUTPUT«still alive!» | 23:04 | |
..niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===Undeclared routine: 'fail' used at line 1Potential difficulties: $a is declared but not used at /tmp/q73H_Dczy6 line 1:------> { fail "this didn't go too well" }; my ⏏$a = foo(); say "still alive!"… | |||
masak | r: sub foo { fail "this didn't go too well" }; my $a = foo(); say $a; say "not alive anymore" | ||
camelia | rakudo 37c995: OUTPUT«this didn't go too well in method gist at src/gen/CORE.setting:10831 in method gist at src/gen/CORE.setting:893 in sub say at src/gen/CORE.setting:7807 in block at /tmp/JsLklxc7bV:1» | ||
labster | looks like niecza failed earlier | 23:05 | |
masak | labster: so, &fail is like returning with a booby-trapped exception. | ||
yeah, Niecza doesn't seem to do &fail yet. | |||
ignore Niecza for now. | |||
do you see what the example does? | |||
r: sub foo { fail "this didn't go too well" }; my $a = foo(); say "still alive, before checking \$a"; say $a | 23:06 | ||
camelia | rakudo 37c995: OUTPUT«still alive, before checking $athis didn't go too well in method gist at src/gen/CORE.setting:10831 in method gist at src/gen/CORE.setting:893 in sub say at src/gen/CORE.setting:7807 in block at /tmp/b0E5aXorK1:1» | ||
labster | I do. I've played around with it a little bit. | ||
r: sub foo { fail "this didn't go too well" }; my $a = foo(); say $a ~~ Failure; say "alive?" | 23:07 | ||
camelia | rakudo 37c995: OUTPUT«Truealive?» | ||
labster | r: sub foo { fail "this didn't go too well" }; my $a = foo(); say $a ~~ /foo/; say "alive?" | 23:08 | |
camelia | rakudo 37c995: OUTPUT«this didn't go too well in method Str at src/gen/CORE.setting:10830 in method Str at src/gen/CORE.setting:876 in any !cursor_init at src/stage2/QRegex.nqp:528 in method ACCEPTS at src/gen/CORE.setting:11178 in method ACCEPTS at src/gen/CORE.setting:683 … | ||
masak | right. you can smartmatch on the failure, but not much else. | ||
BenGoldberg | r: my $a = Failure.new("asdf"); say "alive"; | 23:09 | |
camelia | rakudo 37c995: OUTPUT«alive» | ||
BenGoldberg | r: my $a = Failure.new("asdf"); | ||
camelia | rakudo 37c995: OUTPUT«Method 'throw' not found for invocant of class 'Str'current instr.: 'sink' pc 390388 (src/gen/CORE.setting.pir:168820) (src/gen/CORE.setting:10839)called from Sub 'MAIN' pc 381 (src/gen/perl6.pir:147) (src/main.nqp src/gen/main-version.nqp:42)called from Sub '' … | ||
labster | wha? oh sink context. | ||
23:10
fgomez joined
|
|||
masak | yeah. | 23:11 | |
well, no. | |||
I think it's last-statement-of-block that triggers it here. | |||
BenGoldberg | r: Failure.new("asdf"); | ||
camelia | rakudo 37c995: OUTPUT«Method 'throw' not found for invocant of class 'Str'current instr.: 'sink' pc 390388 (src/gen/CORE.setting.pir:168820) (src/gen/CORE.setting:10839)called from Sub 'MAIN' pc 381 (src/gen/perl6.pir:147) (src/main.nqp src/gen/main-version.nqp:42)called from Sub '' … | ||
masak | it needs to return something from the mainline block, so it evaluates the thing. | 23:12 | |
BenGoldberg | n: Failure.new("asdf"); | ||
camelia | niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===Undeclared name: 'Failure' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37)  at /hom… | ||
masak | which triggers the booby-trap. | ||
Niecza has neither &fail nor Failure, it seems. | |||
23:12
thou left
|
|||
labster | So the failure types are just a way of handling some errors but not others? | 23:13 | |
BenGoldberg | rn: Exception.new("asdf"); | 23:14 | |
camelia | rakudo 37c995: OUTPUT«Default constructor for 'Exception' only takes named arguments in method new at src/gen/CORE.setting:731 in method new at src/gen/CORE.setting:726 in block at /tmp/xtzLbTlbZT:1» | ||
..niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===Undeclared name: 'Exception' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 37)  at /h… | |||
BenGoldberg | r: Exception.new(exception => "asdf"); | 23:18 | |
camelia | rakudo 37c995: ( no output ) | ||
BenGoldberg | r: Exception.new(exception => "asdf").say; | ||
camelia | rakudo 37c995: OUTPUT«Error while creating backtrace: No such method 'backtrace' for invocant of type 'Any' in method new at src/gen/CORE.setting:9401 in method new at src/gen/CORE.setting:9398 in method backtrace at src/gen/CORE.setting:9535 in code at src/gen/CORE.setting:9… | ||
masak | labster: yeah. | 23:23 | |
23:23
cognominal left
|
|||
labster | ah, finally found what caused the setting not to compile. apparently putting BEGIN in there was a Bad Thing. | 23:23 | |
23:23
cognominal joined
|
|||
masak | labster: failures are "potential problems". i.e. they will never be a problem if you don't care about the result. but as soon as you do, they're an error. | 23:23 | |
an exception, even. | 23:24 | ||
'night, #perl6 | |||
labster | night | ||
thanks | |||
23:30
geekosaur joined
|
|||
dalek | osystem: 1eec48d | (Timothy Totten)++ | META.list: Added DateTime::TimeZone in its early form. |
23:31 | |
census | good night masak! | 23:37 | |
23:38
tgt left
23:40
tgt joined
23:48
supernovus left
23:56
DreamingInCode left
23:57
thou joined
23:59
thou left
|