Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-10-22

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:06 timotimo n: say "abc, efg = 123" ~~ /:s [$<key>=[\w+]]+% \, \= $<val>=\S+ /
00:06 camelia niecza v24-98-g473bd20: OUTPUT«「abc, efg = 123」␤ key => 「abc」␤ key => 「efg」␤ val => 「123」␤␤»
00:07 fhelmberger joined #perl6
00:10 Mouq nqp: my @a; @a[0] := 14; my $b := @a.unshift(57); say($b)
00:10 camelia nqp: OUTPUT«2␤»
00:10 Mouq nqp-jvm: my @a; @a[0] := 14; my $b := @a.unshift(57); say($b)
00:10 Mouq nqp-moarvm: my @a; @a[0] := 14; my $b := @a.unshift(57); say($b)
00:10 camelia nqp-jvm: OUTPUT«57␤»
00:10 camelia nqp-moarvm: OUTPUT«57␤»
00:12 Psyche^_ joined #perl6
00:21 TimToady nr: my @a; @a[0] := 14; my $b := @a.unshift(57); say($b)
00:21 camelia rakudo e9830d, niecza v24-98-g473bd20: OUTPUT«57 14␤»
00:37 btyler joined #perl6
00:42 fridim_ joined #perl6
00:56 benabik joined #perl6
00:59 dayangkun joined #perl6
01:12 dansamo joined #perl6
01:15 dayangkun joined #perl6
01:48 berekuk joined #perl6
02:03 BenGoldberg It occurs to me that the evalbot (camelia) is lacking a useful feature: that of running a line of nqp code using multiple different nqp implementations, and grouping together identical outputs, just as it can do with the perl6 implementations.
02:10 Mouq BenGoldberg: I can change that pretty easily. Do you think (I do) that 'nqp: ...' will do all of them, and 'nqp-p' and 'nqp-parrot' does what 'nqp' used to do?
02:10 Mouq s/will/should
02:17 dalek evalbot: 59a6f8f | Mouq++ | evalbot.pl:
02:17 dalek evalbot: Make 'nqp' try all nqp impls, move 'nqp' to 'nqp-parrot'
02:17 dalek evalbot: review: https://github.com/perl6/evalbot/commit/59a6f8fff2
02:17 diakopter nqp: 1
02:17 camelia nqp: ( no output )
02:18 Mouq Too bad :)
02:18 Mouq Unless anyone objects, then I can just redact the commit :p
02:18 Mouq evalbot control restart
02:18 Mouq *revert
02:19 camelia joined #perl6
02:19 Mouq nqp: 1
02:19 diakopter Mouq: I don't think evalbot control restart does a git pull
02:19 camelia nqp: ( no output )
02:19 diakopter Mouq: however, I can trigger it
02:20 Mouq Oh, no it doesn't. You can if you want, and I'd appreciate it
02:25 camelia joined #perl6
02:25 Mouq nqp: 1
02:25 camelia nqp-moarvm, nqp-jvm, nqp-parrot: ( no output )
02:25 Mouq diakopter++ BenGoldberg++
02:26 benabik Given that in the (near?) future, you'll have to use nqp-{j,p,m} to get a specific nqp, doing the same in camelia makes sense.  :-)
02:27 Mouq nqp-p: say(4)
02:27 camelia nqp-parrot: OUTPUT«4␤»
02:27 Mouq nqp: say(4)
02:27 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«4␤»
02:29 diakopter nqp: 1
02:29 camelia nqp-moarvm, nqp-jvm, nqp-parrot: ( no output )
02:29 lue benabik: not if you symlink :)
02:30 diakopter we'll use the distro stuff to do that
02:30 benabik lue: To get a specific version, I said.  nqp alone will be unspecified VM, and on IRC happens to mean all three.  :-)
02:31 diakopter if someone would like to fix this so it only rebuilds if git pull fetches new commits, it would be nice: https://github.com/perl6/evalbot/commit/e2559d7f7ba23865ae5b49c19931e4efd4c6ffdd
02:34 benabik Looks like all of the rebuild scripts could use it?
02:35 benabik Busy doing homework, but all you should need a couple invocations of `git rev-parse HEAD`, a variable, and a comparison.
02:46 Mouq .oO(Q:irc<nqp: …>'s been lacking a revision file, relatedly)
02:47 benabik p6: say 1
02:47 camelia rakudo e9830d, niecza v24-98-g473bd20: OUTPUT«1␤»
03:39 preflex joined #perl6
03:41 c1sung joined #perl6
04:01 TimToady nr: say <A B C D>.permutations
04:01 camelia niecza v24-98-g473bd20: OUTPUT«Unhandled exception: Unable to resolve method permutations in type Parcel␤  at /tmp/qUaI9By7Mu line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE…»
04:01 camelia ..rakudo e9830d: OUTPUT«No such method 'permutations' for invocant of type 'Parcel'␤  in block  at /tmp/D26NZdsuU0:1␤␤»
04:02 Mouq r: 4.permutations #?
04:02 camelia rakudo e9830d: OUTPUT«No such method 'permutations' for invocant of type 'Int'␤  in block  at /tmp/mfJwrjJlZ2:1␤␤»
04:02 Mouq r: permutations(4).say #?
04:02 camelia rakudo e9830d: OUTPUT«===SORRY!===␤no ICU lib loaded␤»
04:02 TimToady nr: say <A B C D>.combinations
04:02 camelia niecza v24-98-g473bd20: OUTPUT«Unhandled exception: Unable to resolve method combinations in type Parcel␤  at /tmp/aU0JxXKYpM line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE…»
04:02 camelia ..rakudo e9830d: OUTPUT«No such method 'combinations' for invocant of type 'Parcel'␤  in block  at /tmp/1OH_lfybZj:1␤␤»
04:02 TimToady nr: say <A B C D>.combinations(4)
04:03 camelia niecza v24-98-g473bd20: OUTPUT«Unhandled exception: Unable to resolve method combinations in type Parcel␤  at /tmp/FiYcJWq2Z2 line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE…»
04:03 camelia ..rakudo e9830d: OUTPUT«No such method 'combinations' for invocant of type 'Parcel'␤  in block  at /tmp/1TS0K0931y:1␤␤»
04:03 Mouq r: permutations(4,3).say # oh, duh
04:03 camelia rakudo e9830d: OUTPUT«===SORRY!===␤no ICU lib loaded␤»
04:03 TimToady o_O
04:04 TimToady nr: say [<A B C D>].permutations
04:04 camelia rakudo e9830d: OUTPUT«A B C D A B D C A C B D A C D B A D B C A D C B B A C D B A D C B C A D B C D A B D A C B D C A C A B D C A D B C B A D C B D A C D A B C D B A D A B C D A C B D B A C D B C A D C A B D C B A␤»
04:04 camelia ..niecza v24-98-g473bd20: OUTPUT«Unhandled exception: Unable to resolve method permutations in type Array␤  at /tmp/QPWfnuDiGb line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE …»
04:04 TimToady nr: say [<A B C D>].permutations».join
04:04 camelia niecza v24-98-g473bd20: OUTPUT«Unhandled exception: Unable to resolve method permutations in type Array␤  at /tmp/eYzr1swGpx line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE …»
04:04 camelia ..rakudo e9830d: OUTPUT«A B C D A B D C A C B D A C D B A D B C A D C B B A C D B A D C B C A D B C D A B D A C B D C A C A B D C A D B C B A D C B D A C D A B C D B A D A B C D A C B D B A C D B C A D C A B D C B A␤»
04:05 TimToady rakudobug
04:05 TimToady .join should be nodal
04:05 yoleaux TimToady: Sorry, this command is admin-only.
04:05 TimToady .go jump in a lake
04:06 TimToady r: say [<A B C D>].permutations.perl
04:06 camelia rakudo e9830d: OUTPUT«(("A", "B", "C", "D"), ("A", "B", "D", "C"), ("A", "C", "B", "D"), ("A", "C", "D", "B"), ("A", "D", "B", "C"), ("A", "D", "C", "B"), ("B", "A", "C", "D"), ("B", "A", "D", "C"), ("B", "C", "A", "D"), ("B", "C", "D", "A"), ("B", "D", "A", "C"), ("B", "D", "C", "A…»
04:06 TimToady r: say [<A B C D>].permutations.perl.lol.perl
04:06 camelia rakudo e9830d: OUTPUT«("((\"A\", \"B\", \"C\", \"D\"), (\"A\", \"B\", \"D\", \"C\"), (\"A\", \"C\", \"B\", \"D\"), (\"A\", \"C\", \"D\", \"B\"), (\"A\", \"D\", \"B\", \"C\"), (\"A\", \"D\", \"C\", \"B\"), (\"B\", \"A\", \"C\", \"D\"), (\"B\", \"A\", \"D\", \"C\"), (\"B\", \"C\", \"A…»
04:06 TimToady r: say [<A B C D>].permutations.lol.perl
04:06 camelia rakudo e9830d: OUTPUT«LoL.new(ListIter.new())␤»
04:06 TimToady r: say [<A B C D>].permutations.lol».join
04:06 camelia rakudo e9830d: OUTPUT«Default constructor for 'ListIter' only takes named arguments␤  in method new at src/gen/CORE.setting:798␤  in method new at src/gen/CORE.setting:793␤  in sub hyper at src/gen/CORE.setting:16562␤  in sub hyper at src/gen/CORE.setting:16518␤  in method…»
04:07 TimToady um...
04:07 TimToady r: say [<A B C D>].permutations.lol.map: *.join
04:07 camelia rakudo e9830d: OUTPUT«ABCDABDCACBDACDBADBCADCBBACDBADCBCADBCDABDACBDCACABDCADBCBADCBDACDABCDBADABCDACBDBACDBCADCABDCBA␤»
04:07 TimToady sigh...
04:08 TimToady r: say [<A B C D>].permutations.tree.map: *.join
04:08 camelia rakudo e9830d: OUTPUT«ABCD ABDC ACBD ACDB ADBC ADCB BACD BADC BCAD BCDA BDAC BDCA CABD CADB CBAD CBDA CDAB CDBA DABC DACB DBAC DBCA DCAB DCBA␤»
04:08 TimToady that should not be the only way to do that...
04:09 Mouq r: say [<A B C D>].permutations.tree>>.join
04:09 camelia rakudo e9830d: OUTPUT«A B C D A B D C A C B D A C D B A D B C A D C B B A C D B A D C B C A D B C D A B D A C B D C A C A B D C A D B C B A D C B D A C D A B C D B A D A B C D A C B D B A C D B C A D C A B D C B A␤»
04:09 TimToady descended to the leaves, alas
04:10 TimToady methods on lists should be considered nodal
04:14 dakkar joined #perl6
04:39 kaleem joined #perl6
04:54 Rotwang joined #perl6
05:07 lue nqp: my @a := 5,6; say(nqp::existspos(@a, 2));
05:07 camelia nqp-jvm: OUTPUT«P6int representation does not implement exists_pos␤  in  (/tmp/Cs0gC3rbON:1)␤  in  (src/stage2/gen/NQPHLL.nqp:1098)␤  in eval (src/stage2/gen/NQPHLL.nqp:1084)␤  in evalfiles (src/stage2/gen/NQPHLL.nqp:1290)␤  in command_eval (src/stage2/gen/NQPHLL.nqp:1194)…»
05:07 camelia ..nqp-parrot: OUTPUT«exists_keyed() not implemented in class 'Integer'␤current instr.: '' pc 64 ((file unknown):38321776) (/tmp/T7zOhxARUd:1)␤»
05:07 camelia ..nqp-moarvm: OUTPUT«This representation (P6int) does not support positional access␤frame_name_0␤»
05:08 lue nqp: my @a := [5,6]; say(nqp::existspos(@a, 2));
05:08 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«0␤»
05:08 lue nqp: my $a := [5,6]; say(nqp::existspos($a, 2));
05:08 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«0␤»
05:10 skids joined #perl6
05:13 lue Now I suddenly understand why exactly jnthn uses **0..1 instead of ? in his regexes in most of the slides :D
05:25 lue Blargh. I'm getting a segfault using nqp::existspos, and I've no clue why :(
05:41 lue there's no nqp function to just tell me the type of a given variable, is there? :/
05:42 SamuraiJack joined #perl6
05:44 moritz lue: $obj.HOW.name($obj)
05:45 lue Well then :) . I guess I'm being a bit too conservative in guessing how large NQP's subset of P is :)
05:45 moritz in particular NQP has a MOP too
05:46 lue For some reason, **0..1 isn't forcing a list in NQP like the slides claim, which means some fiddling involving an if nqp::islist() {} conditional. :/
05:46 [Sno] joined #perl6
05:52 moritz nqp: 'a' ~~ /^ (a) ** 0..1 /; say $/[0][0]
05:52 camelia nqp-jvm: OUTPUT«Confused at line 2, near "say $/[0]["␤  in panic (src/stage2/gen/NQPHLL.nqp:279)␤  in comp_unit (src/stage2/gen/NQP.nqp:772)␤  in TOP (src/stage2/gen/NQP.nqp:669)␤  in parse (src/stage2/gen/QRegex.nqp:1247)␤  in parse (src/stage2/gen/NQPHLL.nqp:1376)␤  in…»
05:52 camelia ..nqp-moarvm: OUTPUT«Confused at line 2, near "say $/[0]["␤panic␤»
05:52 camelia ..nqp-parrot: OUTPUT«Confused at line 2, near "say $/[0]["␤current instr.: 'panic' pc 14748 (src/stage2/gen/NQPHLL.pir:5229) (src/stage2/gen/NQPHLL.nqp:279)␤»
05:52 moritz nqp: 'a' ~~ /^ (a) ** 0..1 /; say($/[0][0])
05:52 camelia nqp-jvm: OUTPUT«java.lang.NullPointerException␤  in  (/tmp/IipcQZwbba:1)␤  in  (src/stage2/gen/NQPHLL.nqp:1098)␤  in eval (src/stage2/gen/NQPHLL.nqp:1084)␤  in evalfiles (src/stage2/gen/NQPHLL.nqp:1290)␤  in command_eval (src/stage2/gen/NQPHLL.nqp:1194)␤  in command_line…»
05:52 camelia ..nqp-moarvm: OUTPUT«No lexical found with name '$/'␤frame_name_0␤»
05:52 camelia ..nqp-parrot: OUTPUT«␤»
05:52 moritz nqp: my $/ := 'a' ~~ /^ (a) ** 0..1 /; say($/[0][0])
05:53 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«a␤»
05:53 moritz nqp: my $/ := 'a' ~~ /^ (b) ** 0..1 /; my $first := $/[0]; say $first.HOW.name($first)
05:53 camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say $first"␤panic␤»
05:53 camelia ..nqp-parrot: OUTPUT«Confused at line 2, near "say $first"␤current instr.: 'panic' pc 14748 (src/stage2/gen/NQPHLL.pir:5229) (src/stage2/gen/NQPHLL.nqp:279)␤»
05:53 camelia ..nqp-jvm: OUTPUT«Confused at line 2, near "say $first"␤  in panic (src/stage2/gen/NQPHLL.nqp:279)␤  in comp_unit (src/stage2/gen/NQP.nqp:772)␤  in TOP (src/stage2/gen/NQP.nqp:669)␤  in parse (src/stage2/gen/QRegex.nqp:1247)␤  in parse (src/stage2/gen/NQPHLL.nqp:1376)␤  in…»
05:53 moritz nqp: my $/ := 'a' ~~ /^ (b) ** 0..1 /; my $first := $/[0]; say($first.HOW.name($first))
05:53 camelia nqp-parrot: OUTPUT«Can only use get_how on a SixModelObject␤current instr.: '' pc 176 ((file unknown):48718186) (/tmp/Ss2gPnxEnP:1)␤»
05:53 camelia ..nqp-moarvm, nqp-jvm: OUTPUT«NQPArray␤»
05:54 moritz lue: looks to me like it's a list always
05:55 lue weirdly though, existpos segfaults and islist returns 0 unless I step in and forcibly create a list. (I'm working on the if/else part of the slides, so the issue is with one <EXPR> not becoming a 1-elem list)
06:00 lue At least I finally got it working, by forcing that list so existspos doesn't segfault :)
06:01 fhelmberger joined #perl6
06:11 denisboyun joined #perl6
06:17 darutoko joined #perl6
06:41 jnthn morning, #perl6
06:41 yoleaux 21 Oct 2013 23:11Z <lue> jnthn: I haz change to nqp, but I no haz push bit. halp? :) [the specific change is the removal of the "redundant \h* line" from earlier]
06:41 kurahaupo joined #perl6
06:45 kurahaupo_ joined #perl6
06:49 jnthn .lue tell I need your github name
06:49 jnthn uh, dammit
06:49 jnthn .tell lue I need your github name :)
06:49 yoleaux jnthn: I'll pass your message to lue.
06:51 denis_boyun joined #perl6
06:53 araujo joined #perl6
06:53 araujo joined #perl6
06:56 kurahaupo joined #perl6
06:56 dalek nqp/unified-build: 250283c | moritz++ | / (3 files):
06:56 dalek nqp/unified-build: [build] various MoarVM fixes
06:56 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/250283ca90
06:58 dalek nqp/unified-build: a6a11fc | moritz++ | tools/build/gen-moar-runner.pl:
06:58 dalek nqp/unified-build: [moar] runner is now nqp-m
06:58 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/a6a11fc52c
06:59 jnthn moritz: Do you get a (delegating) ./nqp at all under the latest work?
07:01 FROGGS joined #perl6
07:02 moritz jnthn: no
07:03 moritz jnthn: and I'd like to avoid doing that
07:03 jnthn hm
07:03 moritz (unless there's a very good use case of which I'm not yet aware)
07:04 moritz but rakudo (on a branch) builds on top of the nqps from unified-build
07:05 dalek rakudo/unified-build: 499325e | moritz++ | / (5 files):
07:05 dalek rakudo/unified-build: start to fold ConfigureJVM.pl into Configure.pl
07:05 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/499325e0fc
07:05 moritz (at least before this patch; now rakudo-jvm is a bit broken, will fix soon)
07:09 lizmat good *, #perl6!
07:09 * lizmat tries to catch up on 3+ days of backlog
07:10 arnsholt moritz: Symlinking nqp to nqp-$foo won't work?
07:11 moritz arnsholt: it might
07:12 moritz arnsholt: but once you start to actually it for anything serious, you still have to know for which backend it was compiled
07:12 moritz *actually using
07:12 moritz that's why I won't bother, unless somebody has a good use case
07:15 preflex joined #perl6
07:15 dmol joined #perl6
07:18 diakopter right, same for any compiler that doesn't support cross compilation.. you hafta know which architecture it's built to target
07:19 dansamo joined #perl6
07:21 arnsholt moritz: Yeah. I'm all for the new layout for my workflow =)
07:34 kurahaupo joined #perl6
07:38 fhelmberger joined #perl6
07:38 masak morning, #perl6
07:38 diakopter ayoy
07:39 masak agog
07:40 dalek rakudo/unified-build: 74481bb | moritz++ | tools/lib/NQP/Configure.pm:
07:40 dalek rakudo/unified-build: fix parsing of nqp-j config
07:40 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/74481bb1d8
07:40 moritz azoz
07:44 FROGGS morning
07:44 masak moarning
07:49 kurahaupo joined #perl6
07:54 kurahaupo joined #perl6
07:56 integral joined #perl6
07:56 FROGGS diakopter++ BenGoldberg++ Mouq++
07:57 FROGGS nqp: say(nqp::null_s())
07:57 camelia nqp-jvm: OUTPUT«null␤»
07:57 camelia ..nqp-moarvm: OUTPUT«(signal SEGV)»
07:57 camelia ..nqp-parrot: OUTPUT«␤»
07:57 FROGGS \o/
08:01 masak wow, it's so wonderful to see all three of them.
08:02 masak though I must say I prefer nqp-jvm's stance in the above dialogue.
08:02 * moritz wonders why nqp-parrot doesn't NPMCA
08:03 moritz wait, what's null_s ?
08:03 moritz null string?
08:04 masak huh. good_q.
08:07 moritz in perl 5 lingo, "null string" just means an empty string
08:07 moritz if that's what's going on, I agree with parrot
08:07 arnsholt Probably a Parrot-ism
08:08 arnsholt IIRC Parrot distinguishes between NULLPMC and NULLSTRING
08:08 moritz or is it a NULL pointer in a string register?
08:19 dalek rakudo/nom: b0c90ed | (Elizabeth Mattijsen)++ | src/core/Parcel.pm:
08:19 dalek rakudo/nom: Implement Parcel.rotate
08:19 dalek rakudo/nom:
08:19 dalek rakudo/nom: One wonders whether the internal logic would warrant an nqp::rotate op, which
08:19 dalek rakudo/nom: could then be shared with List.rotate
08:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b0c90ed3d2
08:20 moritz lizmat: one wonders if such methods (that go into both List and Parcel) actually belong into a common role
08:20 jnthn moritz: Main use case is being able to write just "nqp" when I want to run code to demonstrate stuff. :)
08:20 moritz jnthn: for that I recommand a shell alias :-)
08:21 lizmat moritz: big difference is that a Parcel has fixed length, no ?
08:21 moritz lizmat: yes, but that doesn't preclude common operations
08:22 jnthn r: my @a = 1,2,3; say @a.rotate(2)
08:22 camelia rakudo e9830d: OUTPUT«3 1 2␤»
08:22 jnthn r: my @a = 1,2,3; @a.rotate(2); say @a;
08:22 camelia rakudo e9830d: OUTPUT«1 2 3␤»
08:22 jnthn ok, good, it's immutable.
08:22 JimmyZ how do you do shell alias on cmd
08:23 jnthn moritz: It just feels a little unfortunate that anybody building an NQP (and most people will only care for one backend) will not just be able to run it as "nqp"
08:23 kurahaupo joined #perl6
08:23 donaldh joined #perl6
08:23 jnthn moritz: I'm not suggesting we use that in the Rakudo build.
08:24 moritz jnthn: hm. Maybe I can come up with something clever
08:26 sqirrel joined #perl6
08:27 jnthn moritz: Mostly I'm just making a convenience argument :)
08:27 jnthn moritz: What do we do in Rakudo? Do you get a ./perl6 ?
08:28 arnsholt I dunno about Moar, but at least NQP/JVM's ./nqp is pretty useless at any rate
08:28 moritz jnthn: not yet (rakudo doesn't yet support building multiple backends in one place)
08:28 lizmat is there a reason why there is nothing in S32/Containers about Parcel ?
08:28 lizmat as a class, I mean?
08:29 moritz lizmat: hysterical raisins
08:29 lizmat does it live somewhere else then?
08:29 lizmat or was it simply omitted ?
08:29 moritz scattered through S02 iirc
08:29 moritz or not documented at all
08:29 lizmat ack
08:29 lizmat afk for a few hours&
08:29 jnthn arnsholt: Useless in what sense?
08:29 jnthn arnsholt: I use it plenty.
08:30 arnsholt At least on my machine it's only useful as long as you're inside the NQP directory
08:30 arnsholt Since the classpaths are relative, it borks if you call it from a different directory
08:31 jnthn You generally have to be in the same directory as soemthing to write ./something :P
08:31 arnsholt If you want that you have to use ./nqp/install/foo
08:31 jnthn Well sure, you use the installed one then.
08:31 arnsholt Sure, sure
08:33 jnthn moritz: Oh, do you *install* a nqp that delegaets?
08:33 moritz jnthn: no
08:33 jnthn Ah, OK
08:34 kurahaupo joined #perl6
08:38 iSlug joined #perl6
08:45 kurahaupo_ joined #perl6
08:49 arnsholt rj: class Foo { has str $!str is box_target; method foo() { say "`$!str'" }; }; my Foo $x := nqp::box_s(nqp::null_s(), Foo); $x.foo
08:49 camelia rakudo-jvm b0c90e: OUTPUT«`null'␤»
08:49 arnsholt jnthn: Golfed test case for the null string bug NativeCall uncovered
08:50 jnthn Hmm
08:51 arnsholt Can probably do the same thing using NQP, but I don't think NQP exposes box_targets directly in the syntax
08:52 daxim joined #perl6
08:56 Sarath joined #perl6
08:59 kurahaupo joined #perl6
09:00 moritz you'd have to create an NQPAttribute manually
09:09 kurahaupo joined #perl6
09:25 kurahaupo joined #perl6
09:32 kurahaupo joined #perl6
09:33 xinming joined #perl6
09:36 dansamo joined #perl6
10:01 dalek rakudo/unified-build: bbb9262 | moritz++ | / (4 files):
10:01 dalek rakudo/unified-build: more Makefile fiddling
10:01 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/bbb9262b1b
10:01 dalek rakudo/unified-build: 65dec35 | moritz++ | / (3 files):
10:01 dalek rakudo/unified-build: unconfuse perl6-j runner
10:01 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/65dec3548d
10:01 dalek rakudo/unified-build: a7d6e69 | moritz++ | ConfigureJVM.pl:
10:01 dalek rakudo/unified-build: toss ConfigureJVM.pl
10:01 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/a7d6e69baf
10:11 moritz the unified-build branch in rakudo is now at the point where you can compile the setting with both parrot and JVM in the same build dir
10:11 FROGGS cool!
10:11 FROGGS moritz++
10:11 FROGGS moritz: now you just have to make it compiling on moar :P
10:12 kurahaupo_ joined #perl6
10:12 moritz oh noez, rakudo's setting compilation failed in a quite late stage :(
10:14 FROGGS :(
10:15 dalek rakudo/unified-build: b9d2244 | moritz++ | tools/build/Makefile- (2 files):
10:15 dalek rakudo/unified-build: avoid collision in src/gen/main.nqp
10:15 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/b9d2244235
10:18 denisboyun joined #perl6
10:28 kurahaupo joined #perl6
10:29 kurahaupo joined #perl6
10:31 * lizmat is back
10:31 lizmat r: say (1,2,3).List  # shouldn't this just work, because List is a type ?
10:31 camelia rakudo b0c90e: OUTPUT«No such method 'List' for invocant of type 'Parcel'␤  in block  at /tmp/rUcvHwjlD9:1␤␤»
10:31 lizmat n: say (1,2,3).List
10:31 camelia niecza v24-98-g473bd20: OUTPUT«Unhandled exception: Unable to resolve method List in type Parcel␤  at /tmp/yCPNW8SzIk line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) …»
10:32 lizmat std: say (1,2,3).List
10:32 camelia std 082981d: OUTPUT«ok 00:01 126m␤»
10:34 diakopter lizmat: it's my recollection that the general method form of coercion isn't yet implemented
10:35 lizmat isn't that really LHF ?
10:35 xinming joined #perl6
10:36 diakopter seems to me it would have to be a compiler/macro-y thing if you didn't want to have to go recomposing all other types when a new type is declared... so, yes, probably :)
10:38 diakopter on the other hand, maybe rakudo's dispatcher has a universal built-in fallback thing to lookup in a hash of type names on method missing.
10:40 diakopter (with the usual optimizations to avoid the hash lookup)
10:41 lizmat well, I hope TimToady can shine a light
10:43 dalek rakudo/unified-build: f882d65 | moritz++ | tools/build/Makefile- (2 files):
10:43 dalek rakudo/unified-build: unentangle CORE_SOURCES
10:43 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/f882d65760
10:44 dalek roast: 0d307b0 | (Elizabeth Mattijsen)++ | S (2 files):
10:44 dalek roast: Added/Moved Parcel.rotate tests
10:44 dalek roast: review: https://github.com/perl6/roast/commit/0d307b0560
10:45 iSlug joined #perl6
10:47 lizmat this actually removes one skip from the spectest
10:49 dmol joined #perl6
10:51 dalek rakudo/unified-build: b654966 | moritz++ | t (2 files):
10:51 dalek rakudo/unified-build: [build] more fiddling
10:51 dalek rakudo/unified-build:
10:51 dalek rakudo/unified-build: now "make j-test p-test" builds rakudo-j and rakudo-p
10:51 dalek rakudo/unified-build: and runs their tests successfully, without any interferences.
10:51 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/b654966528
10:52 lizmat moritz++
10:54 moritz and p-spectest and j-spectest also seem to work
10:59 jnthn lizmat++
10:59 jnthn moritz++
10:59 jnthn it's nice to look here while I do teaching stuff and see stuff happening :)
11:01 dalek rakudo/nom: 09336e3 | (Elizabeth Mattijsen)++ | src/Perl6/Optimizer.nqp:
11:01 dalek rakudo/nom: Turn "with no arguments" to "without arguments"
11:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/09336e3661
11:02 lizmat it's only textual, but that message was bothering me for some time now  ;-)
11:02 dalek rakudo/unified-build: d251dd4 | moritz++ | Configure.pl:
11:02 dalek rakudo/unified-build: [build] generate some catch-all targets
11:02 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/d251dd4bb3
11:02 jnthn lizmat: hm, why? :)
11:02 jnthn lizmat: But the wording change is fine by me :)
11:02 moritz lizmat++ # fixing small things
11:02 lizmat r: sub a ($x) {}; a()   # will become "without"
11:02 camelia rakudo b0c90e: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'a' will never work with no arguments (lines 1, 1)␤    Expected: :($x)␤»
11:03 moritz "with no arguments" sounds a bit clumsy to me
11:03 lizmat indeed, that's the word  :-)
11:03 moritz "will never with" ... wait, not with, how shall we finish that sentence...
11:03 jnthn Well, if you want to really awesome it, "Calling 'a' requires arguments" :)
11:05 moritz things to do in the unified-build branches:
11:05 moritz 1) set up default launcher (./nqp and ./perl6)
11:05 moritz 2) use those for the */*/*.t targets, avoid duplication
11:05 moritz 3) test and fix on non-linux platforms
11:05 moritz 4) ???
11:05 moritz 5) profit!
11:06 jnthn moritz: Will we have a make test-j, etc?
11:06 kurahaupo_ joined #perl6
11:08 moritz jnthn: 'make j-test' and 'make j-spectest' already work in those branches
11:08 moritz and 'j-all' for building, 'j-install' etc.
11:11 moritz and simply 'make test' run all the {j,p,m}-test targets that were written at Configure time
11:11 moritz *runs
11:12 dalek rakudo/nom: b3ea82b | (Elizabeth Mattijsen)++ | src/Perl6/Optimizer.nqp:
11:12 dalek rakudo/nom: Further awesomize CHECK error message, jnthn++ for suggesting
11:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b3ea82b7ea
11:12 lizmat jnthn: your wish is my command  :-)
11:15 lizmat r: (1,2,3).reverse.WHAT.say  # hmmm…. shouldn't that be a Parcel also ?
11:15 camelia rakudo b0c90e: OUTPUT«(List)␤»
11:15 lizmat n: (1,2,3).reverse.WHAT.say
11:15 camelia niecza v24-98-g473bd20: OUTPUT«Unhandled exception: Unable to resolve method reverse in type Parcel␤  at /tmp/IqoRTEmd5f line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 57…»
11:16 lizmat I guess Niecza misses a 'method reverse () { self.list.reverse }' in Any
11:17 jnthn lizmat: I wish Rakudo has like 10 times faster :D
11:17 jnthn *was
11:19 * lizmat ponders getting heavier iron for jnthn
11:19 jnthn :P
11:19 lizmat although I think you already have the fastest iron in a notebook form factor, right ?
11:20 lizmat r: (1,2,3).reverse.push(4,5).say   # hehe
11:20 camelia rakudo 09336e: OUTPUT«3 2 1 4 5␤»
11:21 moritz lizmat: no, get him a slower notebook, to make create additional incentive to speed up rakudo :-)
11:23 jnthn lizmat: Yeah, it's an i7 in the notebook. And a quad-core i7 at home.
11:23 jnthn 16 GB RAM in both.
11:23 jnthn SSD :)
11:23 moritz holy shit :-)
11:23 jnthn I can "make test" in NQP on MoarVM in 8s on my machine at home, with -j6
11:24 jnthn uh
11:24 jnthn that's assuming it's already built :)
11:24 jnthn Wonder how quick I can do it once we make MoarVM actually fast... :)
11:25 lizmat .oO( we'll just add moar tests )
11:25 moritz 7s? :-)
11:27 jnthn I think the next big win will probably come from writing the type specializer... :)
11:27 kurahaupo joined #perl6
11:28 kurahaupo_ joined #perl6
11:31 kurahaupo joined #perl6
11:38 FROGGS moritz: why j-test and not test-j ooc?
11:38 lizmat tab completion ?
11:38 jnthn FROGGS: Prevention of excessive lols when we get a tcl backend.
11:38 FROGGS I'd think test-j is nicer because you would get auto completion for test-<tab><tab>
11:38 FROGGS jnthn: err, what?
11:40 * jnthn isn't spelling this one out :)
11:40 * FROGGS .oO( in the ... )
11:41 FROGGS I think I didn't get it
11:43 moritz test-tcl
11:43 moritz you have to read it out loud
11:44 moritz FROGGS: anyway, no particularly good reason; if you feel like, you can change it to test-j
11:45 berekuk joined #perl6
11:49 FROGGS ah!!
11:49 FROGGS hehe
11:49 FROGGS well, test-t would be fine though :P
11:56 lizmat r: (1,2,3).reverse.push(4,5).say   # TimToady: should this work?  aka, should .reverse on a Parcel return a List ?
11:56 camelia rakudo 09336e: OUTPUT«3 2 1 4 5␤»
11:56 lizmat there seems at least one spectest depending on this behaviour
11:57 daxim joined #perl6
11:58 * moritz would object
11:58 dalek roast: 17c4e16 | (Elizabeth Mattijsen)++ | integration/99problems-41-to-50.t:
11:58 dalek roast: Test the gray(0) case
11:58 dalek roast: review: https://github.com/perl6/roast/commit/17c4e16aac
11:58 dalek roast: 51a9828 | (Elizabeth Mattijsen)++ | integration/99problems-41-to-50.t:
11:58 dalek roast: Marking failing Parcel.reverse test as todo
11:58 dalek roast: review: https://github.com/perl6/roast/commit/51a9828876
11:59 dalek rakudo/nom: 2684416 | (Elizabeth Mattijsen)++ | src/core/Parcel.pm:
11:59 dalek rakudo/nom: Make Parcel.reverse return a Parcel rather than a List
11:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2684416fce
12:00 lizmat afk for a bit&
12:08 pernatiy joined #perl6
12:08 iSlug joined #perl6
12:27 LWA joined #perl6
12:38 sqirrel joined #perl6
12:46 zakharyas joined #perl6
12:46 fhelmberger_ joined #perl6
12:50 fhelmberger_ joined #perl6
12:50 kurahaupo joined #perl6
12:52 ajr joined #perl6
13:00 FROGGS joined #perl6
13:18 kurahaupo joined #perl6
13:20 fridim_ joined #perl6
13:23 benabik joined #perl6
13:23 kurahaupo joined #perl6
13:33 xinming joined #perl6
13:37 kurahaupo_ joined #perl6
13:38 kurahaupo joined #perl6
13:44 iSlug joined #perl6
13:45 dalek rakudo/nom: 1428359 | (Elizabeth Mattijsen)++ | src/core/Parcel.pm:
13:45 dalek rakudo/nom: Remove some obsolete postcircumfix[] code
13:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1428359ac2
13:46 btyler joined #perl6
13:54 kaare_ joined #perl6
13:54 sqirrel joined #perl6
13:58 bluescreen10 joined #perl6
14:01 kurahaupo_ joined #perl6
14:04 kaleem joined #perl6
14:06 denis_boyun joined #perl6
14:09 berekuk joined #perl6
14:10 denis_boyun__ joined #perl6
14:14 FROGGS joined #perl6
14:14 kurahaupo joined #perl6
14:15 denis_boyun joined #perl6
14:16 kurahaupo_ joined #perl6
14:19 dalek rakudo/nom: 0224123 | (Elizabeth Mattijsen)++ | src/core/Failure.pm:
14:19 dalek rakudo/nom: Some more obsolete method postcircumfix {} removal
14:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0224123a97
14:25 timotimo i wonder if arithmetic performance could be improved by implementing the rational calculations as ops that directly calculate the result as low-level as possible
14:25 timotimo rather than having to go through much NQP code, for example
14:26 timotimo since we end up having Rats in so many places
14:26 benabik Should call an exterminator.
14:26 timotimo :)
14:28 nwc10 timotimo: can you use a JVM profiler to demonstrate how much time is currently taken up with Rats? That way you'd get an upper bound on the possible improvements (ie, assume that it can be made infintely fast), which would show whether it was worth doing ahead of other things (or at all)
14:29 nwc10 it sure *feels* reasonable that it might be a problem.
14:29 nwc10 but intuition is often wrong
14:29 nwc10 (or, more usefully, profiling runs often show up something else bigger)
14:29 timotimo i recall a benchmark being presented recently
14:29 fhelmberger joined #perl6
14:30 kurahaupo joined #perl6
14:31 benabik Someone should port some common benchmark to P6 for profiling.  The benchmarks game, perhaps
14:32 benabik (Yes, yes, well volunteered.  I'm already busy running benchmarks on other languages.)
14:32 denis_boyun joined #perl6
14:33 xenoterracide joined #perl6
14:33 jnap joined #perl6
14:34 timotimo i cannot find it again >_<
14:34 timotimo it compared arithmetic in nqp with explicitly doing the arithmetic and all other stuff with nqp ops
14:34 kurahaupo joined #perl6
14:34 timotimo and then having the nqp ops in perl6 code, showing that it was a whole bunch slower
14:35 benabik http://benchmarksgame.alioth.debian.org/
14:35 timotimo how do i search for such a thing >_<
14:35 benabik Finding random code snippets is hard.
14:35 timotimo it was a link to some paste site. maybe it was gist.
14:35 timotimo i could search for all gist links
14:35 benabik Probably easier to try to find people talking about it.
14:35 fhelmberger joined #perl6
14:36 sahadev joined #perl6
14:37 timotimo nope. can't find it. i'll just ignore it then.
14:38 timotimo http://irclog.perlgeek.de/perl6/2013-10-05#i_7677291
14:38 timotimo there, i found it
14:39 timotimo it turned out that the perl6 version used rats and the fact that every of the rats had an incompatible denominator pessimized the computation
14:43 kurahaupo joined #perl6
14:47 ilogger2 joined #perl6
14:48 japhb__ Pretty please add benchmarks to perl6-bench. I know I've not spent enough time on that recently, but pull requests are quick and easy.  :-)
14:49 kurahaupo joined #perl6
14:53 ajr joined #perl6
14:55 kurahaupo joined #perl6
15:03 benabik joined #perl6
15:06 kurahaupo joined #perl6
15:09 kurahaupo_ joined #perl6
15:12 kurahaupo joined #perl6
15:13 sqirrel joined #perl6
15:18 kurahaupo_ joined #perl6
15:23 araujo joined #perl6
15:25 daxim_ joined #perl6
15:26 amboss joined #perl6
15:29 kurahaupo joined #perl6
15:33 kurahaupo joined #perl6
15:39 amboss left #perl6
15:40 dalek specs: b8106c9 | (Elizabeth Mattijsen)++ | S02-bits.pod:
15:40 dalek specs: Add some spec for "is DEPRECATED"
15:40 dalek specs: review: https://github.com/perl6/specs/commit/b8106c90cb
15:41 kurahaupo_ joined #perl6
15:41 dalek nqp/unified-build: 0d845f5 | moritz++ | .gitignore:
15:41 dalek nqp/unified-build: ignore nqp launchers
15:41 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/0d845f5b13
15:41 dalek nqp/unified-build: 4d3d9d8 | moritz++ | / (4 files):
15:41 dalek nqp/unified-build: build convenience nqp "executable"
15:41 dalek nqp/unified-build:
15:41 dalek nqp/unified-build: also fix making individual test files, like "make t/nqp/65-how.t"
15:41 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/4d3d9d8d5c
15:46 denis_boyun joined #perl6
15:46 FROGGS joined #perl6
15:48 [Coke] moritz: did you answer your question about what null_s is? (catching up)
15:49 [Coke] (if so, please add it to the docs. ;)
15:52 FOAD joined #perl6
15:56 dalek rakudo/unified-build: af43dae | moritz++ | / (3 files):
15:56 dalek rakudo/unified-build: build convenience perl6 "executable"
15:56 dalek rakudo/unified-build:
15:56 dalek rakudo/unified-build: also enable make $single_test_file
15:56 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/af43daed47
15:58 moritz [Coke]: not really; I have a hypothesis, but no knowledge
15:58 iSlug joined #perl6
15:59 lizmat std: "perl6".reverse
15:59 camelia std 082981d: OUTPUT«ok 00:01 121m␤»
15:59 jnthn [Coke]: null_s gives a "null string"; a null that can be stored in a native str
15:59 lizmat .oO( shouldn't that warn as a Perl5 ism? )
15:59 lizmat rn: "perl6".reverse.say
15:59 camelia niecza v24-98-g473bd20: OUTPUT«Unhandled exception: Unable to resolve method reverse in type Str␤  at /tmp/zTq1tgSOqL line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) …»
15:59 camelia ..rakudo 022412: OUTPUT«perl6␤»
16:00 lizmat rn: "perl6".rotate.say
16:00 camelia rakudo 022412: OUTPUT«No such method 'rotate' for invocant of type 'Str'␤  in block  at /tmp/ocRgq3hB5Z:1␤␤»
16:00 camelia ..niecza v24-98-g473bd20: OUTPUT«perl6␤»
16:01 TimToady we can warn if we know they intentionally fed it one value, but not if they said something.reverse and something happened to be a degenerate case of one value
16:02 TimToady so really, one could only warn on literals, which is not terribly useful
16:08 dalek rakudo/unified-build: d47f860 | moritz++ | tools/build/Makefile- (3 files):
16:08 dalek rakudo/unified-build: [build] get rid of the last few Makefile rule collisions
16:08 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/d47f860363
16:09 TimToady I suppose one could warn on $x.reverse if $x were declared to contaion something non-Positional such as Str, but Any includes Positionals, as well as Parcels, and singleton scalars that serve as their own parcel when there's only one element in the parcel, so in general we can't know without difficult code analysis whether reverse or flip was intended
16:09 dmol joined #perl6
16:09 nyuszika7h left #perl6
16:12 TimToady a medium-hard heuristic would be to look at all the other uses of $x in the scope and decide whether any of them imply $x is being thought of as positional
16:15 TimToady but in the case of .flip, I'd say most of the uses of it are rather toy-like, and likely to be caught early, and unlikely to be mission-critical, so heroic heuristics are probably not warranted
16:15 skids joined #perl6
16:17 dalek rakudo/unified-build: fe4e1ff | moritz++ | Configure.pl:
16:17 dalek rakudo/unified-build: unbreak --gen-nqp=$branch
16:17 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/fe4e1ff34a
16:17 dalek rakudo/unified-build: 274bd5e | moritz++ | Configure.pl:
16:17 dalek rakudo/unified-build: [Configure] fix help text
16:17 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/274bd5e1ad
16:32 FOAD joined #perl6
16:34 fhelmberger_ joined #perl6
16:39 [Sno] joined #perl6
16:43 sqirrel joined #perl6
16:43 masak is the new 'function*' keyword, proposed in ECMAScript.next, the first example of a keyword with both \w and \W characters in a major language?
16:43 colomon joined #perl6
16:45 japhb masak: My "no true Scotsman" alarm went off when you ended that with 'in a major language'.  ;-)
16:45 masak japhb: ok, feel free to pick a non-major language. :)
16:45 denis_boyun_ joined #perl6
16:45 masak I don't know of any such keyword anywhere else.
16:46 japhb #t
16:46 japhb (Scheme)
16:46 masak hm. :)
16:46 masak I've always thought of it as a constant, not a keyword.
16:46 japhb You say poe-tay-toe ...
16:46 masak yeah.
16:47 masak the terms are quite loosely defined in the first place.
16:47 japhb Quite.
16:48 geekosaur I'd have said let* from scheme/clisp
16:48 geekosaur although, any example involving those is kinda iffy on the "keyword" front
16:48 fhelmberger joined #perl6
16:50 masak yes, let* is definitely an example of what I mean.
16:50 masak it's just as definition-y as function*
16:51 japhb "special form"
16:54 arnsholt Macro-ish =)
16:54 masak well, yeah.
16:54 masak because Lisp is one big macro :)
16:55 arnsholt Indeed
16:55 ajr joined #perl6
16:56 arnsholt One of the last chapters of Practical Common Lisp has a very enlightening discussion of which bits of the language are macros and which are special forms
16:57 arnsholt Apparently it's kind of like complete sets of operators in logic. Some of them have to be special, but exactly which is a bit arbitrary as many of them can be defined in terms of eachother
16:59 benabik masak: function* keyword?
17:00 masak benabik: coming soon to a JavaScript near you.
17:01 masak benabik: (to define generators with yield-y semantics. a bit like Perl 6's gather/take)
17:02 benabik masak: Thanks.  Trying to search for "new function keyword" doesn't give a lot of useful results.  ;-)
17:04 masak benabik: I was reading var jake = require("jake");
17:04 masak jake.task('hello', function(){ print('hello world');
17:04 masak ergh
17:04 masak I was reading http://oreilly.com/javascript/radarreports/past-present-future-javascript.html
17:04 masak which I recommend to anyone with an interest in the evolution of JavaScript.
17:05 FOAD joined #perl6
17:06 benabik Ah, excellent.  It's on the Safari bookshelf.
17:06 benabik I love the ridiculous amounts of things you can get for free by accessing the internet from a university.  :-D
17:08 TimToady .oO(Is that why my royalties have been going from Little down to Very Little...)
17:12 masak benabik: fwiw, I got it for free from outside of a university.
17:12 masak wow, looking at the gray boxes over the years at http://irclog.perlgeek.de/perl6/ is... interesting.
17:12 benabik masak: Hah.  I saw "O'Reilly" and automatically headed for the uni's bookshelf page.
17:13 benabik TimToady: I doubt university students are the main source of sales for the camel.
17:14 masak 2005/2006 were strong years. then a slump for two years. then 2009..2010 were strong years. then a slump in early 2011. then two more strong years.
17:14 * masak uses / and .. inconsistently, apparently
17:14 rindolf joined #perl6
17:19 Rotwang joined #perl6
17:22 grondilu joined #perl6
17:23 moritz oh man, --gen-nqp for multiple NQPs turns out to be a lot more complicated than doing two calls to gen_nqp in a row
17:23 jnthn Oh?
17:23 jnthn oh...yeah :)
17:23 moritz well, I have to specify which backends to use when I configure NQP
17:23 jnthn Yeah :)
17:24 jnthn Does NQP have an automatic "figure out what you can build" mode? :)
17:24 moritz which means I have to start to actually understand the Configure.pl code instead of just moving blocks of it around :-)
17:24 jnthn Aww, understand stuff? Dang!
17:25 * jnthn is just working out what he wants for dinner :)
17:25 moritz jnthn: no, nqp's configure doesn't autodetect anything
17:25 benabik let x :: Number = 37
17:26 benabik Javascript is apparently going to merge with SML or Haskell at some point in the future.
17:28 * TimToady wonders if this would make it even harder to find people smart enough to produce an insurance market website...
17:28 TimToady (that works)
17:36 moritz
17:36 jnthn dinner &
17:37 Rotwang hi
17:38 moritz hello
17:38 Rotwang could someone explain: http://image.spreadshirt.com/image-server/v1/compositions/15137667/views/1,width=280,height=280,appearanceId=2.png/second-system-men-s-dark-t-shirt_design.png ?
17:39 moritz Rotwang: are you aware of the "Second System Syndrome"?
17:39 Rotwang just googled it, thanks [;
17:40 moritz one of Perl 6's early mottos is "Second System Syndrome done right"
17:41 Rotwang haha
17:58 LWA joined #perl6
17:58 nwc10 via someone on Google+ who got it from Sam Ruby: http://mathiasbynens.be/notes/javascript-unicode
18:04 daxim_ http://mauke.hopto.org/interweb/http://98.245.80.27/tcpc/OSCON2011/gbu.html slide 8
18:07 vky joined #perl6
18:12 ajr joined #perl6
18:16 timotimo i'm a bit surprised by the use of "polyfill" in javascript contents
18:18 daxim_ stupidest word of the decade
18:18 spider-mario joined #perl6
18:19 TimToady .oO(decade ain't over yet)
18:31 colomon TimToady: Think that given 7 years, you can think of a stupider word?
18:35 TimToady there are plenty of stupid words; the real trick is to come up with a stupid meaning
18:36 iSlug joined #perl6
18:37 btyler joined #perl6
18:45 lizmat TimToady: wrt to .reverse on strings: I was thinking of just letting Str.reverse warn
18:46 lizmat even if something degenerates into a one element list, it would still be a list then, so not triggering the warning
18:46 vky joined #perl6
18:46 TimToady I'm sayin' that won't work when you've bound something to \name
18:48 lizmat I'm not sure I'm following, you mean something like:
18:48 lizmat r: sub a (\a) { say a.WHAT }; a("foo") # ?
18:48 camelia rakudo 022412: OUTPUT«(Str)␤»
18:50 TimToady that, plus note that <foo> is a Str, when <foo bar> is a parcel; there are lots of things that can act as a parcel of one element without being officially wrapped in Parcel
18:51 lizmat r: sub a (\a) { say a.WHAT }; a(<a>); a(<a b>) # gotcha
18:51 camelia rakudo 022412: OUTPUT«(Str)␤(Parcel)␤»
18:51 * lizmat shelves the idea for (much) later, most likely never  :-)
18:53 dalek rakudo/unified-build: e8a0f9d | moritz++ | / (2 files):
18:53 dalek rakudo/unified-build: [Configure] more --gen-nqp fixes
18:53 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/e8a0f9dfbf
18:53 dalek rakudo/unified-build: 53dcdc8 | moritz++ | / (2 files):
18:53 dalek rakudo/unified-build: rework Configure.pl and gen_nqp
18:53 dalek rakudo/unified-build:
18:53 dalek rakudo/unified-build: turns out that needing to know what NQPs to build in advance
18:53 dalek rakudo/unified-build: means that the structure of the whole configure process needs to tweaked
18:53 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/53dcdc8b3f
18:53 moritz still seems to build too much stuff :/
18:55 dalek rakudo/unified-build: 3c99ca7 | moritz++ | tools/lib/NQP/Configure.pm:
18:55 dalek rakudo/unified-build: only build the NQPs that we need and that are not yet there
18:55 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/3c99ca750e
18:59 awwaiid joined #perl6
19:00 moritz touching 90 lines of Configure.pl code simply isn't a good idea, however you put it
19:02 pmichaud good afternoon, #perl6
19:03 pmichaud moritz: ooc, are you working/planning to keep the lib/NQP/Configure.pm changes synchronized between the NQP and Rakudo repos?
19:09 moritz pmichaud: yes
19:10 pmichaud okay, good.
19:12 moritz pmichaud: nqp can already be built and tested on all three backends in the same source dir
19:12 * jnthn back from dinner :)
19:12 moritz (without any interference)
19:12 jnthn ooh, a pmichaud \o/
19:12 moritz (and in that branch)
19:12 awwaiid joined #perl6
19:15 dalek rakudo/nom: e13fa98 | (Elizabeth Mattijsen)++ | src/core/traits.pm:
19:15 dalek rakudo/nom: Add "is DEPRECATED" as an Attribute trait (for now, so I can make todo tests)
19:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e13fa98c84
19:15 jnthn On stupidest word, I'd like to nominate "phablet", a word whose existence I sadly discoverd this week.
19:16 Util #ps in 15m
19:16 TimToady yes, they should've been called tablones instead :)
19:19 jnthn Tomorrow is the last day of teaching for a bit. So I may actually have decent Perl 6 time again. :)
19:19 moritz \o/
19:24 tadzik jnthn: they should've just stop pretending and call it "faplet" right away :P
19:25 TimToady or "phobelet", a small phobia
19:26 jnthn tadzik: argh! :P
19:27 jnthn A phoblet sounds like something I should be scared to drink out of...
19:27 tadzik Harry Potter and the phoblet of phire
19:27 FROGGS hehe
19:28 FROGGS it would be allright if the beer in it multiplies though
19:28 lue joined #perl6
19:28 lue Hello world! o/
19:28 lizmat lue!
19:28 TimToady not if it's phobear
19:29 TimToady er, *phobeer
19:29 FROGGS hmmmm, I'd say the germans have some sort of phobeeria
19:29 FROGGS foreign thin tasteless beer *shudder*
19:29 TimToady no, you're think of french fauxbeer
19:29 FROGGS *g*
19:30 TimToady *thinking
19:30 Util #ps time
19:31 lizmat .oO( bibblet, as it is too small for the napkin )
19:33 timotimo "for...of", i'm not sure if any other language has a spelling like that
19:33 dalek rakudo/nom: fd3e683 | (Elizabeth Mattijsen)++ | src/core/traits.pm:
19:33 dalek rakudo/nom: Add "is DEPRECATED" trait to class/etc. (to be able to add todo tests)
19:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fd3e6833d7
19:35 lue .ping
19:35 lue yoleaux's missing! No wonder I didn't get that message in the backlog.
19:35 dalek rakudo/unified-build: 3c7f661 | moritz++ | tools/lib/NQP/Configure.pm:
19:35 dalek rakudo/unified-build: [Configure] read_config clobbers $_
19:35 dalek rakudo/unified-build:
19:35 dalek rakudo/unified-build: who would have thought?
19:35 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/3c7f6616ae
19:36 lizmat joined #perl6
19:36 jnthn lue: Well, it only lived once, and now it's gone... :)
19:36 lue :)
19:37 lue jnthn: the username is 'lue', unless I used some sort of name-as-it-appears changer feature I'm unaware of.
19:38 stevan_ joined #perl6
19:40 moritz lue: then you now have an NQP commit bit
19:40 lue \o/
19:42 Rotwang joined #perl6
19:43 jnthn moritz: Beat me to it! :)
19:48 * lue is testing his commit-to-be one last time for sureness' sake.
19:48 stevan_ joined #perl6
19:50 colomon lue++
19:52 arnsholt lue: You talked about triggering segfaults yesterday. Do you have a small-ish test case that reproduces it?
19:53 lue arnsholt: I get the sad suspicion it involves actions and grammar, so I don't have a test case prepared :( . (I tried really-small uses of existspos in here earlier, and I only got a SEGV from MVM once.)
19:54 xalbo The recent commit about "is DEPRECATED" got me wondering, again, whether there shouldn't be a "use Debug;" or the like. That is, something that tells causes the program to be run in a mode that's as picky as possible. Deprecation warnings are really only useful for the developer.
19:54 lue arnsholt: the bug is not with existspos, but with me not getting an ar— *sigh* well of course that wasn't going to get me an arrayed EXPR *facepalm*
19:55 lue [ and there really is no way to force an arrayed <EXPR> either in the cases of 1 if or if + else. So it wasn't that **0..1 was broken; it was my brain :) ]
19:57 lizmat xalbo: please note that "is DEPRECATED" warnings will only be shown after exiting the program, *not* during execution of the program
19:58 Mouq joined #perl6
19:58 lizmat r: sub a is DEPRECATED { say "foo" }; a(); say "bar"  # note the report *after* "bar"
19:58 camelia rakudo 022412: OUTPUT«foo␤bar␤Saw 1 call to deprecated code during execution.␤================================================================================␤Sub a (from GLOBAL) called at:␤  /tmp/0arBUJa7cz, line 1␤Please use something else instead.␤------------------…»
19:59 moritz xalbo: experience with perl 5 development has shown that if deprecation warnings aren't shown *BY DEFAULT*, nearly nobody ever reads them
19:59 arnsholt lue: Oh, so you were passing something not a list to existspos?
19:59 xalbo I did note that. But I imagine upgrading Perl and suddenly getting warnings (on stderr) from things you didn't write, and previously had no reason to care whether they were in perl or not.
19:59 moritz better that you get those warnings, open a bug report, and get a fix, and all the while have a working program
20:00 lue arnsholt: yeah, the problem I suppose is the SEGFAULT instead of an error message. (I fixed this eventually by forcing the non-list to be a list when necessary, btw.)
20:00 moritz than nobody noticing, and the next upgrade breaking your program completely
20:00 lue arnsholt: on nqp-p naturally.
20:00 arnsholt lue: Yeah, the segfault still shouldn't happen
20:00 lizmat r: sub a is DEPRECATED { say "foo" }; a(); say "bar"; %DEPRECATIONS=()  # suppress DEPRECATED report
20:00 camelia rakudo 022412: OUTPUT«foo␤bar␤»
20:00 jnthn Oh no, nqp-p out loud is "en queue pee pee"
20:01 lizmat r: say "hello"
20:01 camelia rakudo 022412: OUTPUT«hello␤»
20:01 lizmat r: sub a is DEPRECATED { say "foo" }; a(); say "bar"; %DEPRECATIONS=()  # suppress DEPRECATED report
20:01 arnsholt lue: It normally doesn't segfault though. If you figure out what triggered it, could you open an NQP issue?
20:01 * jnthn puts that on "things not to say in talks" list :)
20:01 camelia rakudo 022412: OUTPUT«foo␤bar␤»
20:01 jnthn lue: The MoarVM segfault is worth filing too, unless it's the typical NULL one we know about. :)
20:01 arnsholt It could in theory be a Parrot bug, but probably not I think
20:02 lue arnsholt: working on a golf right now :)
20:02 lizmat not sure how we want to define syntactic sugar for surpressing DEPRECATED warnings
20:02 lue jnthn: I'll have to look in the camelia chatlogs a bit later for that one.
20:02 jnthn lue: OK, thanks :)
20:02 arnsholt Cheers!
20:03 moritz nqp-m: say(nqp::null_s())
20:03 camelia nqp-moarvm: OUTPUT«(signal SEGV)»
20:03 jnthn moritz: Right, that's the known one :)
20:03 arnsholt nqp: say(nqp::null_s())
20:03 jnthn I thought I heard an existspos mention though...
20:03 camelia nqp-jvm: OUTPUT«null␤»
20:03 camelia ..nqp-moarvm: OUTPUT«(signal SEGV)»
20:03 camelia ..nqp-parrot: OUTPUT«␤»
20:04 lue nqp: grammar G { regex TOP { <foo>+ }; regex foo { foo } }; class G::A { method TOP($/) { if nqp::existspos($<foo>, 2) { say("YAY") } } }; G.parse("foofoo", :actions(G::A));
20:04 camelia nqp-moarvm, nqp-jvm, nqp-parrot: ( no output )
20:04 lue nqp: grammar G { regex TOP { <foo>+ }; regex foo { foo } }; class G::A { method TOP($/) { if nqp::existspos($<foo>, 1) { say("YAY") } } }; G.parse("foofoo", :actions(G::A));
20:04 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«YAY␤»
20:04 lue nqp: grammar G { regex TOP { <foo>+ }; regex foo { foo } }; class G::A { method TOP($/) { if nqp::existspos($<foo>, 1) { say("YAY") } } }; G.parse("foo", :actions(G::A));
20:04 camelia nqp-moarvm, nqp-jvm, nqp-parrot: ( no output )
20:04 arnsholt Oh, that's probably the simplest manifestation of the stringification problem, completely free of box_targets
20:04 * arnsholt opens issue
20:05 lue Hm. Now I'm really confused as to how I got a segfault :(
20:06 TimToady r: package NotMain { sub a is DEPRECATED { say "foo" }; a(); say "bar"; }
20:06 camelia rakudo 022412: OUTPUT«foo␤bar␤Saw 1 call to deprecated code during execution.␤================================================================================␤Sub a (from NotMain) called at:␤  /tmp/1p50DTZJYH, line 1␤Please use something else instead.␤-----------------…»
20:06 TimToady rj: package NotMain { sub a is DEPRECATED { say "foo" }; a(); say "bar"; }
20:07 camelia rakudo-jvm e13fa9: OUTPUT«Cannot look up attributes in a type object␤  in sub infix:<<> at src/gen/CORE.setting:4089␤  in sub postcircumfix:<[ ]> at src/gen/CORE.setting:2264␤  in sub DEPRECATED at src/gen/CORE.setting:16639␤  in block  at src/gen/CORE.setting:121␤  in blo…»
20:08 arnsholt lue: Yeah, that happens occasionally =/
20:09 lizmat TimToady: that is probably because of difference in Backtrace implementation between parakudo and jakudo
20:09 logie joined #perl6
20:10 lizmat possibly because Exceptions are handled differently
20:10 jnthn Still sounds kinda odd...
20:10 TimToady was really just wondering what scope %DEPRECATIONS lives in
20:11 dalek rakudo/unified-build: e7ffc63 | moritz++ | tools/lib/NQP/Configure.pm:
20:11 dalek rakudo/unified-build: [Configure] need to aggregate config values from both parrot and nqp
20:11 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/e7ffc63ce6
20:11 lizmat every time you call something that is deprecated, it creates a Backtrace, and then starts looking back for where it was called from
20:11 * jnthn suspects that's kinda costly ;)
20:11 lizmat I guess it doesn't handle false negatives in the search
20:11 TimToady seems like %*DEPRECATIONS would be cheaper
20:12 lizmat jnthn: you said I shouldn't optimize is DEPRECATED  :-)
20:12 dalek nqp/ext: 2c393d3 | dwarring++ | examples/rubyish/ (6 files):
20:12 dalek nqp/ext: added bitwise ops, fixed precedence, etc
20:12 dalek nqp/ext: review: https://github.com/perl6/nqp/commit/2c393d38c9
20:12 dalek nqp/ext: b8a7bbb | moritz++ | src/vm/parrot/QAST/Compiler.nqp:
20:12 dalek nqp/ext: [regex] avoid an unnecessary comparison
20:12 diakopter moritz+=lots
20:12 jnthn lizmat: Yes, but I didn't say to pessimize it :D
20:12 moritz rj: sub a is DEPRECATED { say "foo" }; a(); say "bar"
20:12 camelia rakudo-jvm e13fa9: OUTPUT«Cannot look up attributes in a type object␤  in sub infix:<<> at src/gen/CORE.setting:4089␤  in sub postcircumfix:<[ ]> at src/gen/CORE.setting:2264␤  in sub DEPRECATED at src/gen/CORE.setting:16639␤  in block  at src/gen/CORE.setting:121␤␤»
20:12 jnthn lizmat: Anyway, if it becoems an issue we can come up with something :)
20:12 Mouq moritz++ # I don't think I've ++'d you much for the unified-build work
20:12 lizmat well, I'm open to suggestions on finding out where the code is being called from
20:12 dalek joined #perl6
20:12 moritz ok, unified-build is now open for public testing
20:13 lue arnsholt: at the moment I think it might have to do with HLL's EXPR specifically, though I don't know for sure.
20:13 jnthn lizmat: Well, we could avoid making the entire bt and perhaps nqp::callercode() it or so..but anyway, let's not worry about it fo rnow. I like the improved reporting ;)
20:13 moritz (note that you need both the rakudo and nqp branch to work together)
20:13 TimToady if only the application cares at exit time, then only the application should set up a %*DEPRECATIONS, and that's the one everyone will see
20:13 dalek nqp: 7384f3e | lue++ | src/NQP/Grammar.nqp:
20:13 dalek nqp: [NQP::Grammar] Remove redundant regex line
20:13 dalek nqp:
20:13 dalek nqp: Since rule unv contains \h+ as a possible alternative, <.unv>? in the
20:13 dalek nqp: second (and surviving) line of ENDSTMT is sometimes [\h+]?, which is
20:13 dalek nqp: functionally equivalent to \h*.
20:13 dalek nqp:
20:13 dalek nqp: The first (and now removed) line of ENDSTMT was essentially line 2 with
20:13 dalek nqp: <.unv>? replaced by \h*. As stated <.unv>? already covers what \h* does,
20:13 dalek nqp: so line 1 was removed. No regressions or speed drops result from the
20:13 dalek nqp: removal of this line.
20:13 dalek nqp: review: https://github.com/perl6/nqp/commit/7384f3e464
20:13 moritz and you'll likely want to test stuff like   perl Configure.pl --backends=parrot,jvm --gen-nqp or so
20:13 TimToady or poke it into GLOBAL
20:14 jnap joined #perl6
20:16 lizmat I'm not sure how to actually handle the scoping here yet
20:16 lizmat r: sub a is DEPRECATED { say "foo" }; a(); say "bar"; Deprecations.report.say; say "baz"
20:16 camelia rakudo fd3e68: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/fC7zqit9WXâ�¤Undeclared name:â�¤    Deprecations used at line 1. Did you mean 'Deprecation'?â�¤â�¤Â»
20:16 jnthn moritz: I can maybe give it a workout on the train tomorrow. that'll pass the journey :)
20:17 lizmat r: sub a is DEPRECATED { say "foo" }; a(); say "bar"; Deprecation.report.say; say "baz"
20:17 camelia rakudo fd3e68: OUTPUT«foo␤bar␤Saw 1 call to deprecated code during execution.␤================================================================================␤Sub a (from GLOBAL) called at:␤  /tmp/gZsBUsgX7K, line 1␤Please use something else instead.␤------------------…»
20:17 jnthn (Yes, I have power there. :))
20:17 lizmat r: sub a is DEPRECATED { say "foo" }; a(); say "bar"; Deprecation.report; say "baz"
20:17 camelia rakudo fd3e68: OUTPUT«foo␤bar␤baz␤»
20:18 lizmat I just realized I already have something of an API for disregarding deprecation messages, or show them during runtime
20:22 moritz jnthn: will probably needs lots of small fixes with $(BAT) and $(EXE) postfixes
20:22 moritz windows-- # double reboot after upgrades
20:22 jnthn moritz: OK :)
20:23 jnthn moritz: I'll see what I can do
20:30 * arnsholt & # Zzzzz
20:30 lizmat gnight arnsholt!
20:31 jnthn o/ arnsholt
20:31 diakopter moritz: you got Windows 8.1? :D
20:32 moritz diakopter: I have no idea. I simply installed the ~84 "important updates" that the windows updater suggest a few days ago
20:32 moritz then booted into linux again
20:32 moritz and tonight I booted into windows, and immediately regretted it
20:33 moritz it took some time, did another reboot, and now suggested that I install another 8 updates
20:33 moritz "No, thanks"
20:33 diakopter ah yes. open the "Store" in the windows 8 view, and it might prompt you for win 8.1
20:33 * moritz just wants to test if stuff compiles under windows. That's all.
20:34 lue .oO(Get fresh air. Break Windows.)
20:34 diakopter .oO( complete the loop; defenestrate Windows. )
20:35 benabik This is why my Windows runs in a VM 90% of the time.
20:37 jnthn I love how the Wikipedia article features sections on "Notable defenestrations in history" and "Self-defenestration" :D
20:50 * lizmat going down for Mavericks upgrade
20:50 lizmat wish me luch  :-)
20:50 lizmat luck rather  :-)
20:51 lue good /lʌx/ lizmat o/ :)
20:53 lue .oO("there are other wonderful irregularities to be had in the elseif and else forms too, involving colons and who knows what." that can't be so bad... *looks up PHP conditionals* ...why)
20:54 jnthn lue: hahaha :)
20:55 lue why { do these things } because($PHP);
20:56 lue It's safe to say I will not be touching the colon forms, and I feel a smidge too lazy to bother with the brace-less stuff either. :)
20:57 jnthn I'm curious where on earth they were taken from
20:58 jnthn I had no idea PHP let you write it that way until I wsa carefully reading the docs while setting the PHPish exercise :)
20:58 lue 0..* Things Wrong with PHP: 1) $$variable 2) end_if 3) ... [to be continued]
20:59 benabik ... end_if?
21:00 lue benabik: endif actually. http://www.php.net/manual/en/control-structures.elseif.php and http://www.php.net/manual/en/control-structures.alternative-syntax.php
21:00 jnthn I would not be surprised :P
21:00 geekosaur "let's pretend we're algol" (except algol was way saner...)
21:01 benabik WTF is that
21:01 lue I really should read the PHP docs sometime; whenever I hear about PHP's features it seems like the docs'd be a hilarious read.
21:01 lue benabik: *obviously*, TIMTOWTDI taken to 11 :D
21:02 benabik Oh dear.  That actually vaguely makes sense with the <?php> forms
21:02 stevan_ joined #perl6
21:03 lue jnthn: I think once I get through the rest of Ex. 6 and Day 2, I feel like maybe tackling slangs as a starter contribution :P (so I could do things like that why{}because block I showed earlier in Perl 6)
21:05 jnthn lue: Cool. I think FROGGS++ has also been pondering slangs and wrote up some bits of them
21:06 FROGGS I want to provide a pattern that just works as a module, yes
21:07 lue jnthn: because just about every module idea for Perl 6 I have involves slangs, and it's kinda silly I still can't do "foo" ~~ ☃foo☄ or why { say "hi" } because(True);  :)
21:07 jnthn lue: I fear your future module collection :D
21:07 * lue will try to find/look at what FROGGS has done sometime.
21:08 FROGGS lue: I'll ping you when there is progress :o)
21:08 lue (there's also the snarky error message module, but that requires changes to the spec and/or implementation of supercede/augment)
21:08 * lue &
21:12 dalek nqp/config: 9a1455c | (Tobias Leich)++ | src/vm/moar/ (2 files):
21:12 dalek nqp/config: wire up and use nqp::backendconfig
21:12 dalek nqp/config:
21:12 dalek nqp/config: This is just lacking a fresh stage0 to work.
21:12 dalek nqp/config: review: https://github.com/perl6/nqp/commit/9a1455cc85
21:20 Mouq rn: say("_ a " ~~ / a? /)
21:20 camelia rakudo fd3e68, niecza v24-98-g473bd20: OUTPUT«「」␤␤»
21:20 Mouq This a WAT for me
21:20 ssutch joined #perl6
21:20 Mouq rn: say("_ a " ~~ / . . a? /) # Thankfully
21:20 camelia rakudo fd3e68, niecza v24-98-g473bd20: OUTPUT«「_ a」␤␤»
21:21 jnthn Mouq: It matches at index 0 :)
21:22 jnthn It only goes scanning if it fails to match
21:23 Mouq rn: say "_ a " ~~ / <?after .> a /
21:23 camelia niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Unsuppored elements in after list at /tmp/jeUJbpEguV line 1:â�¤------> [32msay "_ a " ~~ / <?after .[33mâ��[31m> a /[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting l…»
21:23 camelia ..rakudo fd3e68: OUTPUT«「a」␤␤»
21:23 Mouq rn: say "_ a " ~~ / <?after .> a? / #oop
21:23 camelia niecza v24-98-g473bd20: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Unsuppored elements in after list at /tmp/Mbx5IPIfeI line 1:â�¤------> [32msay "_ a " ~~ / <?after .[33mâ��[31m> a? / #oop[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.set…»
21:23 camelia ..rakudo fd3e68: OUTPUT«「」␤␤»
21:23 vky joined #perl6
21:24 Mouq p5eval: "_ a " =~ /a?/
21:24 p5eval Mouq: 1
21:24 Mouq p5eval: "_ a " =~ /(a?)/; $1
21:24 p5eval Mouq: No output
21:26 Mouq Okay. I'm not sure why I'd expect it to mean anything other than "match nothing or something"
21:38 aindilis joined #perl6
21:43 ajr joined #perl6
21:46 lizmat joined #perl6
21:47 lizmat .oO( seems Mavericks works )
21:48 colomon joined #perl6
21:48 tadzik first thing that Maverick brings to my mind is an Ubuntu release, the second is what Counter-Strike uses instead of Colt since 1.6 :)
21:53 lizmat Mavericks is OS X 10.9
21:53 lizmat fwiw, it feels a *bit* faster
21:54 lizmat $ make install
21:54 lizmat Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
21:54 lizmat :-(
21:55 jnthn fail
21:56 geekosaur sadly typical
21:58 lizmat hmmm... seems I need to run "sudo make" just once to agree with the EULA
21:58 lizmat after that, it's back to normal
21:59 lizmat ok, doing several GB on updates of Aperture/Keynote/iMovie/iPhoto still...
21:59 lizmat I'll let it run its course while slep&
21:59 lizmat so gnight, #perl6!
22:00 lue good ♞ lizmat o/
22:00 geekosaur yes, you only need to accept the license once per code upgrade
22:00 geekosaur *xcode
22:00 lue rn: say "_ a" ~~ / a? /;
22:00 camelia rakudo fd3e68, niecza v24-98-g473bd20: OUTPUT«「」␤␤»
22:01 lue I would expect that ? to be greedy, and to not need to be from the start unless I use ^/^^
22:01 timotimo early match trumps longer match, no?
22:03 jnthn aye
22:03 jnthn 'night o/
22:04 Mouq \o night lizmat, jnthn
22:05 colomon o/
22:05 Mouq rn: say "_ a " ~~ / a || ''/
22:05 camelia rakudo fd3e68, niecza v24-98-g473bd20: OUTPUT«「」␤␤»
22:05 Mouq rn: say "_ a " ~~ / a | ''/
22:05 camelia rakudo fd3e68, niecza v24-98-g473bd20: OUTPUT«「」␤␤»
22:07 Mouq Or wait, just lizmat?
22:09 * Mouq needs to go to bed himself, so the ambiguity is somewhat self-resolving
22:09 Mouq cya #perl6
22:16 FROGGS joined #perl6
22:17 * diakopter upgrades to Mavericks and Win 8.1 at the same time .. on the same computer...
22:20 geekosaur you like having everything explode at the same time?
22:21 diakopter :)
22:24 lue diakopter: I would recommend you also go do a major and potentially breaking upgrade to a linux system, but I can't think of one :P
22:27 go|dfish joined #perl6
22:33 ssutch joined #perl6
22:37 PZt joined #perl6
22:38 Tene lue: any no-longer-maintained release of a distro
22:47 * [Coke] wakes up.
22:54 benabik joined #perl6
23:00 lue .oO(PHPish: it's funnier how while loops took no time at all, after my annoyances with if statments.)
23:00 lue s/ier/y/
23:04 dalek nqp: fc3b77f | coke++ | docs/ops.markdown:
23:04 dalek nqp: Document backend specific behavior of null_s
23:04 dalek nqp:
23:04 dalek nqp: Resolves issue #142
23:04 dalek nqp: review: https://github.com/perl6/nqp/commit/fc3b77fb03
23:04 FROGGS joined #perl6
23:23 japhb__ .tell lizmat just got this deprecation error: "Method gimme (from List) called at:  lib/Panda/App.pm, line 54 Please use 'tc' instead."  Wat?
23:23 japhb__ D'oh!  No yoleaux
23:32 timotimo haha, wat :)
23:33 timotimo probably has something to do with "hidden_from_backtrace"?
23:40 telex joined #perl6
23:41 retupmoca joined #perl6
23:45 FROGGS joined #perl6

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

Perl 6 | Reference Documentation | Rakudo