Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-11-11

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:12 Psyche^_ joined #perl6
00:21 xenoterracide joined #perl6
00:21 raiph joined #perl6
00:50 Rotwang joined #perl6
00:56 telex joined #perl6
01:03 Rotwang joined #perl6
01:06 berekuk joined #perl6
01:19 johnny5_ joined #perl6
01:23 johnny5_ joined #perl6
01:57 logie joined #perl6
02:10 benabik joined #perl6
02:23 cibs joined #perl6
02:43 jeffreykegler joined #perl6
02:49 jeffreykegler left #perl6
03:04 LordVorp joined #perl6
04:00 logie joined #perl6
04:04 kaleem joined #perl6
04:12 sftp joined #perl6
04:14 SamuraiJack joined #perl6
04:18 sftp joined #perl6
04:21 preflex_ joined #perl6
04:38 johnny5_ joined #perl6
04:43 virtualsue joined #perl6
04:59 johnny5_ joined #perl6
05:02 johnny5_ joined #perl6
05:12 johnny5_ joined #perl6
05:17 johnny5_ joined #perl6
05:40 johnny5_ joined #perl6
05:51 SamuraiJack_ joined #perl6
05:55 raiph joined #perl6
05:59 SamuraiJack__ joined #perl6
06:17 darutoko joined #perl6
06:21 dmol joined #perl6
06:25 ssutch joined #perl6
06:26 [Sno] joined #perl6
06:48 moritz \o
06:49 JimmyZ o/
06:50 kaleem joined #perl6
06:58 FROGGS joined #perl6
06:58 wbill joined #perl6
07:16 cognominal joined #perl6
07:18 atroxaper joined #perl6
07:21 SamuraiJack joined #perl6
07:22 dayangkun joined #perl6
07:24 SamuraiJack_ joined #perl6
07:47 FROGGS preflex: ask TimToady Can you please look/reply on that? https://gist.github.com/FROGGS/6464777#comment-947906
07:47 preflex Consider it noted.
07:47 FROGGS thanks
07:50 zakharyas joined #perl6
07:57 FROGGS preflex: tell arnsholt interesting for you too: https://gist.github.com/FROGGS/6464777#comment-947906
07:57 preflex Consider it noted.
08:03 FROGGS if anybody else has a minute, I'd appreciate every comment/musing about that :o)
08:03 FROGGS first I was thinking that there could be a pack/unpack implementation that work for rakudo *and* v5, but that does not seems to be the case
08:20 salv0 joined #perl6
08:40 kurahaupo joined #perl6
09:14 tobyink joined #perl6
09:18 timotimo o/
09:19 atroxaper timotimo o/
09:19 FROGGS o/
09:20 atroxaper Do you know why i can't call .hash() with NQPMatch?
09:20 atroxaper r: say Perl6::Grammar.parse('my $b=4;', :actions(Perl6::Actions.new())).hash;
09:20 camelia rakudo-jvm 2c40f6: OUTPUT«Could not find symbol '&Grammar'␤  in any find_method_fallback at gen/jvm/Metamodel.nqp:2607␤  in any find_method at gen/jvm/Metamodel.nqp:945␤  in any  at gen/jvm/BOOTSTRAP.nqp:1658␤  in block  at /tmp/P3pwhJAduo:1␤  in any eval at gen/jvm/stage2…»
09:20 camelia ..rakudo-parrot 2c40f6: OUTPUT«Could not find symbol '&Grammar'␤  in method <anon> at gen/parrot/CORE.setting:11987␤  in any  at gen/parrot/Metamodel.nqp:2691␤  in any find_method_fallback at gen/parrot/Metamodel.nqp:2679␤  in any find_method at gen/parrot/Metamodel.nqp:946␤…»
09:21 atroxaper r: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; say Perl6::Grammar.parse('my $b=4;', :actions(Perl6::Actions.new())).hash;
09:21 camelia rakudo-parrot 2c40f6: OUTPUT«Nominal type check failed for parameter '$got'; expected Any but got NQPMatch instead␤  in method BUILD at gen/parrot/CORE.setting:8359␤  in method new at gen/parrot/CORE.setting:8358␤  in method reify at gen/parrot/CORE.setting:8480␤  in method …»
09:21 camelia ..rakudo-jvm 2c40f6: OUTPUT«Nominal type check failed for parameter '$got'␤  in method BUILD at gen/jvm/CORE.setting:8334␤  in block  at gen/jvm/CORE.setting:8451␤  in block  at gen/jvm/CORE.setting:7106␤  in block  at gen/jvm/CORE.setting:7106␤  in block  at gen/jvm/CORE.se…»
09:30 timotimo NQPMatch doesn't know how to turn itself into a perl6 hash
09:31 FROGGS r: say nqp::hllize(Perl6::Grammar.parse('my $b=4;', :actions(Perl6::Actions.new()))).hash;
09:31 camelia rakudo-jvm 2c40f6: OUTPUT«Could not find symbol '&Grammar'␤  in any find_method_fallback at gen/jvm/Metamodel.nqp:2607␤  in any find_method at gen/jvm/Metamodel.nqp:945␤  in any  at gen/jvm/BOOTSTRAP.nqp:1658␤  in block  at /tmp/udqbZhEHSS:1␤  in any eval at gen/jvm/stage2…»
09:31 camelia ..rakudo-parrot 2c40f6: OUTPUT«Could not find symbol '&Grammar'␤  in method <anon> at gen/parrot/CORE.setting:11987␤  in any  at gen/parrot/Metamodel.nqp:2691␤  in any find_method_fallback at gen/parrot/Metamodel.nqp:2679␤  in any find_method at gen/parrot/Metamodel.nqp:946␤…»
09:31 FROGGS r: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>;  say nqp::hllize(Perl6::Grammar.parse('my $b=4;', :actions(Perl6::Actions.new()))).hash;
09:31 camelia rakudo-parrot 2c40f6: OUTPUT«Nominal type check failed for parameter '$got'; expected Any but got NQPMatch instead␤  in method BUILD at gen/parrot/CORE.setting:8359␤  in method new at gen/parrot/CORE.setting:8358␤  in method reify at gen/parrot/CORE.setting:8480␤  in method …»
09:31 camelia ..rakudo-jvm 2c40f6: OUTPUT«Nominal type check failed for parameter '$got'␤  in method BUILD at gen/jvm/CORE.setting:8334␤  in block  at gen/jvm/CORE.setting:8451␤  in block  at gen/jvm/CORE.setting:7106␤  in block  at gen/jvm/CORE.setting:7106␤  in block  at gen/jvm/CORE.se…»
09:38 atroxaper r: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; say Perl6::Grammar.parse('my $b=4;', :actions(Perl6::Actions.new())).hash;
09:38 camelia rakudo-parrot 2c40f6: OUTPUT«Nominal type check failed for parameter '$got'; expected Any but got NQPMatch instead␤  in method BUILD at gen/parrot/CORE.setting:8359␤  in method new at gen/parrot/CORE.setting:8358␤  in method reify at gen/parrot/CORE.setting:8480␤  in method …»
09:38 camelia ..rakudo-jvm 2c40f6: OUTPUT«Nominal type check failed for parameter '$got'␤  in method BUILD at gen/jvm/CORE.setting:8334␤  in block  at gen/jvm/CORE.setting:8451␤  in block  at gen/jvm/CORE.setting:7106␤  in block  at gen/jvm/CORE.setting:7106␤  in block  at gen/jvm/CORE.se…»
09:51 fhelmberger joined #perl6
09:54 dakkar joined #perl6
09:54 FROGGS rp: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; my Mu $x := Perl6::Grammar.parse('my $b=4;', :actions(Perl6::Actions.new())); say .Str for $x
09:54 camelia rakudo-parrot 2c40f6: OUTPUT«my $b=4;␤»
09:54 FROGGS rp: use Perl6::Grammar:from<NQP>; use Perl6::Actions:from<NQP>; my Mu $x := Perl6::Grammar.parse('my $b=4; $b++', :actions(Perl6::Actions.new())); say .Str for $x
09:55 camelia rakudo-parrot 2c40f6: OUTPUT«my $b=4; $b++␤»
10:04 timotimo so how do i find out how to fix my jvm implementation of charrange?
10:09 brrt joined #perl6
10:15 * timotimo puts checks and throws before every array creation in the compiler
10:15 timotimo no help
10:16 timotimo at least in JASTToJVMBytecode
10:26 timotimo i wish it gave me a filename and line for that exception :(
10:27 timotimo i don't even know where i would have to put code to get that in the output
10:28 Rotwang joined #perl6
10:32 * timotimo coaxed a line number out of jdb
10:34 timotimo processMethod calls visitMaxs from ASM with (0, 0) and *that* causes the negativeArraySizeException
10:34 timotimo great.
10:34 spider-mario joined #perl6
10:35 timotimo you try to pop an argument from the stack but there is no argument on stack :(
10:37 timotimo but i double-checked that everything is right :(
10:45 berekuk joined #perl6
10:47 lizmat good *, #perl6!
10:48 timotimo hey liz :)
10:48 lizmat timotimo o/
10:48 * lizmat just realized that (+=) for atomic updates is bogus
10:49 nwc10 moritz: thanks for the reality check on JVM star.
10:49 nwc10 it's a bit :-/
10:50 nwc10 in that, for within-the-community marketing reasons, my opinion (*opinion*) is that it's important to be able to deliver a JVM Star, to capitalise on the growing awareness of the concurrency features
10:50 denis_boyun joined #perl6
10:51 timotimo yeah :(
10:52 nwc10 I have to apologise that I really have no time to help deliver on this.
10:53 timotimo come over to arnsholt's place to do housework for him, cooking and cleaning and walking the dog, then he'll have more time to spend on nativecall :D
10:53 nwc10 I don't have time to do that *either*
10:53 timotimo ;)
10:53 nwc10 however much I like walking dogs (at least, well behaved dogs)
10:58 dalek nqp/charrange_jvm: da40731 | (Timo Paulssen)++ | src/ (2 files):
10:58 dalek nqp/charrange_jvm: first attempt at charrange on JVM
10:58 dalek nqp/charrange_jvm: review: https://github.com/perl6/nqp/commit/da40731b45
10:59 timotimo if anyone wants to help, i'm at my wit's end here
10:59 dalek specs: 82ae35f | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
10:59 dalek specs: Introduce "is cas" variable trait
10:59 dalek specs: review: https://github.com/perl6/specs/commit/82ae35ff8e
10:59 lizmat timotimo: I'm afraid I'm more of a JVM noob than you
11:00 timotimo i've already tried the rubber duck method
11:00 tgt joined #perl6
11:01 FROGGS if there are any LHFs I would be proud to pick them... but... are there any?
11:02 timotimo FROGGS: i'm guessing you don't know terribly much about jvm bytecode?
11:03 FROGGS no :/
11:03 nwc10 moritz: are you able to break out any of the Star blockers into "tickets others could do"?
11:03 FROGGS neither about Java/JVM in general
11:03 FROGGS nwc10: that would be awesome!
11:03 FROGGS having a concrete task would definitely help
11:04 nwc10 I'm not sure if I'm asking a stupidly obvious (or obviously pointless) question
11:04 nwc10 but my suspicion is that some of this stuff is more scripting/automating than really JVM domain specific
11:04 timotimo moritz mentioned something about Configure.pl changes that need to happen
11:04 Rotwang joined #perl6
11:04 FROGGS 1) I guess the first thing would be to fiddle with the build system to somehow make a release at all
11:04 timotimo but nothing specific that i know of
11:04 nwc10 but that might mean that it needs more familarity/confidence with the build system
11:05 FROGGS 2) then we'd try to build modules, and fix those which are fixable without nativecall implementation
11:06 FROGGS and "2)" should expose some LHFs
11:10 timotimo so i've been thinking: if the right qregex node existed, i could implement an optimizer for QRegex that turns a scan + a node that it "knows" how to negate into a smarter/faster scan. also, doing things like turning "...foo" into "search for foo and step 3 back" would also be possible, but the NFA creator must be told how to handle that
11:11 timotimo it would be best if i could just say "for the NFA, use these nodes, for creating the actual regex code, use these. they mean the same"
11:14 FROGGS like a QAST::WVal?
11:14 timotimo you mean QAST::Want?
11:14 FROGGS err yes
11:15 timotimo yeah, kind of like that
11:16 timotimo I guess that could totally be re-used for this!
11:17 FROGGS reused++
11:17 timotimo hm, the "...foo" doesn't have to be a "search for foo, then step 3 back", it could also be "after scanning, look 3 ahead to see if there's “foo” there"
11:18 timotimo it's a bit less performant (because it doesn't use boyer-moore), but it would still be a little speed boost in that case, and it would probably be simpler to implement
11:18 FROGGS string_at_pos("foo", pos+3), yeah
11:18 FROGGS (sortof)
11:18 timotimo yes :)
11:19 FROGGS yeah, that would work for everything that has a known width...
11:19 timotimo yeah
11:21 timotimo i'll just go ahead and implement negated simple charranges first instead
11:22 bbkr_ joined #perl6
11:36 timotimo turns out no negated simple charranges actually exist in nqp nor rakudo
11:36 timotimo oh well. maybe some users will have regexes like that
11:45 kurahaupo joined #perl6
11:46 xenoterracide joined #perl6
11:46 timotimo negated charranges are also faster than their enumcharlist equivalents (20s vs 25s for 1000x 100_000 non-matching characters, 5s vs 17s for 1000x 100_000 matching characters)
11:50 dram joined #perl6
11:51 timotimo (and that is if the non-matching character is found early in the enumcharlist. if i had used the latest, it would probably be a more dramatic difference)
11:51 FROGGS cool
11:52 FROGGS very very cool!
11:52 lizmat timotimo++
11:52 timotimo :)
11:52 timotimo it doesn't make any difference at all in stage parse, though
11:53 FROGGS can we apply this technique to grammar rules like: token foo { \W "something" }  ?
11:53 timotimo \W and friends are already specially implemented
11:54 FROGGS I guess stage parse is just about method call overhead...
11:54 FROGGS ahh, k
11:54 nwc10 rakudo++ # sufficiently simple and clear that mere mortals can hack on the regex engine
11:55 FROGGS yeah, its design is quite awesome
11:56 FROGGS (written in itself)++
11:57 timotimo the debug output that spews the bytecode before compilation doesn't have the mnemonics >_<
11:59 timotimo r: (1, 2, 3, 4).hash.say
11:59 camelia rakudo-parrot 2c40f6: OUTPUT«("1" => 2, "3" => 4).hash␤»
11:59 camelia ..rakudo-jvm 2c40f6: OUTPUT«("3" => 4, "1" => 2).hash␤»
11:59 timotimo r: (1, 2, 3, 4).hash.invert.say
11:59 camelia rakudo-parrot 2c40f6: OUTPUT«2 => "1" 4 => "3"␤»
11:59 camelia ..rakudo-jvm 2c40f6: OUTPUT«4 => "3" 2 => "1"␤»
12:00 timotimo how do i tell lines() to operate on the first argument if it's given, otherwise on stdin?
12:00 timotimo ah, lines already does that
12:00 timotimo nice.
12:05 pernatiy joined #perl6
12:05 kivutar joined #perl6
12:07 diakopter lizmat: there are atomic add instructions
12:09 timotimo http://sprunge.us/RjZD <- have some jvm bytecodes for you. the wrongness is somewhere around the only mention of charCodeAt
12:10 timotimo codePointAt*
12:38 cognominal joined #perl6
12:44 dmol joined #perl6
13:05 kivutar joined #perl6
13:12 raiph joined #perl6
13:15 araujo joined #perl6
13:21 dmol joined #perl6
13:31 Rotwang joined #perl6
13:36 raiph joined #perl6
13:46 sqirrel joined #perl6
13:49 kivutar joined #perl6
13:51 ajr joined #perl6
14:07 fhelmberger_ joined #perl6
14:15 denis_boyun joined #perl6
14:18 colomon .u ????
14:21 fhelmberger joined #perl6
14:22 * colomon is having fun writing Unicode tests in C++
14:23 mathw sounds like the kind of thing you have to pay attention to
14:24 * timotimo is having no fun trying to make his bytecodes work properly
14:25 colomon mathw: I discovered my text editor doesn't seem to handle codepoints greater than FFFF.
14:25 colomon mathw: my code, on the other hand, hand no problem with that.
14:26 colomon actually, the only bug I've found in my testing so far was failing to handle codepoints between 80 and FF.
14:26 colomon and that's fixed.
14:27 * colomon is now fantasizing about how beautiful this code would be in p6
14:30 pippo joined #perl6
14:31 dalek nqp: f8a27c0 | (Timo Paulssen)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
14:31 dalek nqp: stub charrange for moarvm.
14:31 dalek nqp: review: https://github.com/perl6/nqp/commit/f8a27c01e1
14:31 timotimo now nqp-moar should also build again.
14:31 pippo o/ #perl6
14:31 timotimo o/ pippo
14:32 colomon \o
14:32 pippo Hi timotimo. I hav seen you testing this earlier "(1, 2, 3, 4).hash.say"
14:32 timotimo yup
14:33 timotimo i needed a perl6 script that pretty-prints the debug output of the jvm bytecode creator. it doesn't have the mnemonics
14:33 timotimo so i copypasted the nqp::hash from the translator and changed nqp::hash(...) into (...).hash
14:34 pippo I have one question. (1, 2, 1, 4).hash.say does not return what I expect.
14:34 timotimo r: (1, 2, 1, 4).hash.say
14:34 camelia rakudo-parrot 2c40f6, rakudo-jvm 2c40f6: OUTPUT«("1" => 4).hash␤»
14:34 timotimo why not?
14:35 pippo timotmo I would expect somthing like my %h; %h.push(1, 2, 1, 4);  instead
14:35 timotimo if you want these semantics, you will have to use .push instead
14:35 pippo r: my %h; %h.push(1, 2, 1, 4); say %h
14:35 timotimo i don't think the constructor should do that for you
14:35 camelia rakudo-parrot 2c40f6, rakudo-jvm 2c40f6: OUTPUT«("1" => [2, 4]).hash␤»
14:37 pippo If it should be like this. Then OK.
14:38 dalek nqp/charrange_jvm: 643eb6f | (Timo Paulssen)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
14:38 dalek nqp/charrange_jvm: stub charrange for moarvm.
14:38 dalek nqp/charrange_jvm: review: https://github.com/perl6/nqp/commit/643eb6f806
14:38 dalek nqp/charrange_jvm: e5c7395 | (Timo Paulssen)++ | src/ (3 files):
14:38 dalek nqp/charrange_jvm: implement negated charrange on parrot and jvm
14:38 dalek nqp/charrange_jvm:
14:38 dalek nqp/charrange_jvm: jvm part is still b0rked, though
14:38 dalek nqp/charrange_jvm: review: https://github.com/perl6/nqp/commit/e5c73955a7
14:38 * [Coke] spent a few moments trying to get star's modules-test to work, no luck yet.
14:38 timotimo bah, derp.
14:39 mathw colomon: the best advice about unicode is to let someone else i.e. an established unicode library handle it if at all possible
14:39 dalek nqp/charrange_jvm: 8f0d8f4 | (Timo Paulssen)++ | src/ (2 files):
14:39 dalek nqp/charrange_jvm: first attempt at charrange on JVM
14:39 dalek nqp/charrange_jvm: review: https://github.com/perl6/nqp/commit/8f0d8f42d2
14:39 dalek nqp/charrange_jvm: 8e4f995 | (Timo Paulssen)++ | src/ (3 files):
14:39 dalek nqp/charrange_jvm: implement negated charrange on parrot and jvm
14:39 dalek nqp/charrange_jvm:
14:39 dalek nqp/charrange_jvm: jvm part is still b0rked, though
14:39 dalek nqp/charrange_jvm: review: https://github.com/perl6/nqp/commit/8e4f9958de
14:39 mathw colomon: good way to get a headache
14:40 colomon mathw: as far as I know there is no available library for converting utf-8 to STEP-style pure-ASCII strings and vice-versa.
14:40 logie joined #perl6
14:42 * colomon is sorely tempted to write such a library in p6, but really should not stop doing lucrative contract work to do so.
14:42 mathw colomon: there will be soon, though? :)
14:42 bluescreen10 joined #perl6
14:42 colomon this code would be so much more beautiful in p6...
14:43 btyler joined #perl6
14:43 timotimo also probably 100_000x slower
14:43 Rotwang hi
14:44 mathw colomon: lots of code is more beautiful in P6
14:44 Rotwang can I create constant class attribute? e.g. constant $!foo = 5; doesn't work inside a class
14:44 colomon timotimo: I bet it would only be 100x slower at most
14:44 timotimo maybe on rakudo-jvm.
14:44 PacoAir joined #perl6
14:45 timotimo Rotwang: maybe our constant $foo = 5 may work?
14:46 colomon it's certainly a better idea, unless you intend to have a different constant $!foo for each class object.
14:46 Rotwang timotimo: indeed it did work, thanks
14:46 timotimo yw :)
14:46 * timotimo is afk for a bit
14:47 pippo lizmat: ping
14:52 sqirrel joined #perl6
14:53 denisboyun joined #perl6
14:53 benabik joined #perl6
15:04 raiph joined #perl6
15:05 logie joined #perl6
15:13 kaleem joined #perl6
15:22 jnap joined #perl6
15:25 zakharyas1 joined #perl6
15:26 ajr joined #perl6
15:27 nnunley joined #perl6
15:31 kbaker joined #perl6
15:40 timotimo jnthn: it would be super swell if you could tell me what i'm screwing up in the charrange_jvm branch?
15:43 kaare_ joined #perl6
15:49 * FROGGS thinks that timotimo++ meant that it would be totally champion or good-oh or hunky-dory or spiffing!
15:50 thou joined #perl6
15:53 ajr_ joined #perl6
15:56 araujo joined #perl6
15:57 denis_boyun joined #perl6
16:02 betterworld joined #perl6
16:08 fhelmberger joined #perl6
16:10 ggoebel15 joined #perl6
16:18 timotimo are the lookup tables for boyer moore string search cached?
16:18 timotimo hm, calculating them is done in C land on parrot, i bet
16:18 timotimo that's probably a small enough overhead to not need caching at all
16:25 timotimo i wonder if boyer-moore can be generalised to a subset of regex in a clever fashion
16:26 * moritz thinks that timotimo looks at entirely the wrong places to optimize :(
16:26 timotimo probably :)
16:26 timotimo that's just things my mind comes up with randomly
16:39 REPLeffect joined #perl6
16:40 colomon do we have good rakudo jvm profiles yet?
16:40 timotimo what's a profile?
16:45 FROGGS joined #perl6
16:48 timotimo er
16:48 timotimo i think i'm looking at a bug right here
16:49 timotimo looks like it's not honoring zerowidth if it matches \r\n
16:49 timotimo nqp: say("\r\na" ~~ /<?[\w]>'\r\na'/);
16:49 camelia nqp-moarvm: OUTPUT«Substring length (-6) cannot be negative␤Str␤»
16:49 camelia ..nqp-jvm, nqp-parrot: OUTPUT«␤»
16:50 timotimo nqp: say('\r\n');
16:50 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«\r\n␤»
16:50 timotimo nqp: say("\r\n");
16:50 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«
16:50 timotimo nqp: say("\r\na" ~~ /<?[\w]>"\r\na"/);
16:50 camelia nqp-moarvm: OUTPUT«Substring length (-6) cannot be negative␤Str␤»
16:50 camelia ..nqp-jvm, nqp-parrot: OUTPUT«␤»
16:50 timotimo nqp: say("\r\na" ~~ /"\r\na"/);
16:50 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«
16:51 fhelmberger_ joined #perl6
16:51 timotimo ha! i has found a bug!
16:51 timotimo \o/
16:51 timotimo this one i can fix on the train ride tonight
16:51 Rotwang here is something I REALLY didn't expect:
16:51 Rotwang r: sub quux (Mu $foo) { say $foo.WHAT }; quux ( "a", )
16:51 camelia rakudo-parrot 2c40f6, rakudo-jvm 2c40f6: OUTPUT«(Parcel)␤»
16:51 Rotwang r: sub quux (Mu $foo) { say $foo.WHAT }; quux( "a", )
16:51 camelia rakudo-parrot 2c40f6, rakudo-jvm 2c40f6: OUTPUT«(Str)␤»
16:52 timotimo spaces are significant
16:52 Rotwang now I see -__-
16:52 timotimo you can either write quux("a") or you can write quux "a"
16:52 timotimo if you write quux ("a") that's different if there are , in there
16:53 Rotwang perl6 is full of surprises [;
16:54 Rotwang just spent around half an hour to find that because isa_ok from Test.pm didn't work
16:54 jaffa4 joined #perl6
16:55 jaffa4 hi all
16:55 jaffa4 Is there true and false in Perl6?
16:55 timotimo r: say Bool.pick;
16:55 camelia rakudo-parrot 2c40f6, rakudo-jvm 2c40f6: OUTPUT«False␤»
16:56 denisboyun joined #perl6
16:57 hoelzro jaffa4: True
16:57 * FROGGS .oO( use help; quux ( "a", "b" ) # would warn to keep beginners on trak )
16:57 hoelzro ;)
16:57 * FROGGS .oO( maybe even: use any-help-there-is; )
17:03 timotimo er, i used \w instead of \n
17:03 timotimo nqp: say("\r\na" ~~ /<?[\n]>"\r\na"/);
17:03 camelia nqp-moarvm: OUTPUT«Substring length (-6) cannot be negative␤Str␤»
17:03 camelia ..nqp-jvm, nqp-parrot: OUTPUT«␤»
17:03 timotimo it's the same either way
17:03 jaffa4 so True
17:03 Rotwang FROGGS: if there was a book similar to the lama book it would make learning curve much flatter
17:03 timotimo nqp: say("\r\na" ~~ /"\r\na"/);
17:03 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«
17:04 iSlug joined #perl6
17:07 btyler joined #perl6
17:14 timotimo we should implement a perl6 module for this new and upcoming very efficient compression format: http://m68k.soup.io/post/365158786/For-example-assume-you-would-like-to
17:16 diakopter lizmat++ # (is cas) # seems implementable efficiently (eventually)
17:19 timotimo diakopter: can you help with jvm bytecode generation?
17:20 FROGGS Rotwang: I agree, but nor I am a good writer nor do I know writers
17:22 fhelmberger joined #perl6
17:22 * timotimo is also not good at writing, he thinks
17:22 timotimo but it's a thing where you can get good with practice, i think
17:25 SamuraiJack_ joined #perl6
17:27 woolfy1 joined #perl6
17:27 Rotwang timotimo: so practice your writing skills on new perl6 introductory book ^__^
17:40 kivutar joined #perl6
17:43 [Sno] joined #perl6
17:52 tgt joined #perl6
18:06 ssutch joined #perl6
18:11 nebuchadnezzar joined #perl6
18:12 nebuchadnezzar left #perl6
18:13 dmol joined #perl6
18:16 * TimToady 's brane is completely jet-lagged from the hackers conference, even though it was only a 45-minute drive away--couldn't've had anything to do with staying up half the night gabbing...
18:16 preflex TimToady: you have 1 new message. '/msg preflex messages' to read it.
18:25 TimToady FROGGS: need more brane to think on it deeply, but how is sint32 different from int32?
18:26 TimToady (btw, I always backlog, so msging is redundant)
18:27 TimToady ((I keep telling myself that redundancy is a good thing...))
18:29 pippo TimToady: I have a question for you :-). If (1,2,1,4).hash is the hash representation of the list shall it return {"1"=>4 } or {"1" => [2,4]}?
18:30 FROGGS TimToady: sint32 has no special meaning there... replaced it by int32
18:33 lowpro30 joined #perl6
18:34 jeffreykegler joined #perl6
18:37 timotimo Rotwang: i'm waiting for rakudo-js to become browser-able to make an interactive thingie happen
18:38 lue joined #perl6
18:38 lue hello world o/
18:39 FROGGS hi lue
18:39 jaffa4 panda, which files should I edit to add a module?
18:39 pippo o/ lue
18:43 TimToady pippo: normal hash only stringifies the key, though you can suppress that as well
18:43 TimToady oh, wait
18:43 TimToady bad line wrap so I didn't read your Q right
18:44 dalek ecosystem: a915ad1 | jaffa4++ | META.list:
18:44 dalek ecosystem: Update META.list
18:44 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/a915ad1b14
18:44 TimToady it should be the first; only .push has the second semantics
18:44 pippo OK. Thank you
18:45 pippo :-)
18:46 TimToady though how I misread [2,4] as "4" (even with the linewrap) is a mystery
18:47 TimToady probably a paris-in-the-the-spring moment
18:47 timotimo jetlagged brane probably
18:47 TimToady the two are not mutually exclusive :)
18:47 pippo :-) Time to tak a rest ?
18:47 TimToady there is never enough rest for a BDFL... :)
18:48 pippo BDFL ?
18:48 TimToady we have to plan most of our rest for after we've gone the way of all flesh :)
18:50 Eily joined #perl6
18:50 lizmat joined #perl6
18:50 pippo :-)
18:51 pippo o/ lizmat.
18:51 timotimo TimToady: i'm considering introducing QAST::Want to QRegex to signify that a section has a declarative half and an equivalent, but perhaps faster, non-declarative half. does that sounds like a terrible idea?
18:52 timotimo so, ...foo would be turned into whatever it was before for the NFA, but the WANT would have a second child "optimized" and a third would have a string-equal-at-offset assertion before the ... and the "foo" may then be dropped
18:52 * TimToady is not familiar enough with QRegex to have a valid opinion
18:53 timotimo ah, that's all right then
18:53 timotimo it's basically mostly QAST::Regex nodes for everything
18:55 denis_boyun__ joined #perl6
18:56 TimToady after a chat with Don Knuth over the weekend, maybe I should break down the barrier we erected in 2001 between me and the implementations, and plan to do some code review, and maybe I'll get a clue as to how to make things faster
18:57 timotimo you've seen plenty an optimization over your lifetime, i'm sure. that'll come in handy i bet :)
18:57 pippo \o/ perl6 faster !!!
18:57 TimToady well, after 13 years I doubt it would qualify as premature optimization :)
18:58 TimToady more likely, of course, is I'll merely discover that I've made it impossible :)
18:58 timotimo how do i .gist a string in nqp-land? :o
18:58 ajr joined #perl6
19:05 logie joined #perl6
19:05 dalek nqp: 4df65de | (Timo Paulssen)++ | src/vm/parrot/QAST/Compiler.nqp:
19:05 dalek nqp: don't move the cursor for zerowidth match of \r\n
19:05 dalek nqp:
19:05 dalek nqp: Fixes #120511
19:05 dalek nqp: review: https://github.com/perl6/nqp/commit/4df65de7f7
19:05 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=120511
19:08 timotimo from my git log it doesn't look like we actually merged cursless into master!
19:08 moritz we didn't?
19:09 FROGGS ohh, ++TimToady
19:10 FROGGS timotimo: we did
19:10 FROGGS otherwise I'd still be at 140s instead of 125s for stage parse
19:11 moritz commit 1820f2eb7272cfeafb071b06cfa3e1d0efab2360, "Bump NQP_REVISION to get latest qregex cursor and closure fixes.  jnthn++"
19:11 moritz $ git merge origin/cursless
19:11 moritz Already up-to-date.
19:11 moritz and 03f81f8249120859c89bbaab6289cbb87e3c5c11 was the merge commit
19:12 FROGGS timotimo: what do you need the .gist of a string for?
19:12 timotimo i was wrong
19:12 timotimo FROGGS: testing :)
19:12 timotimo for science
19:12 * moritz deletes the remote branch
19:12 FROGGS rp: say "hello".gist
19:12 camelia rakudo-parrot 2c40f6: OUTPUT«hello␤»
19:12 timotimo yeah, we actually did merge it in. i don't know why i thought otherwise
19:12 FROGGS how is that different to .Str ?
19:12 moritz but the NQP cursless branch is not merged
19:13 FROGGS O.o
19:13 moritz FROGGS: for strings not at all
19:13 FROGGS timotimo: see? :P --^
19:13 timotimo itnqp: say("\r\n".Str);
19:13 timotimo escape sequences
19:13 FROGGS ahhh
19:14 timotimo the branch itself is not merged, but all the commits are in already it seems
19:14 FROGGS timotimo: I thought that just happens here with camelia
19:14 timotimo the JVM problem of my charrange bytecode generation is driving me mad
19:15 FROGGS TimToady: I too think that rakudo has settled enough for the most things already
19:15 timotimo i'm certain i didn't do anything wrong that i'd know of, but there must be something i'm missing
19:19 FROGGS timotimo: maybe you can use some sort of p5 script?  eval "nqp-p -e '$@'" | perl -CSDL -E 'while(<>) { s/[\r\n]/\x{2424}/g; print }'
19:20 FROGGS put an improved version in a nqp-debug.pl or so
19:24 timotimo enh
19:26 diakopter TimToady: mwhaha you can start with reviewing some iteration(s) of the p5 interop; oh wait you mostly did that :P
19:26 FROGGS I have suh a thing that invokes perl6 with -Mv5
19:28 timotimo bad reception here :(
19:28 timotimo i've figured out something great
19:29 timotimo the qregex NFA stuff is generated in the actions of P6Regex
19:29 timotimo that means when i get my grubby hands on it in the Optimizer, i can do whatever transformations i want and as long as they're safe, the NFA won't be affected
19:29 nwc10 TimToady: I'm not familiar with the reason(s) why a barrier was a good thing (if I knew, I've forgotten, sorry), but do those reasons still apply?
19:30 TimToady "we already know how you implement things, and we don't want Perl 6 implemented that way"  :)
19:31 timotimo 7
19:31 TimToady but it was also good that I did not pick winners over that time
19:31 nwc10 the latter was my guess - at this time it seems that there is one viable winner
19:32 nwc10 and whilst someone might write a better Perl 6 in the future, for the next couple of years what matters is Rakudo's completeness, performance and uptake. And without *that*, there likely won't be a future where someone writes a better Perl 6
19:32 TimToady though I still use niecza when something needs to run fast
19:32 rurban joined #perl6
19:33 nwc10 but the former also applies - at this time, it would be hard to subvert the Rakudo implementation into using a lexer, yacc, smoke and mirrors
19:33 nwc10 written in C
19:33 TimToady nor would I want to :)
19:33 FROGGS nwc10++ # exactly
19:34 moritz and increasing the bus factor of rakudo also wouldn't hurt
19:34 nwc10 I know it's selection bias, but I keep spotting the benefits of a self-hosting implementation
19:35 * FROGGS .oO( love the language - hack the language )
19:37 moritz .oO( love the language - hack the compiler )
19:41 wtw joined #perl6
19:43 TimToady diakopter: if you want more review, iterate it s'more  :P
19:45 rurban1 joined #perl6
19:48 diakopter ok
19:50 lue I can only think that add_parent isn't adding the right something, but I'm not sure -> https://gist.github.com/lue/c0923d2d1498fce7f19c
20:10 PerlJam TimToady: If you wanted to remove the implementation barrier, you could kill two birds by starting to maintain niecza yourself :)
20:11 moritz lue: try to add a debug print in add_parent
20:11 diakopter .oO( the bird known as niecza )
20:12 moritz and why use an array of parents when you only want to support one parent class?
20:12 lue "Null PMC access in get_string()" (I remember this being an issue yesterday. That I can't see anything once it's put in a QAST::Var)
20:13 lue moritz: the exercises told me to :)
20:14 lue That is, I can print the value of $<ident>[1] in the action method, but whatever's passed to the PHPish is completely unprintable :(
20:18 * lue hates how he has to keep bugging everybody about these exercises...
20:19 * timotimo switches to another train
20:19 timotimo lue: i also didn't do every exercise in the course :(
20:19 PerlJam lue, timotimo: what course?
20:20 PerlJam (I'm guessing that thing that lizmat and jnthn put together)
20:20 lue timotimo: the only thing I've not done so far is fiddling with the terminators so that I don't need semicolons where I shouldn't need them. I've been insistent on doing everything else so far though :)
20:21 lue PerlJam: it's a "get to know NQP" course from Edument. Don't have a link to it on-hand though.
20:22 jnthn evening, #perl6
20:23 FROGGS hi jnthn
20:23 * jnthn yawns
20:24 tipdbmp joined #perl6
20:29 timotimo good for you :) lue++
20:30 * timotimo is about to create a regex optimizer
20:31 lue timotimo: well, I've got an annoying NULL PMC ACCESS to deal with right now :P . (The supplied rubyish example doesn't have inheritance, and NQP's own ClassHOW plays with these C3MRO thingys way more complex than what I'm doing.)
20:31 timotimo try using jvm
20:32 jnthn That probably just turns it into a null pointer exception :P
20:33 jnthn timotimo: You still having problems with code-gen on JVM?
20:34 timotimo yes
20:35 timotimo ASM is trying to tell me i pop too much by raising a negative stay size expression
20:35 jnthn yes, it's error reporting is crap
20:35 timotimo excuse the fat fingered typing
20:35 jnthn common issues are different stack sizes either side of a conditional
20:36 timotimo i've tried to make sure that all paths through the different gotos end up with 0 stuff left on the stack and may have made a mistake there
20:36 timotimo http://sprunge.us/RjZD - this is an excerpt, the one i generated
20:36 lue timotimo: yeah, I'll see if I still have nqp-j around
20:37 jnthn timotimo: tbh, I'd probably find it easier to read the patch to the code-gen :)
20:37 timotimo it's up in the charrange_jvm branch
20:38 timotimo see how i have an extra label to pop & fail?
20:41 lue Well, nqp-j doesn't give me Null PMC, but instead a "expecting 0..0 args, got 1" error with no useful backtrace :/
20:41 timotimo i should be able to turn a concat with a single child into the single child, right?
20:42 jnthn +        $il.append($I2L);
20:42 jnthn +        $il.append($DUP);
20:42 jnthn That looks wrong
20:43 jnthn I think that'll split the long on the stack
20:43 jnthn A long counts as two stack slots, so needs duplicating with dup2, and popping with pop2
20:43 jnthn I think a
20:44 jnthn $il.append($POP);
20:44 jnthn may also be vulnerable
20:44 rurban1 joined #perl6
20:50 jnthn timotimo: On the concat question - yes, though it isn't an optimization really othr than simplifying the tree, which I guess may make ohter opts easier...
20:51 jaffa4 Could anyone tell me how to write tests for rakudo?
20:51 jaffa4 for a panda module, sorry?
20:53 flussence Just make a t/ directory next to the lib/ one and panda automatically looks in there for *.t files and runs them
20:56 jaffa4 how is it possible that my tests run if I run it but it does not run properly if the panda install runs it?
20:56 flussence hmm
20:57 flussence maybe it's running a different rakudo to your normal one
20:58 flussence or there's some cwd-dependent library that it can't find on its own
20:59 jaffa4 it is the same rakudo
20:59 FROGGS how does it fail?
20:59 jaffa4 Cannot fetch object from non-existent serialization context BFC5F3FB5D2F2BA20A28211EC7F849095B9FC154
21:00 FROGGS O.o
21:00 FROGGS then precompilation is broken
21:00 FROGGS like that the dependency of something is newer then the module using it
21:01 rurban1 joined #perl6
21:01 jaffa4 there is no dependency
21:02 FROGGS weird
21:03 timotimo thank you jnthn i did not know about thebextra size ofbthe longs onbthebstack
21:04 timotimo i I'll implementbthe fix in half an hour out so
21:05 pernatiy joined #perl6
21:06 jnthn timotimo: not by typing like that you won't :P
21:10 FROGGS r: say 12345679 * 0.00001; say 12345679 * 1e-5
21:10 camelia rakudo-parrot 2c40f6: OUTPUT«123.45679␤123.45679␤»
21:10 camelia ..rakudo-jvm 2c40f6: OUTPUT«123.45679␤123.45679000000001␤»
21:10 * FROGGS scratches his head
21:11 jnthn Rat vs Num >
21:11 colomon who'd win?
21:11 moritz floating point FTL
21:11 TimToady maybe we should rename Num to Approximation :)
21:13 jaffa4 FROGGS: I think I know the reason... pir version of the same perl 6 program does not run
21:14 FROGGS jaffa4: so compilation itself breaks your code :/
21:14 TimToady we could also change 'e' to 'timesapproximatelytentothepowerof'
21:14 jaffa4 FROGGS: I guess so
21:15 moritz you generally can't run p6 scripts compiled to pir
21:15 Guest2496 joined #perl6
21:15 jnthn Yes, but this is a module I thought?
21:15 FROGGS thought so too
21:16 jaffa4 a module which is broken by compilation
21:16 moritz yes, happens
21:17 stevan__ joined #perl6
21:17 moritz there are known cases, like precompiling a constant array
21:17 moritz and some others that have been observed but not yet narrowed down
21:18 timotimo jnthn: i have my laptop keyboard now, now i can implements! :)
21:18 jnthn \o/
21:19 jaffa4 and now?
21:19 FROGGS r: say 1e-5* 0.33 # jnthn: is that fixable? when yes: any pointers where to start fixing this up?
21:19 camelia rakudo-jvm 2c40f6: OUTPUT«3.3000000000000006E-6␤»
21:19 camelia ..rakudo-parrot 2c40f6: OUTPUT«3.3e-06␤»
21:19 moritz jaffa4: and now you don't precompile, or you try to fix the precompilation bug
21:20 moritz jaffa4: or you figure out what triggers the bug, and avoid the trigger
21:20 jaffa4 How do I stop panda from precompiling?
21:20 FROGGS jaffa4: would be nice to know what triggers it btw
21:20 dmol Hello! How should perl6-pod parser behave on wrongly typed p6 docs like http://bpaste.net/show/148751/ ? Should it die?
21:21 jaffa4 probably using Perl6::Grammar from nqp
21:21 timotimo dmol: it would be nice if it had a nice error message instead
21:22 FROGGS jaffa4: can you bisect it?
21:22 jaffa4 bisect it?
21:23 FROGGS jaffa4: comment out about 50% of the code, recompile, test
21:23 dmol timotimo: I use (p5) Perl6::Pod for docs generating. Now it just silently says nothing, and includes "=end code" into the code block
21:23 FROGGS jaffa4: if the error is still there, omment out another 50% of the remaining lines, recompile, test
21:23 FROGGS jaffa4: if it succeeds, activate some of the last lines again...
21:24 dmol timotimo: that causes me a lot of troubles, when I mistyped for p6::slides, when image was totally ommited.
21:24 ingy^ joined #perl6
21:24 dmol timotimo: so, if nothing other is predefined, it is better to die
21:24 FROGGS dmol: we are the wrong guys when it comes to P5 modules
21:24 timotimo :(
21:25 timotimo jnthn: java.lang.ArrayIndexOutOfBoundsException: - what could this mean now? :)
21:25 jaffa4 bye all, leaving
21:25 FROGGS jaffa4: o/
21:25 jnthn Though we should check if Rakudo's Pod parser gets a better error on it ;)
21:25 jnthn timotimo: Similar kind of issue
21:25 FROGGS dmol: IMO dying with a proper error message is never bad
21:26 dmol FROGGS: is there p6 module for generation pdf slides (latex/beamer) ?
21:26 timotimo you are right of course, i missed a POP2 replacement
21:26 rurban1 joined #perl6
21:26 jnthn timotimo: ah :)
21:26 timotimo when this works i'll be pretty happy
21:26 jnthn The whole pop vs pop2 thing on JVM is quite the annoyance.
21:27 timotimo still won't make a noticable difference in rakudo setting parsing performance, sadly
21:27 jnthn No, we've few ranges there
21:27 FROGGS dmol: no idea, maybe ask masak if here is nothing: http://modules.perl6.org/
21:27 timotimo i wonder what automatic optimization will help there at all
21:28 jnthn timotimo: Probably using the NFA to entirely eliminate certain rule calls, perhaps.
21:28 timotimo we've already made a lot of headway there recently, didn't we? do you recall any rules that should be, but aren't declarative?
21:29 dmol FROGGS: thanks!
21:29 timotimo iirc, making something declarative that previously wasn't can break things, because you want to have control over what takes part in the LTM etc etc
21:32 jnthn timotimo: No, I more meant (this is tricky and I ain't suggesting doing it) that after the NFA matches, it may be able to tell us "don't bother re-scanning this bit" or so
21:32 timotimo oh
21:32 timotimo i thought that already happens because it has no fate to do that part?
21:33 timotimo or did you mean re-using data from the NFA to populate captures?
21:33 * lizmat is finally back and checking backlog
21:34 TimToady timotimo: there are several components to that; you can pretty easily skip declarative bits that don't capture
21:34 jnthn timotimo: It re-evaluates the rule that is chosen, it just uses the NFA to decide which path to take
21:34 timotimo ah, mhm
21:34 jnthn timotimo: And we can probably find ways to do a bit more than that. :)
21:34 TimToady there are implementations that can use declarative match to find captures, but in my experience they tend not to scale well
21:35 TimToady we may also be able to avoid doing some of the recursive descent, and just fake the tree that we know would've been returned had we done it
21:35 TimToady but that's hard to integrate with the actions
21:36 timotimo the jast dumper cannot dump jasts :(
21:36 TimToady another possible approach is to not actually rescan the declarative part unless we know that the captured bits have to be pulled out, since a certain amount of capture is accidental
21:37 TimToady but doing that lazily might be more overhead than it's worth; dunno unless someone tries it
21:38 * TimToady still thinks that the fastest way to "cheat" would be to recognize when we have a stable grammar and store an equivalent YACC grammar, then call back into the recursive descent only if we get a failure that need a better error message
21:38 TimToady that's not likely a trivial undertaking either
21:40 TimToady there may be more that can be done in terms of moving hash entries into native attributes
21:43 TimToady but we really just need better profiling, including of factors that cut across the way normal profilers divide up the problem
21:44 TimToady since a bad algoritm that is replicated in many places will often not show up on routine-based profiler
21:44 timotimo yeah :(
21:45 TimToady either half my keys aren't working, or half my neurons, or both
21:45 * TimToady goes to take a nap to see if it eliminates the second possiblility
21:47 pippo joined #perl6
21:47 FROGGS so what happens next? The Optimomizer mutates into The Profilimo?
21:48 * FROGGS .oO( hey! don't expect more at that time'o'day! )
21:50 timotimo haha
21:50 rurban1 joined #perl6
21:52 timotimo well, i can measure no performance benefit from my charrange implementation
21:52 timotimo on the jvm, that is
21:52 timotimo so maybe the jit already optimizes the hell out of that operation
21:54 FROGGS yeah, quite possible
21:54 timotimo well, since it works i'll go ahead and push it
21:55 FROGGS timotimo++
21:56 dalek nqp: 098f5b7 | (Timo Paulssen)++ | src/ (2 files):
21:56 dalek nqp: first attempt at charrange on JVM
21:56 dalek nqp: review: https://github.com/perl6/nqp/commit/098f5b7722
21:56 dalek nqp: b3d6cb7 | (Timo Paulssen)++ | src/ (3 files):
21:56 dalek nqp: implement negated charrange on parrot and jvm
21:56 dalek nqp:
21:56 dalek nqp: jvm part is still b0rked, though
21:56 dalek nqp: review: https://github.com/perl6/nqp/commit/b3d6cb70bc
21:56 dalek nqp: a015b4a | (Timo Paulssen)++ | src/vm/jvm/QAST/Compiler.nqp:
21:56 dalek nqp: longs occupy 2 slots in the stack. jnthn++
21:56 dalek nqp: review: https://github.com/perl6/nqp/commit/a015b4a2d3
21:57 itz http://act.yapc.eu/lpw2013/talk/5150
21:57 lizmat itz++
21:57 tadzik ooh
21:57 tadzik makesme want to go to lpw :)
21:58 lizmat tadzik: there's still time!
21:58 dalek nqp: 7b9f357 | (Timo Paulssen)++ | src/vm/parrot/QAST/Compiler.nqp:
21:58 dalek nqp: actually, don't try to find \r\n for zerowidth at all.
21:58 dalek nqp: review: https://github.com/perl6/nqp/commit/7b9f357be0
21:59 tadzik lizmat: yeah, but my calendar is pack()ed :(
22:00 FROGGS timotimo: does that fix the issues about <?[\w]> we had in curseless?
22:00 timotimo oh
22:00 timotimo we did?
22:00 FROGGS yeah
22:00 timotimo well, it maybe does!
22:01 FROGGS cool :o)
22:01 tadzik oh well, I'll look at flights :P
22:01 FROGGS something I can try tomorrow :o)
22:01 timotimo actually, is \w word or whitespace?
22:01 FROGGS word
22:01 timotimo in that case, no, it shouldn't fix anything
22:01 FROGGS ahh, newline, I see
22:02 timotimo after a \r\n is matched for zerowidth, the cursor was mistakenly moved ahead one character
22:03 lue welp, I converted @!parents to $!parent, and now I get  Attribute '%!methods' not declared at line 47, near ");\n    }\n\n"  :/
22:03 timotimo :(
22:03 lue I think I somehow b0rked NQP's object system
22:03 * lue &
22:03 tadzik globally!?
22:04 timotimo on the whole wide world?!?! :o
22:05 dalek specs: fdc1356 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
22:05 dalek specs: Missed one more Supply role -> Publish class
22:05 dalek specs: review: https://github.com/perl6/specs/commit/fdc1356d6b
22:05 FROGGS timotimo: the not converted <?before's contain \s :o)
22:06 timotimo ah!
22:06 timotimo in that case, i may have fixed it! :)
22:06 timotimo but only on windows, where there's \r\n?
22:06 jnthn Early night because exhaust &
22:06 timotimo gnite jnthn, and thanks very muc hagain!
22:07 lizmat gnight jnthn!
22:13 xinming_ joined #perl6
22:18 dalek nqp: 24b421b | (Timo Paulssen)++ | src/vm/parrot/QAST/Compiler.nqp:
22:18 dalek nqp: use eqat for "\r\n" check instead of substr+iseq
22:18 dalek nqp: review: https://github.com/perl6/nqp/commit/24b421b3b1
22:38 dalek nqp: 5f497cb | (Timo Paulssen)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
22:38 dalek nqp: moarvm had the \r\n bug, too.
22:38 dalek nqp: review: https://github.com/perl6/nqp/commit/5f497cba83
22:39 raiph joined #perl6
22:40 lizmat n: class A {method new {say "A.new"}}; role x { method new {say "role.new"; nextsame}}; A.new does x
22:40 camelia niecza v24-98-g473bd20: OUTPUT«A.new␤Unhandled exception: Cannot use 'does' operator with an immutable object␤  at /home/p6eval/niecza/lib/CORE.setting line 1536 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1469 (infix:<does> @ 8) ␤  at /tmp/pH3b7WUaaM line 1 (m…»
22:40 lizmat r: class A {method new {say "A.new"}}; role x { method new {say "role.new"; nextsame}}; A.new does x
22:41 camelia rakudo-parrot 2c40f6, rakudo-jvm 2c40f6: OUTPUT«A.new␤»
22:41 lizmat I sorta expected this to say "role.new" first before saying A.new
22:45 woolfy1 Thanks to the donation made by the Perl 6 Community!  http://act.yapc.eu/lpw2013/news/1117
22:45 woolfy1 London Perl Workshop.  Looking forward to meet you all there.
22:46 Juerd Wonderful, woolfy1 :)
22:46 woolfy1 Happy!
22:47 Juerd I do wonder how incredibly expensive the LPW must be, with this many sponsors!
22:53 lue Is there a non-WHAT way to learn the type of an NQP variable, or should I try nqp-m (if it exists)?
22:53 lue (nqp-j for some reason refuses to run the examples :/)
22:54 lizmat lue: sorry, too tired to think straight
22:54 lizmat which reminds me, I should go to bed&
22:54 lue That's alright :)
22:54 lue ♞ lizmat o/
22:57 woolfy1 LPW hosts 250+ attendees, it is free (as in you pay nothing to attend), also coffee/tea/snacks (not a free lunch), there are 5 tracks.  The combination does ask for some funding.
22:57 woolfy1 Oh, that was meant for Juerd.
22:57 Juerd Oh, wow, I didn't know it was that big, and free.
22:57 Juerd Now I want to go there. :P
22:58 woolfy1 http://act.yapc.eu/lpw2013/stats  (now already almost 200)    &     http://act.yapc.eu/lpw2012/stats   (300+)
22:59 woolfy1 This will be our 3rd LPW.  It's not just the workshop, the topics, the people.  London is also magnificent.  The British Museum, for example, is an immensely large museum, free entrance, mummies, fossils, the Rosetta Stone!
23:00 woolfy1 The British Museum dawrfs our Dutch Rijksmuseum.
23:04 woolfy1 s/dawrfs/dwarfs/
23:08 arnsholt The British Museum is kind of ridiculous
23:08 arnsholt Also, full of stuff the British have stolen throughout the centuries =)
23:08 colomon joined #perl6
23:13 woolfy1 Maybe ridiculous that it is full of stolen stuff, but on the other hand, it is magnificent.
23:14 woolfy1 Why ridiculous???
23:15 arnsholt Just so massive
23:15 arnsholt Not ridiculous bad, just insanely much stuff =)
23:16 woolfy1 I dunno why massice means ridiculous. Apollo rockets, pyramids, Betelgeuze, universe: not ridiculous at all.
23:17 woolfy1 Ack. lizmat and I went for a whole day and all we say was the Egyptian wing and bits of the Chinese section. But I saw mummies and the Rosetta Stone!
23:17 woolfy1 oh well, it's not Perl 6.  In time, Perl 6 will be massive as well.
23:17 woolfy1 Bed &
23:17 woolfy1 bye
23:31 timotimo its memory requirements already are :)
23:31 lue My problems were apparently caused by forgetting to "mangle" the class name :) [which in the PHPish sample means "name" should actually be "::name"]
23:31 timotimo oh well...
23:32 lue (now it's back to easier debugging tasks)
23:39 davecc joined #perl6
23:57 pippo gnight #perl6
23:57 pippo left #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo