Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-09-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:09 raiph joined #perl6
00:15 dayangkun joined #perl6
00:25 raiph http://perlmonks.org/?node_id=1099984 and http://perlmonks.org/?node_id=1100217 # bugs? pebkacs? gotchyas? I plan to post a reply tomorrow if no one else does
00:52 avuserow joined #perl6
00:55 cognome joined #perl6
00:57 yeahnoob joined #perl6
01:00 grettis_ joined #perl6
01:04 grondilu m: role Foo {}; say $_ ~~ Foo for pi but Foo, [pi] but Foo;
01:04 camelia rakudo-moar 2b7e23: OUTPUT«True␤False␤»
01:04 grondilu m: role Foo {}; say ($_ but Foo) ~~ Foo for pi, [pi];
01:04 camelia rakudo-moar 2b7e23: OUTPUT«True␤True␤»
01:06 grondilu m: role Foo {}; my @a = map { $_ but Foo }, pi, [pi]; say $_ ~~ Foo for @a;
01:06 camelia rakudo-moar 2b7e23: OUTPUT«True␤False␤»
01:07 grondilu m: role Foo {}; my @a = map { my $ = $_ but Foo }, pi, [pi]; say $_ ~~ Foo for @a;
01:07 camelia rakudo-moar 2b7e23: OUTPUT«True␤True␤»
01:23 dj_goku ingy: you around?
01:27 pyrimidine joined #perl6
01:27 pyrimidine m: role doc { has $.doc is rw };  multi trait_mod:<is>(Attribute $a, doc, $arg) { $a.container.VAR does doc($arg); }; class T3 { has $.dog is doc('barks') is rw; }; my $x = T3.new(); say $x.dog.VAR.doc;
01:27 camelia rakudo-moar 2b7e23: OUTPUT«barks␤»
01:28 pyrimidine m: role doc { has $.doc is rw };  multi trait_mod:<is>(Attribute $a, doc, $arg) { $a.container.VAR does doc($arg); }; class T3 { has $.dog is doc('barks') is rw; }; my $x = T3.new(); $x.dog = 'Scooby'; say $x.dog.VAR.doc;
01:28 camelia rakudo-moar 2b7e23: OUTPUT«Cannot modify an immutable Scalar+{doc}␤  in block <unit> at /tmp/dwuHDyI3kd:1␤␤»
01:29 FROGGS_ joined #perl6
01:30 pyrimidine p: role doc { has $.doc is rw };  multi trait_mod:<is>(Attribute $a, doc, $arg) { $a.container.VAR does doc($arg); }; class T3 { has $.dog is doc('barks') is rw; }; my $x = T3.new(); $x.dog = 'Scooby'; say $x.dog.VAR.doc;
01:30 camelia rakudo-parrot 2b7e23: OUTPUT«Cannot modify an immutable value␤  in block <unit> at /tmp/in9iewFdsS:1␤␤»
01:30 pyrimidine p6: role doc { has $.doc is rw };  multi trait_mod:<is>(Attribute $a, doc, $arg) { $a.container.VAR does doc($arg); }; class T3 { has $.dog is doc('barks') is rw; }; my $x = T3.new(); $x.dog = 'Scooby'; say $x.dog.VAR.doc;
01:30 camelia rakudo-moar 2b7e23: OUTPUT«Cannot modify an immutable Scalar+{doc}␤  in block <unit> at /tmp/tmpfile:1␤␤»
01:30 camelia ..rakudo-{parrot,jvm} 2b7e23: OUTPUT«Cannot modify an immutable value␤  in block <unit> at /tmp/tmpfile:1␤␤»
01:30 camelia ..niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Cannot extend category:trait_mod with subs at /tmp/tmpfile line 1:â�¤------> [32mhas $.doc is rw };  multi trait_mod:<is>[33mâ��[31m(Attribute $a, doc, $arg) { $a.container[0mâ�¤â�¤In parameter declaration, type…»
01:31 pyrimidine p6: m: role doc { has $.doc is rw };  multi trait_mod:<is>(Attribute $a, doc, $arg) { $a.container.VAR does doc($arg); }; class T3 { has $.dog is doc('barks') is rw; }; my $x = T3.new(); say $x.dog.VAR.doc;
01:31 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Cannot extend category:trait_mod with subs at /tmp/tmpfile line 1:â�¤------> [32mhas $.doc is rw };  multi trait_mod:<is>[33mâ��[31m(Attribute $a, doc, $arg) { $a.container[0mâ�¤â�¤In parameter declaration, type…»
01:31 camelia ..rakudo-{parrot,jvm,moar} 2b7e23: OUTPUT«barks␤»
01:59 dalek nqp: b8d3495 | (David Warring david.warring@gmail.com)++ | examples/rubyish/ (2 files):
01:59 dalek nqp: [examples/rubyish] added "undeclared variable" error message
01:59 dalek nqp: review: https://github.com/perl6/nqp/commit/b8d3495c5a
02:03 xenoterracide joined #perl6
02:04 cognome joined #perl6
02:15 chenryn joined #perl6
02:30 japhb m: #|Foo␤role Foo { method foo { ... } }  # BUG!
02:30 camelia rakudo-moar 2b7e23: OUTPUT«Unhandled exception: Method 'foo' must be implemented by Foo because it is required by a role␤   at <unknown>:1  (/home/p6eval/rakudo-inst-2/languages/nqp/lib/Perl6/Metamodel.moarvm:compose_method_table:4294967295)␤ from src/gen/m-Metamodel.nqp:2372  (…»
02:30 japhb The above is brought to you by something fishy with #| docs
02:31 japhb I'm guessing it's forcing the type pun, and the resulting class then thinks it has not implemented the method ....
02:31 grondilu m: role Foo { method foo { ... } }
02:31 camelia rakudo-moar 2b7e23: OUTPUT«Unhandled exception: Method 'foo' must be implemented by Foo because it is required by a role␤   at <unknown>:1  (/home/p6eval/rakudo-inst-2/languages/nqp/lib/Perl6/Metamodel.moarvm:compose_method_table:4294967295)␤ from src/gen/m-Metamodel.nqp:2372  (…»
02:31 grondilu #| is not the pb
02:31 grondilu m: role Foo { method foo {...} }
02:31 camelia rakudo-moar 2b7e23: OUTPUT«Unhandled exception: Method 'foo' must be implemented by Foo because it is required by a role␤   at <unknown>:1  (/home/p6eval/rakudo-inst-2/languages/nqp/lib/Perl6/Metamodel.moarvm:compose_method_table:4294967295)␤ from src/gen/m-Metamodel.nqp:2372  (…»
02:32 japhb Weird, locally it would only happen if I had #| ... I wonder ... oh yes, this may be camelia trying to say the result
02:32 japhb m: #|Foo␤role Foo { method foo { ... } }; 42
02:32 camelia rakudo-moar 2b7e23: ( no output )
02:32 japhb m: role Foo { method foo { ... } }; 42
02:32 camelia rakudo-moar 2b7e23: ( no output )
02:32 japhb m: role Foo { method foo { ... } };
02:32 camelia rakudo-moar 2b7e23: OUTPUT«Unhandled exception: Method 'foo' must be implemented by Foo because it is required by a role␤   at <unknown>:1  (/home/p6eval/rakudo-inst-2/languages/nqp/lib/Perl6/Metamodel.moarvm:compose_method_table:4294967295)␤ from src/gen/m-Metamodel.nqp:2372  (…»
02:33 japhb Yeah, you're right grondilu ... my local REPL was different, but it's a bit old.
02:33 grondilu m: role { method {} }; say "all clear"
02:33 camelia rakudo-moar 2b7e23: OUTPUT«all clear␤»
02:34 japhb
02:34 japhb SYMBOL FOR NEWLINE
02:34 japhb Gah
02:36 japhb m: role Foo { method foo {} }; class Bar is Foo { }
02:36 camelia rakudo-moar 2b7e23: ( no output )
02:36 japhb ^^ grondilu: That's what without the ... it's not useful.  :-(
02:37 grondilu m: role Foo { method foo {...} }; class Bar is Foo { } #  should die
02:37 camelia rakudo-moar 2b7e23: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/dpjxKPCZ5H�Method 'foo' must be implemented by Foo because it is required by a role�at /tmp/dpjxKPCZ5H:1�------> �»
02:37 grondilu {} is actually an implementation
02:38 pyrimidine I ran into this as well
02:39 japhb grondilu: Yes, understood.
02:41 pyrimidine S14 does mention something about this I think, re: stubbed methods having to be supplied from somewhere (though it's not exactly worded that way)
02:43 pyrimidine I wonder...
02:43 pyrimidine m: role Foo { method foo { ... } }; class Bar does Foo { method foo { ... } }; say "All clear"
02:43 camelia rakudo-moar 2b7e23: OUTPUT«All clear␤»
02:43 pyrimidine heh
02:45 pyrimidine japhb: so, you can apparently implement a stub with... a stub
02:45 kurahaupo joined #perl6
02:46 grondilu yeah { ... } is not the same as {...}
02:47 grondilu oh wait
02:47 grondilu m: role Foo { method foo { ... } }; class Bar does Foo {};
02:47 camelia rakudo-moar 2b7e23: OUTPUT«===SORRY!===␤Method 'foo' must be implemented by Bar because it is required by a role␤»
02:47 grondilu ah my bad
02:47 pyrimidine yadayadayada
02:48 grondilu m: role Foo { method foo { ...; } }; class Bar does Foo {};
02:48 camelia rakudo-moar 2b7e23: OUTPUT«===SORRY!===␤Method 'foo' must be implemented by Bar because it is required by a role␤»
02:48 grondilu m: role Foo { method foo { 1;...; } }; class Bar does Foo {};
02:48 camelia rakudo-moar 2b7e23: ( no output )
02:48 pyrimidine now that is interesting :)
02:49 vendethiel- joined #perl6
02:49 pyrimidine I tried that in the REPL and got a segfault
02:50 * grondilu tries
02:50 grondilu no segfault here.  Latest rakudo on Moar
02:51 pyrimidine Linux? I'm on Mac.
02:51 grondilu linux
02:51 pyrimidine I ran into a malloc issue with the latest, am on 940066d
02:52 grondilu This is perl6 version 2014.08-314-g2b7e232 built on MoarVM version 2014.08-108-g93d47dd
02:52 pyrimidine This is perl6 version 2014.08-309-g940066d built on MoarVM version 2014.08-108-g93d47dd
02:53 noganex_ joined #perl6
03:01 yeahnoob joined #perl6
03:01 jerrycheung joined #perl6
03:02 telex joined #perl6
03:03 dalek rakudo/nom: f5ab10a | duff++ | src/core/Str.pm:
03:03 dalek rakudo/nom: More performant Str.samecase
03:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f5ab10a708
03:09 cognome joined #perl6
03:17 kaare_ joined #perl6
03:21 jerrycheung joined #perl6
03:22 kaleem joined #perl6
03:25 hagiri joined #perl6
03:35 [Coke] ZOMG DID YOU SPECTEST THIS TIME?
03:35 [Coke] :)
03:47 [Coke] looks like rakudo.moar's getting better; only 2 digits worth of failing tests.
03:47 [Coke] PerlJam++
03:50 JimmyZ joined #perl6
03:51 JimmyZ Was it known that t/spec/integration/advent2011-day07.t fails randomly with "No such method 'name' for invocant of type 'Mu'" ?
03:53 PerlJam [Coke]:  :-P
03:53 [Coke] JimmyZ: daily runs record test failures here:
03:53 [Coke] https://github.com/coke/perl6-roast-data
03:54 [Coke] you can check the history in the log/ file for the various rakudos to see if it's "known".
03:54 [Coke] (by the automated process, if not by a human)
03:55 JimmyZ I see it :)
03:57 kurahaupo joined #perl6
03:58 PerlJam JimmyZ: my solution in Grammar::Profiler::Simple was to add BUILD and DESTROY to the list of methods to just pass through.
04:20 anaeem1 joined #perl6
04:22 tinyblak joined #perl6
04:42 kaare_ joined #perl6
04:42 dwarring joined #perl6
04:44 dayangkun joined #perl6
04:45 * dwarring looks at Grammar::Profile::Simple
04:50 chenryn joined #perl6
05:07 rindolf joined #perl6
05:07 dalek roast: b6956cf | (David Warring david.warring@gmail.com)++ | packages/Advent/GrammarProfiler.pm:
05:07 dalek roast: [Advent::GrammarProfiler.pm] add BUILD and DESTROY to methods JimmyZ++ PerlJam++
05:07 dalek roast:
05:07 dalek roast: Follow Grammar::Profiler::Simple - hopefully fixes recent failures
05:07 dalek roast: review: https://github.com/perl6/roast/commit/b6956cf712
05:07 dwarring ^^ hope that runs better
05:09 grettis joined #perl6
05:31 gfldex joined #perl6
05:42 chenryn joined #perl6
05:44 Ven joined #perl6
05:46 JimmyZ_ joined #perl6
05:53 tinyblak joined #perl6
06:09 timotimo i wonder why jaffa4 (on the perl6 RT) uses a multi sub to NativeCall a single C function
06:10 kaleem joined #perl6
06:10 dayangkun joined #perl6
06:11 timotimo (not saying "why didn't jaffa4 use a normal sub instead!", we should really see if we can improve that error mesasge somehow)
06:12 yeahnoob joined #perl6
06:15 mberends timotimo: jaffa4 probably got the multi sub cargo-cult fashion from other examples
06:15 timotimo that's unfortunate
06:16 [Sno] joined #perl6
06:17 timotimo also: ohai mberends :)
06:18 mberends ohai timotimo :)
06:18 timotimo i still have that usb cable %)
06:20 mberends I have several others now too, but less colourful :)
06:21 timotimo however, it seems like the cable has died :(
06:22 chenryn joined #perl6
06:22 mberends cheap foreign imports!
06:22 timotimo just tried plugging in my phone to my computer with it and it neither charges nor gets noticed by the kernel
06:23 timotimo in the mean time, i've gotten "Amazon Basics™ Micro USB Cable"s and they seem to be more robust
06:24 jerrycheung joined #perl6
06:26 * mberends does not give a product warranty with free USB cables ;-)
06:27 timotimo ah, that's fine :)
06:28 cognome joined #perl6
06:29 mr-foobar joined #perl6
06:30 JimmyZ_ joined #perl6
06:31 sergot hi o/
06:33 SamuraiJack joined #perl6
06:34 timotimo hey there sergot
06:34 sergot timotimo: o/
06:37 FROGGS[mobile] joined #perl6
06:37 anaeem1 joined #perl6
06:40 timotimo huh. my little brownian tree code i put on rosettacode balloons up to quite a lot of ram usage when run with --profile
06:40 timotimo strange.
06:44 Px12 joined #perl6
06:48 sergot does panda works well on your boxes?
06:49 sergot work
06:49 JimmyZ yeah
06:50 FROGGS joined #perl6
06:50 sergot it hangs on my box when running ./(re)bootstrap.pl
06:50 timotimo oh, are you on osx?
06:50 sergot no, it is ubuntu
06:50 timotimo no, this is patrick!
06:50 JimmyZ ubuntu 14.04 here
06:50 timotimo in that case: no clue :(
06:50 sergot :)))
06:51 sergot hm
06:51 timotimo now my system is swapping ... i do hope this finishes ...
06:51 FROGGS sergot: try to make realclean in moarvm and make install, then pull latest rakudo and reconfigure and make install
06:51 timotimo ah, yes, that may help
06:51 timotimo i keep forgetting about that ...
06:52 sergot FROGGS: doing
06:55 timotimo hum. rakudo is pretty much death-swapping at this point ...
06:56 sergot FROGGS++ # it works! :)
06:57 FROGGS \o/
07:17 timotimo ... that can't be right ... the profile output balloons up to about 8gb of ram + 8gb of swap
07:17 mberends joined #perl6
07:18 virtualsue joined #perl6
07:18 timotimo the process itself only took 32 seconds to run :\
07:20 moritz my spectest hangs in t/spec/integration/advent2009-day04.t, but it works fine when I run it isolation
07:21 timotimo moritz: maybe it has to do with being run from prove?
07:21 moritz timotimo: maybe
07:22 timotimo prove should also take a file rather than a directory as argument, right?
07:22 moritz running it like that works
07:22 moritz PERL6LIB=lib prove -e ./perl6-m  t/spec/integration/advent2009-day04.t
07:22 moritz t/spec/integration/advent2009-day04.t .. ok
07:22 timotimo bleh >:(
07:23 timotimo darn heisentests
07:23 * moritz tries the full spectest again
07:23 timotimo i wonder if i should just kill the perl6-m process; can't tell how far the generation of the profile data has gotten, sadly
07:26 zakharyas joined #perl6
07:27 spider-mario joined #perl6
07:27 kurahaupo joined #perl6
07:27 timotimo i think i may need a --profile-profile option
07:29 moritz or maybe a --debug-profile option, that prints some status report
07:29 moritz so that you can see where it hangs
07:29 timotimo perhaps
07:30 timotimo am i triggering some sort of infinite recursion? or infinite loop? or something like that?
07:30 timotimo a throw-rethrow-loop maybe?
07:31 timotimo *now* i have a profiler output
07:31 spider-mario joined #perl6
07:32 moritz so it wasn't quite infinite after all?
07:32 timotimo for a drastically reduced version of the program, which ran only 0.34s this time, i got a 30 megabyte json dump
07:33 timotimo ... the profiler output is utterly useless ;(
07:33 moritz t/spec/integration/advent2009-day04.t hangs again in spectest :(
07:33 timotimo inclusive time is either NaN% or Infinity%
07:33 timotimo the exclusive times read something like 756316507022087.2ms
07:33 moritz m: say 756316507022087.2 / 1000 / 3600 / 24
07:33 camelia rakudo-moar f5ab10: OUTPUT«8753663.2757186019␤»
07:34 moritz m: say 756316507022087.2 / 1000 / 3600 / 24 / 365
07:34 camelia rakudo-moar f5ab10: OUTPUT«23982.639111557813␤»
07:34 timotimo yeah. not quite.
07:34 moritz just 24 millenia
07:37 sergot .seen carlin
07:37 yoleaux I saw carlin 10 Sep 2014 21:03Z in #perl6: <carlin> moritz++
07:39 mathw According to irssi, someone mentioned me over the last two days, but it's beyond my scrollback :(
07:39 timotimo 230322* timotimo │ moritz: in your mail about the Form module, you accidentally linked to mathw's
07:39 timotimo │ repository rather than perl6's
07:39 timotimo this one?
07:39 mathw (or it's a false positive)
07:39 JimmyZ_ joined #perl6
07:39 mathw that might've done it
07:39 mathw :)
07:39 mathw thanks
07:40 mathw just wanted to make sure it wasn't something someone wanted a reply to
07:40 timotimo 222431*   moritz │ mathw: ok, I've done the fork of Form into the perl6 organization
07:40 timotimo or that
07:40 mathw given recent discussions about Form, and my utter lack of use of /away
07:47 JimmyZ_ joined #perl6
07:50 darutoko joined #perl6
07:52 skarn joined #perl6
07:53 denis_boyun_ joined #perl6
07:55 yeahnoob joined #perl6
08:03 Px12 joined #perl6
08:03 grondilu joined #perl6
08:08 kaleem joined #perl6
08:14 wenca joined #perl6
08:20 bjz joined #perl6
08:22 Guest69681 left #perl6
08:27 grondilu joined #perl6
08:29 itz_ joined #perl6
08:30 JimmyZ_ joined #perl6
08:30 cognome joined #perl6
08:37 dakkar joined #perl6
08:43 eiro joined #perl6
08:47 wolfram_ joined #perl6
08:47 colomon joined #perl6
08:48 jaffa4 joined #perl6
08:49 jaffa4 hi all
08:49 jaffa4 How do I look the ticket 122250?
08:49 moritz RT#122250
08:49 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122250
08:49 moritz jaffa4: follow the link
08:50 jaffa4 no permission to view ticket
08:51 FROGGS same for me
08:51 sergot same here
08:51 timotimo i also don't have permission to view the tickenwhen i'm logged in
08:51 jaffa4 ok. number was bad
08:51 FROGGS either that or it is in another queue we don't have access to
08:52 jaffa4 it is 122750
08:52 moritz 122250 is probably spam
08:55 timotimo that one i can see
08:55 timotimo jaffa4: i'd be interested to know where you got the inspiration to use a multi sub for your TopWindow_TopWindow_c?
08:56 timotimo also, it seems weird to me that you'd want to hand back an OpaquePointer from the new method of your TopWindow
08:56 jaffa4 from C++ and this function is exported as C functrion , that is why _c
08:57 FROGGS jaffa4: but why is it a multi?
08:57 jaffa4 because c++ can have overloaded functions
08:57 jaffa4 and if they are important, this does not compile
08:57 jaffa4 imported
08:57 timotimo how does the C front-end deal with that?
08:58 jaffa4 by numbering the functions... the name because fuctionname2, functionnam3...
08:58 timotimo i wonder if multi subs work properly with nativecall
08:58 FROGGS timotimo: yes, they should
08:59 FROGGS at least the MMD works...
08:59 jaffa4 what is MMD?
08:59 FROGGS and you have to know symbols the C libary exports, whatever they are
08:59 timotimo multi method dispatch
09:00 FROGGS which is also in use for subs actually
09:03 jaffa4 so this is a bug, right?
09:03 timotimo yeah
09:03 timotimo but still, why "returns OpaquePointer"?
09:03 grettis joined #perl6
09:04 FROGGS but also, returning something from new that is not an instance of that class is wrong
09:04 jaffa4 not sure, maybe because I played with it to make it work
09:04 timotimo ah
09:04 timotimo FROGGS: only morally wrong, though :)
09:04 FROGGS yes :o)
09:08 jaffa4 even if it retuens TopWindow, it does not work
09:09 timotimo oh, could it perhaps have to do with * instead of ...?
09:09 jaffa4 no
09:09 timotimo OK
09:09 timotimo strange.
09:09 timotimo definitely strange.
09:17 virtualsue joined #perl6
09:19 Ulti whoa since those changes to list iter (I assume) my tests take 24 seconds instead of 32 YAY #perl6++
09:20 Ulti that is some mighty big perf jump
09:21 Ulti and thats real code I would write every day not a twitchy micro benchmark
09:22 timotimo i really do hope we can get a few more jumps of that same magnitude in the very near future
09:22 Ulti yeah two more would do it for me >:3
09:22 timotimo (if you'd like, you could also post a --profile of that script, if it doesn't contain sensitive information)
09:23 Ulti I have already, its on the p6 reddit
09:23 Ulti timotimo you already looked it over and commented on list iter being 25% of the scripts time
09:23 Ulti I can run the profile again now if you like
09:26 Ulti timotimo: http://mattoates.co.uk/files/perl6/
09:27 timotimo oh!
09:28 timotimo huh, i wonder if reporting of full vs non-full gc runs is broken since my branch was merged?
09:28 timotimo there's gc runs that take twice as long as the ones before or after themselves, but they are not marked "full"
09:39 colomon woah, smoke test runs pretty quickly at the moment, and was very clean this time around: http://host07.perl6.com:8080/report
09:43 moritz I've now added http://rakudo.org/smoke as a redirect to http://host07.perl6.com:8080/report
09:46 colomon moritz++
09:49 * JimmyZ doubts every reify call cause a GC ...
10:10 kaleem joined #perl6
10:29 kurahaupo joined #perl6
10:35 kurahaupo joined #perl6
10:35 kurahaupo joined #perl6
10:35 Rotwang joined #perl6
10:38 kurahaupo joined #perl6
10:47 dalek rakudo/nom: 2b1060b | jonathan++ | src/main.nqp:
10:47 dalek rakudo/nom: Don't sink last mainline statement if type object.
10:47 dalek rakudo/nom:
10:47 dalek rakudo/nom: Avoids bogus errors when a role is the final thing in the mainline.
10:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2b1060beb6
10:48 nwc10 gah, the goalposts moved again while I was running tests :-)
11:00 jerrycheung joined #perl6
11:09 carlin how are we supposed to test what's broken if jnthn++ keeps fixing things :p
11:29 wenca joined #perl6
11:30 oetiker joined #perl6
11:40 dalek rakudo/nom: db6cf0c | (Elizabeth Mattijsen)++ | src/core/Str.pm:
11:40 dalek rakudo/nom: Minor performance tweaks
11:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/db6cf0ce35
11:53 dalek rakudo/nom: f97cc9d | (Elizabeth Mattijsen)++ | src/core/Str.pm:
11:53 dalek rakudo/nom: Don't bother substringing if we don't need to
11:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f97cc9dbe9
11:53 jaffa4 if I remove multi in frnt of sub... there is no error
11:57 woshty Is there a what works with what compiler matrix somewhere?
11:57 lizmat m: "foo".lines.WHAT.say; "foo".words.WHAT.say   # does anybody see a problem with this behaviour ?
11:57 camelia rakudo-moar 2b1060: OUTPUT«(List)␤(Str)␤»
11:58 lizmat aka, a one element .lines is a List, a one element .words is a Str
11:58 jnthn woshty: http://perl6.org/compilers/features
11:59 grondilu I would personally expect .words to always return a list.
12:00 grondilu m: say "foo".words.elems
12:00 camelia rakudo-moar 2b1060: OUTPUT«1␤»
12:00 lizmat S32/Str:words would imply that the current implementation is incorrect
12:00 lizmat S32/Str:357
12:00 synopsebot Link: http://perlcabal.org/syn/S32/Str.html#line_357
12:02 moritz how so? because it doesn't implement limit?
12:02 lizmat because it returns Str on 1 word strings
12:02 lizmat rather than a 1 elem List
12:03 moritz m: say 'foo'.comb(/\S+/).^name
12:03 camelia rakudo-moar 2b1060: OUTPUT«List␤»
12:03 Px12 joined #perl6
12:04 lizmat m: say "foo".words.^name
12:04 camelia rakudo-moar 2b1060: OUTPUT«Str␤»
12:04 grondilu that seems wrong indeed
12:04 telex joined #perl6
12:04 lizmat m: say "foo foo".words.^name
12:04 camelia rakudo-moar 2b1060: OUTPUT«Parcel␤»
12:04 jnthn jaffa4: NativeCall makes no claim to support putting multi on "is native" things. If it works, then (a) it's by luck, and (b) it's not covered by the test suite nor documented, so it's unwise to rely on it.
12:04 lizmat I was looking at giving Str.words the Str.lines treatment  :-)
12:05 jnthn Might be able to make it work in the future, but for now I'd just avoid it.
12:05 jnthn dinner &
12:05 jaffa4 jhthn: thanks, it does not claim the opposite either.
12:06 jaffa4 jnthn: of course , I know now what the case is
12:31 JimmyZ_ joined #perl6
12:34 dalek roast: d7f03fc | moritz++ | integration/advent2011-day23.t:
12:34 dalek roast: Fix integration/advent2011-day23.t
12:34 dalek roast:
12:34 dalek roast: no idea why a Bag was used here before, a set seems to work fine
12:34 dalek roast: (and does not rely on now-deprecated, implicit coercions)
12:34 dalek roast: review: https://github.com/perl6/roast/commit/d7f03fcb90
12:35 moritz IWBN if sombody with more set+bag+sethash fu could look over the remaining spectest failures
12:36 jaffa4 How do I call a multi method outside its class?  normal call does not make it
12:36 moritz jaffa4: then you did something wrong, or I misunderstood your question
12:37 moritz m: class A { method x() { 1 }; method x($) { 2} }; say A.new.x; say A.new.x(1)
12:37 camelia rakudo-moar 2b1060: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/a5Qw0hB59P�Package 'A' already has a Method 'x' (did you mean to declare a multi-method?)�at /tmp/a5Qw0hB59P:1�------> �»
12:37 moritz m: class A { multi method x() { 1 }; multi method x($) { 2} }; say A.new.x; say A.new.x(1)
12:37 camelia rakudo-moar f97cc9: OUTPUT«1␤2␤»
12:37 jaffa4 multi method Run(int32 $appmodal) ... I call it like this $top.Run(0);
12:37 moritz jaffa4: see above, a call to a multi method from outside the class. And it works fine
12:38 jaffa4 and I get Cannot call 'Run'; none of these signatures match:
12:38 jaffa4 if I remove multi... it is ok
12:38 moritz jaffa4: please produce a small, self-contained example with which I can reproduce that.
12:39 moritz jaffa4: if the trouble is in your code, the process of reducing it down to the essentials will likely show you what the problem is
12:39 moritz jaffa4: and if not, we have a perfect example for a test case and a bug report
12:40 jaffa4 there is one megabyte dll as well
12:41 nine jnthn: how is MoarVM supposed to know when I'm not using NativeCall callbacks anymore so it can free the memory (and objects referenced from the closures)?
12:41 moritz jaffa4: I don't believe you need that to reproduce your problem
12:43 jaffa4 I need to create an instance of the class which involves calling the dll
12:43 dalek joined #perl6
12:43 moritz jaffa4: have you tried if the same problem exists without any nativecall involvement?
12:44 moritz also you could try to call yourclass.CREATE, which gives also a (minimal, uninitialized) instance
12:45 guru joined #perl6
12:47 jaffa4 moritz: ok reproduced it
12:48 jaffa4 without nativecall involvment
12:48 moritz \o/
12:49 jaffa4 http://pastebin.com/SJ6LYsEB
12:49 jaffa4 my guess it does not like int32
12:50 FROGGS[mobile] joined #perl6
12:50 moritz m: class TopWindow {multi method Run(int32 $appmodal) returns int32 {3}}; TopWindow.new.Run(5)
12:50 camelia rakudo-moar f97cc9: OUTPUT«Cannot call 'Run'; none of these signatures match:␤:(TopWindow: int32 $appmodal, *%_ --> int32)␤  in block <unit> at /tmp/f5gxhInAjm:1␤␤»
12:51 moritz m: 5 ~~ int32
12:51 camelia rakudo-moar f97cc9: ( no output )
12:51 moritz m: say 5 ~~ int32
12:51 camelia rakudo-moar f97cc9: OUTPUT«False␤»
12:51 moritz that explains a lot
12:52 moritz my native int32 is repr('P6int') is Int is nativesize(32) { }
12:52 moritz m: say int32 ~~ Int
12:52 camelia rakudo-moar f97cc9: OUTPUT«True␤»
12:52 moritz m: say 5.^name
12:52 camelia rakudo-moar f97cc9: OUTPUT«Int␤»
12:53 jaffa4 Is this a bug?
12:54 moritz I don't know.
12:54 jaffa4 feature?
12:54 moritz rakudo defines int32 as a subclass of Int, and so it's correct that an Int instance doesn't conform to the type int32
12:54 moritz but I don't konw if int32 as a subclass of Int is correct
12:55 moritz and if yes, how to write int32 literals
12:55 grondilu m: say (my int32 $ = 5) ~~ int32;
12:55 camelia rakudo-moar f97cc9: OUTPUT«False␤»
12:55 grondilu lol, did not expect that
12:56 jaffa4 is int32 signed or unsigned?
12:56 grondilu signed
12:56 jaffa4 Is there unsigned version of it?
12:56 grondilu uint32
12:56 grondilu m: say (my int32 $ = 5).^name
12:56 camelia rakudo-moar f97cc9: OUTPUT«Int␤»
12:57 grondilu m: sub foo returns int32 { my int32 $ = 1 }; say foo
12:57 camelia rakudo-moar f97cc9: OUTPUT«1␤»
12:57 grondilu m: sub foo returns int32 { my int32 $ = 1 }; say foo.WHAT
12:57 camelia rakudo-moar f97cc9: OUTPUT«(Int)␤»
12:58 jaffa4 $ as variable name?
12:58 grondilu anonymous var
12:58 grondilu fairly common P6 idiom
12:59 jaffa4 same as $_?
12:59 grondilu nope
12:59 grondilu $_ is the topic variable.  Not anonymous.
12:59 grondilu it's name is '_'
12:59 grondilu *its
13:00 jaffa4 m: my $="invisible"; print $;
13:00 camelia rakudo-moar f97cc9: OUTPUT«use of uninitialized value <element> of type Any in string context  in block <unit> at /tmp/RYMePjzpsQ:1␤␤»
13:00 grondilu anonymous variables are single used.  Only used for syntactic purpose or as a placeholder.
13:01 grondilu (or for even more subtle stuff)
13:02 grondilu so in 'my $="invisible"; print $;', there are actually two anonymous variables.
13:02 grondilu tthe second being un-initialized.
13:02 jaffa4 ok
13:04 Remosi left #perl6
13:06 moritz grondilu: actually there is another use: forcing a context
13:06 dalek nqp: cf15b57 | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION:
13:06 dalek nqp: Bump MOAR_REVISION to get upgraded libuv FROGGS++
13:06 dalek nqp: review: https://github.com/perl6/nqp/commit/cf15b57226
13:06 moritz m: my $cnt = 0; for my $ = (1, 2, 3) { $cnt++ }; say "$cnt iterations"
13:06 camelia rakudo-moar f97cc9: OUTPUT«1 iterations␤»
13:07 grondilu context is a syntactic concept, isn't it?
13:08 grondilu (well, not really I guess)
13:08 grondilu anyway it probably fits the 'even more subtle stuff'
13:08 lizmat m: my $cnt = 0; for my @ = (1, 2, 3) { $cnt++ }; say "$cnt iterations"
13:08 camelia rakudo-moar f97cc9: OUTPUT«3 iterations␤»
13:11 grondilu std: for my @ = 1, 2 {...}  # wondering if this is valid syntax
13:11 camelia std 53b3ca6: OUTPUT«ok 00:01 127m␤»
13:13 bjz joined #perl6
13:17 dakkar joined #perl6
13:19 JimmyZ perl6 -e 'loop { start { say "hello" } }'  # fails randomly with different error
13:21 pat_js joined #perl6
13:21 moritz "works" fine here
13:21 moritz JimmyZ: what kind of errors do you get?
13:23 PerlJam I get a core dump when I send it a SIGINT, but otherwise it seems fine here too.
13:23 FROGGS[mobile] moritz: in case camelia does not get updated, you'd have to make realclean in MoarVM
13:23 dalek rakudo/nom: c3bd133 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION:
13:23 dalek rakudo/nom: Get latest Moar with lib_uv upgrade, FROGGS++
13:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c3bd133cbd
13:23 FROGGS[mobile] such karma *g*
13:23 JimmyZ moritz: segfault or 'Unhandled exception: Cannot invoke null object '
13:24 PerlJam FROGGS++ have some more!  :)
13:24 FROGGS[mobile] :o)
13:24 JimmyZ moritz: or hangs
13:24 PerlJam JimmyZ: what OS are you on?
13:25 lizmat Files=916, Tests=33714, 166 wallclock secs ( 8.89 usr  3.32 sys + 997.12 cusr 133.54 csys = 1142.87 CPU)
13:25 lizmat errands&
13:25 JimmyZ_ joined #perl6
13:25 JimmyZ_ or "No such method 'vow' for invocant of type 'Any'"
13:26 JimmyZ_ I got at least 4 error msg
13:26 moritz FROGGS[mobile]: ok, I've done a realclean now, should work out automagically on next rebuild
13:26 FROGGS[mobile] awesome
13:27 PerlJam JimmyZ: that second one is weird. Seems like you'd only get it if Promise.new didn't actually return a Promise.
13:27 JimmyZ_ which looks like a gc moving bug ...
13:30 JimmyZ likes like "hangs" is easy to catch
13:30 JimmyZ because most time is hangs
13:31 PerlJam Maybe hangs because you've saturated the scheduler. :)
13:32 JimmyZ don't know, since it may be segfault or other error
13:33 PerlJam oh, I just got mine to hang and then segfault.
13:34 PerlJam (though, I did add a counter to the output so that I could see some difference)
13:34 PerlJam hello 44061
13:34 PerlJam Cannot assign to an immutable value
13:34 PerlJam and I just got that too
13:35 PerlJam But I'm going to keep with "saturated scheduler" and not worry about it too too much for now  :)
13:36 JimmyZ https://gist.github.com/zhuomingliang/135d8926a133ee680470
13:36 JimmyZ I got a bt with segfault or hangs
13:38 PerlJam yeah, I get random-ish errors too (eventually)
13:38 PerlJam Unhandled exception: getlex: outer index out of range
13:38 PerlJam Segmentation fault (core dumped)
13:39 JimmyZ OK, I got new error 'Cannot assign to an immutable value', but I can't get the bt
13:39 PerlJam JimmyZ: while probably indicative of a problem somewhere, I don't see this being a common use-case for Promise.start   :)
13:41 JimmyZ_ joined #perl6
13:42 JimmyZ_ PerlJam: I know nothing about Promise, since it got segfault, I think there is a bug in MoarVM :P
13:44 jerrycheung joined #perl6
13:44 PerlJam JimmyZ_: aye.  (I just ran it with perl6-j and it's still chugging along without hiccup)
13:44 dalek rakudo-star-daily: 3342d7d | coke++ | log/ (14 files):
13:44 dalek rakudo-star-daily: today (automated commit)
13:44 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/3342d7db67
13:46 PerlJam JimmyZ: maybe mention it on #moarvm too ?
13:46 fhelmberger_ joined #perl6
13:46 JimmyZ ah... I see an error in segfault 'Internal error: multiple ex_release_mutex'
13:48 JimmyZ I think jnthn++ will see the backlog here
13:50 jerrycheung joined #perl6
13:54 gtodd can the log parsing "benchmark" recently posted on perlmonks (http://perlmonks.org/?node_id=1099617) go faster *without* the eventual "Big List Refactor" ?  I guess I mean are there other low hanging pieces of fruit?
13:54 gtodd because "Big List Refactor"  sounds ... errm "big"
13:55 kaleem joined #perl6
13:56 Timbus "so I'm not confident that Perl6 will ever be anywhere near Perl 5 for common use cases such as this."
13:57 JimmyZ_ joined #perl6
13:58 gtodd well if perl6 is twice as slow for parsing giant logfiles (errm 2 seconds instead of 1) but can do 1000 other amazing things  I'll take that :-)
14:00 Timbus well anyway, a couple days ago optimizations to lines, chomp, -n, and something in the parser were all committed, so..
14:00 Timbus oh and reify
14:00 gtodd if 2 minutes versus 1 second is nearly entirely due to the way p6 does Lists then the"Big List Refactor" timotimo mentioned then that'd be part of christmas :-)
14:01 PerlJam cd
14:02 gtodd was trying to find discussions of the perl6 "Big List Refactor" to see if folks were afraid or excited :-)
14:02 Timbus mmm there's a good chance. a 100k line file spent a huge amount of its time in the lazy list code when i last tested it
14:02 PerlJam gtodd: probably some combination of excited and afraid  :)
14:03 gtodd heh
14:06 [Coke] one of the star module failures: https://github.com/cosimo/perl6-digest-md5/issues/6
14:06 SamuraiJack joined #perl6
14:07 jerrycheung joined #perl6
14:08 ChoHag joined #perl6
14:08 ChoHag Is the genome the ultimate expression of TIMTOWTDI?
14:10 grettis joined #perl6
14:10 gtodd anyway on some of my log files (shorter maybe) the difference was 1 second versuse 2.4 seconds .... it just seemed that beyond a certain size perl6 starts to assume a lazy infinite list and behaves accordingly (or something like that) ... As a mere user I'm *totally guessng*  it's the advanced lazy list abilities that slow things down
14:11 gtodd and in the last few days the performance difference went from 1 second versus 2 minutes to 1 second versus 88 seconds ... without the "Big List Refactor"
14:12 gtodd ChoHag: hi
14:12 gtodd ChoHag: you are famous ... to me ... at least on this FreeBSD system :-)
14:15 JimmyZ_ joined #perl6
14:16 gtodd ChoHag: I can't get perl6-p to build and nqp-p to build ...  (something to do with linking dynacall ?)  and your comments on IRC were the closest I came to seeing someone with a similar problem
14:17 leont hoelzro: https://github.com/Leont/tap-harness6/blob/master/t/generator-more.t
14:18 jaffa4 perl6 seems so complex
14:19 gtodd jaffa4: NativeCall makes it all worthwhile :-)
14:19 jaffa4 How so?
14:19 gtodd hehehe
14:20 gtodd well look at the NativeCall based implementation of a markdown parser that was recently added to the "ecosystem" ....
14:20 gtodd hmm possibly installable with panda
14:20 masak there's a NativeCall based Markdown parser? cool!
14:20 jaffa4 its syntax is ok
14:21 JimmyZ_ joined #perl6
14:21 Alina-malina joined #perl6
14:21 jaffa4 every language has such option
14:21 jaffa4 this does not make Perl6 special
14:21 gtodd masak: errm markdown compiler
14:21 masak jaffa4: you are such a bundle of joy!
14:21 gtodd https://github.com/kanatohodets/p6-text-markdown-discount
14:22 * masak affectionately pulls on the cheeks of jaffa4
14:22 gtodd masak: heheh
14:22 jaffa4 you need to know what makes Perl6 special
14:22 gtodd it's the love
14:22 JimmyZ__ joined #perl6
14:22 jaffa4 it has the most amount of operations
14:22 masak jaffa4: it's the only language where the topmost class is the sound a cow makes.
14:23 jaffa4 operators
14:23 masak it has a lot of operations, too.
14:24 masak gtodd: I don't see it in the modules.perl6.org list -- can we add it there?
14:24 ChoHag gtodd: dynacall needs PIC
14:24 jaffa4 what PIC?
14:24 ChoHag ISTR that the build process doesn't include -fPIC in the cc command.
14:24 ChoHag Although I think it got fixed.
14:25 gtodd there should be a method .love that shows what is to love ....  could allow people to add to list hosted on the perl6.org git server where the say what they like/love about a given class or object ... with code samples of course
14:25 ChoHag When I hit it I just built dynacall by hand and then carried on.
14:25 gtodd ChoHag: hmm ok
14:25 ChoHag I think it got fixed though.
14:25 jaffa4 anonymous vars
14:26 gtodd ChoHag: http://paste.scsys.co.uk/422888  was what I had
14:26 gtodd ChoHag: so I will find where to add that ... or hope it has been added ... haven't tried to build perl6-p for a week or so
14:27 ChoHag I've been away from programming for a few weeks now.
14:27 Alina-malina joined #perl6
14:27 ChoHag Money needs to be earend.
14:27 gtodd masak: that native based markdown thing is not my work :-) I just am impressed by it
14:28 treehug88 joined #perl6
14:29 tadzik where is it?
14:29 tadzik can't find anything on modules.perl6.org
14:29 gtodd tadzik: https://github.com/kanatohodets/p6-text-markdown-discount
14:30 tadzik ::Discount is the new ::XS :PF
14:30 JimmyZ_ joined #perl6
14:32 gtodd hmm wait a *second* what about NativeCall and libperl.so !?
14:32 pyrimidine joined #perl6
14:33 carlin gtodd: Inline::Perl5 ?
14:35 xiaomiao joined #perl6
14:36 * gtodd smacks gob ...
14:36 gtodd of course :)
14:37 carlin I love it. No module for X yet.. just write some wrapper functions around the Perl 5 module and call them with I::P5, problem solved
14:38 woshty jnthn: thx
14:38 pyrimidine carlin: it's pretty genious, actually. nine++
14:40 masak nince++
14:40 masak er, nine++
14:40 * pyrimidine is looking at NativeCall for various bioinformatics applications
14:40 masak nine++ # nice! :)
14:40 mr-foobar joined #perl6
14:41 gtodd carlin: you are talking like laziness is virtue or something
14:41 btyler re Text::Markdown::Discount, I had a few things I wanted to do prior to adding it to the ecosystem
14:41 ChoHag carlin: That sounds like a module for X to me.
14:42 btyler firstly more tests/structure the doc a bit more, but also (and this is a bigger one) figure out what the standard way to handle native lib installations for nativecall modules
14:42 kaare_ joined #perl6
14:42 gtodd carlin: hmm when you say "X" do you mean X as in "x.org"  ? :-D
14:42 ChoHag Considering the fucked up dependencies some apps or libraries have, a mere language which happens to be pretty much ubiquitous already is hardly overkill.
14:42 btyler since in the case of discount, it needs a particular configure flag (--shared) so NativeCall can work with it
14:43 carlin gtodd: err, no, where X is any module. In my case it was Crypt::CBC
14:43 gtodd carlin: ;-)  j/k
14:43 carlin :p
14:43 btyler (the same issue is what's keeping me from adding JSON::Jansson to the ecosystem)
14:44 nine carlin: does this mean that you are already using Inline::Perl5 for something?
14:44 brrt joined #perl6
14:44 gtodd so is the attraction that NativeCall easy and fast unlinke XS which is fast but not always easy?
14:44 * gtodd is not C fluent
14:45 pyrimidine btyler: can you bundle discount w/ your distribution (submodule), then build it yourself as required?
14:45 carlin nine: sort of. the "something" is currently a broken mess but the Inline::Perl5 parts work quite well
14:45 carlin nine: https://github.com/carbin/stomp/blob/master/AES256.pm6
14:45 btyler pyrimidine: yep, was thinking about that approach, just not sure how to make that play nicely with panda
14:46 btyler NativeCall has been a joy to work with for me, and I've never written a line of C 'in anger'
14:46 pyrimidine yeah, would have to look at the build step w/ panda, see how it can be hooked in I suppose
14:47 btyler some knowledge of C memory model was helpful for discount, since I ended up using a hack to get string buffers in and out
14:47 guru joined #perl6
14:47 btyler but for JSON:Jansson it was pretty smooth sailing the whole way, mostly spent my time figuring out p6 stuff rather than C stuff
14:48 pyrimidine btyler: but the cool thing is, you can run a 'hack' (workaround) for the time being until something better comes along. Either that or you build the 'something better'
14:48 pyrimidine either way, you still get things done :)
14:50 carlin btyler: take a look at LibraryMake, and what eg. sergot's OpenSSL does to make it installable with Panda
14:50 btyler ooh, cool, thanks carlin
14:50 btyler will do
14:50 pyrimidine carlin++ # will have a look at that myself
14:51 carlin I've found retupmoca++'s LibraryMake to be extremely useful
14:54 hoelzro leont: nice!
14:56 SamuraiJack_ joined #perl6
15:00 jaffa4 What is special about Text::Markdown::Discount?
15:05 gtodd love
15:09 brrt joined #perl6
15:10 grettis joined #perl6
15:13 masak jaffa4: a module doesn't have to be special compared to other languages in order to be useful to Perl 6 users.
15:13 jaffa4 masak: I forgot to respond... you are too kind...
15:15 jaffa4 masak: certainly... it can be ordinary, mundane, practical
15:17 jaffa4 masak: if I held a lecture on Perl6 I would have to tell the audience why they should use Perl6... what special about it compared to myriad of languages,,,,,,
15:18 moritz jaffa4: but in a lecture about Perl 6, you wouldn't have to tell why a specific module is special
15:19 gtodd talk about the features and let the audience decide
15:21 jaffa4 moritz:  one could be curious.. why this parser... they are many parsers.. Why would I use that perser? What are its advantages and disadvatages compared to other?  There is build Perl 6 parser.. How can it be compared to that?
15:21 jaffa4 moritz: supposing I would like to make an informed choice
15:22 moritz jaffa4: yes, one could be curious. Then one would start to research, and compare alternatives.
15:22 gtodd hmm  not many/any(?) REPL enhancing modules on http://modules.perl6.org/ ... I remember this REPLHelper trick http://perlgeek.de/blog-en/perl-6/2013-repl-trick.html   ...  how best to create something that saves the REPL history (to ~/.p6REPL_history say) and then could load from it ....
15:23 jaffa4 moritz: If I want to parse something... I would like to know if this is fast enough... or is it easy to use?  can it handle grammar I would to parse?
15:24 moritz jaffa4: which are quite different questions than "is it special?"
15:26 gtodd why not pretend you are the Oracle chief engineer giving a talk about Solaris ... does the whole world need to know it's "more special" than Windows or should you just show what you know and demo  ...
15:28 brrt if i was an oracle chief engineer, i'd play some FUD about windows on the server
15:28 brrt (which is deserved given my recent experiences)
15:28 gtodd :-D
15:29 gtodd deciding between solaris and windows seems so last decade :)
15:29 gtodd but someone's got to keep the cloud running
15:29 brrt i wish
15:30 gtodd brrt: lol
15:30 brrt not, by the way, that it doesn't /work/, per se
15:30 leont Meh, trying to precompile my code, but getting the error «cannot stringify this» :-s
15:30 brrt it's just that the setup that my dayjob company has chosen is not a good fit for windows
15:31 amkrankruleuen joined #perl6
15:31 amkrankruleuen joined #perl6
15:33 [Coke] m: say ~this
15:33 camelia rakudo-moar c3bd13: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/KCn93Zso0nâ�¤Undeclared routine:â�¤    this used at line 1â�¤â�¤Â»
15:33 [Coke] it's a fair cop.
15:33 jnthn leont: I presume not the case of that I fixed a couple of days back? Granted, that wasn't in pre-comp...
15:34 JimmyZ joined #perl6
15:34 leont No idea, but my rakudo is only a 2 days old
15:35 Akagi201_ joined #perl6
15:35 leont It's a 2014.08-282-g705e7b8
15:36 jnthn leont: OK, then you have that previous fix
15:39 masak 'night, #perl6
15:40 nine 'night, masak
15:40 btyler jaffa4: I think the neat thing about NativeCall bindings in p6 is that they're -so easy- to write. Text::Markdown::Discount itself might not be anything special, but compare the code there to something like https://github.com/davidfstr/rdiscount/
15:41 gtodd btyler: :)
15:41 gtodd ++
15:43 gtodd how do I find out about Noted and note() ?  what are they?
15:44 carlin out of curosity, what is it that makes `rc-dragon-curve 20` take 2 minutes (vs. 2 seconds for Perl 5)
15:45 japhb carlin: Might be worth --profile'ing it
15:46 moritz most likely ListIter.reify and MapIter.reify
15:46 moritz aka list iteration
15:46 carlin ah, so Great List Refactor will fix it
15:47 moritz still, might be worth checking
15:48 akaseki joined #perl6
15:50 Akagi201 joined #perl6
15:52 zoosha joined #perl6
16:00 exixt joined #perl6
16:02 exixt left #perl6
16:04 carlin https://viennan.net/profile-1410451137.12885.html
16:08 timotimo ah, without jit?
16:08 timotimo src/gen/m-CORE.setting:7868 ← don't even have to look at the source any more to know that this is part of reify ...
16:09 carlin I never remember to enable jit when building, it needs to be the default :p
16:09 carlin I'll redo it with jit
16:11 * timotimo afk again
16:11 timotimo i had a local change that could have made jit default, but i didn't have the opportunity to test it yet
16:11 grettis joined #perl6
16:12 gtodd the CORE.setting files have note() but it's not documented :-)  it seems like a .say that prints to stderr
16:13 TimToady yes it is, S32/IO:168
16:13 synopsebot Link: http://perlcabal.org/syn/S32/IO.html#line_168
16:14 gtodd oh yeah sorry I meant on docs.perl6.org ....
16:14 gtodd the synopses have *everything* :-)
16:15 TimToady I wish
16:15 gtodd wondered if it could be used to save the repl history somehow ... but running the repl inside tmux is my current method
16:15 jack_rabbit joined #perl6
16:16 gtodd that has the virtue or not requiring anything to be done .... zen of !doing and all that
16:20 carlin ohh jit shaves about 30 seconds off it
16:26 dalek perl6-roast-data: 80230e8 | coke++ | / (6 files):
16:26 dalek perl6-roast-data: today (automated commit)
16:26 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/80230e849b
16:27 alexghacker joined #perl6
16:28 [Coke] rakudo parrot horribly broken. only -8- passing tests.
16:28 carlin woah :(
16:29 [Coke] jvm: down to 91 failures; moar - 69; moar-with-jit the favorite at 68
16:30 carlin did moar fail an extra flappy test? or is there actually a test that moar-jit passes that moar doesn't?
16:30 [Coke] first few failures at least in parrot are complaining about Cannot call 'say'; none of these signatures match:
16:30 [Coke] :(Obsolete:D: *%_)
16:30 [Coke] :(Mu: *%_)
16:30 [Coke] carlin: too many fails at the moment for me to investigate that one.
16:31 [Coke] you can, however: check out https://github.com/coke/perl6-roast-data/blob/master/log/rakudo.moar-jit_summary.out vs. https://github.com/coke/perl6-roast-data/blob/master/log/rakudo.moar_summary.out
16:32 [Coke] looks like test file is S17-supply/start.t
16:32 * [Coke] tries to figure out who broke parrot THIS time. :P
16:33 * [Coke] looks forward to this being automated! ;)
16:33 moritz if only 6 tests pass, it's probably a Test.pm problme
16:33 moritz which would make it likely to be commit ac4b214710536bad55c8f8a3f9e38d8e930d31b2
16:33 [Coke] r: say 3
16:33 camelia rakudo-{parrot,jvm,moar} c3bd13: OUTPUT«3␤»
16:34 [Coke] .... with 2014.08-315-gf5ab10a, "./perl6 -e 'say 3'" gives the bare say warning
16:34 moritz ouch.
16:34 exixt joined #perl6
16:34 exixt left #perl6
16:35 [Coke] ... spec test run happened to catch on perljam's samecase commit...
16:37 [Coke] rebuilding parrot on that box with the 4 or so commits that come after...
16:40 carlin timotimo: with jit; https://viennan.net/profile-1410452880.98065-jit.html
16:43 TimToady so...is there any particular reason we don't support file/line directives that will tell us the original file/line rather than gen/m-CORE?
16:43 TimToady seems like that would be LHF
16:43 spider-mario joined #perl6
16:43 TimToady well, in a pretty tall tree...
16:44 leont Managed to precompile (seems I made a small error in the --target value), but now it gives new errors (Could not find symbol '&Through')" that it doesn't give when running without precompile :-/
16:45 leont Seems inner classes become unfindable
16:47 TimToady &Through is not a class name
16:48 guru joined #perl6
16:48 TimToady perhaps something is gluing on an unwarranted &?
16:48 retupmoca leont: possibly the same as this issue? https://gist.github.com/retupmoca/6def9837388382a054b9
16:48 * TimToady noticed yesterday that require assumes all imports have sigils... :/
16:49 leont retupmoca: looks familiar
16:50 TimToady m: require Test <foobar>; foobar
16:50 camelia rakudo-moar c3bd13: OUTPUT«Trying to import from 'Test', but the following symbols are missing: foobar␤  in sub REQUIRE_IMPORT at src/gen/m-CORE.setting:18044␤  in block <unit> at /tmp/RzsdN654fh:1␤␤»
16:50 TimToady m: require Test <ok>; ok 1,"foo"
16:50 camelia rakudo-moar c3bd13: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/dwqAEItQuBâ�¤Two terms in a rowâ�¤at /tmp/dwqAEItQuB:1â�¤------> [32mrequire Test <ok>; ok [33mâ��[31m1,"foo"[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix…»
16:50 * retupmoca is going to create a moarvm github issue on that when he gets around to it...
16:50 moritz looks legit to me.
16:51 moritz TimToady: otherwise, we wouldn't know if a constant/type/whatever or a sub is being imported
16:51 TimToady m: require Test <&ok>; ok 1,"foo"
16:51 camelia rakudo-moar c3bd13: OUTPUT«ok 1 - foo␤»
16:51 TimToady m: require Test; say Test
16:51 camelia rakudo-moar c3bd13: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/3rDdXxo4QEâ�¤Undeclared name:â�¤    Test used at line 1â�¤â�¤Â»
16:51 TimToady m: require Test <Test>; say Test
16:51 camelia rakudo-moar c3bd13: OUTPUT«Trying to import from 'Test', but the following symbols are missing: Test␤  in sub REQUIRE_IMPORT at src/gen/m-CORE.setting:18044␤  in block <unit> at /tmp/Uvf0cFi0R5:1␤␤»
16:51 moritz m: use Test; say Test
16:51 camelia rakudo-moar c3bd13: OUTPUT«(Test)␤»
16:52 moritz m: require Test; say ::('Test')
16:52 camelia rakudo-moar c3bd13: OUTPUT«(Test)␤»
16:52 TimToady require is supposed to at least stub the symbol
16:52 moritz TimToady: it tries to import Test from namespace Test, but there's no Test::Test
16:52 moritz it is?
16:55 TimToady S11:323 assumes that "Sense" is imported
16:55 synopsebot Link: http://perlcabal.org/syn/S11.html#line_323
16:58 Alina-malina joined #perl6
16:58 jaffa4 Is there compartible format with int32?
17:00 TimToady native integers should just work as if promoted to Int, as far as formatting goes, though of course the optimizers is allowed to bypass that
17:00 TimToady *zer
17:00 * TimToady is guessing what you mean by "compartible" though
17:00 [Coke] latest rakudo does not fix parrot failures.
17:02 jaffa4 compatible... 4 is not translated into int32...  what type can I use which is the same as int32 but 4 can become it?
17:03 Alina-malina joined #perl6
17:03 TimToady the fact that 4 cannot become an int32 is simply a bug, in my estimation
17:04 jaffa4 Have you read today\s conversion?
17:04 moritz how should it become an int32?
17:04 TimToady yes
17:04 FROGGS[mobile] A string is also accepted as Str and str...
17:05 FROGGS[mobile] but str is not a subset
17:05 TimToady native integer types are to be treated as storage types, which are like coercion types based on Int, but we're still weak on coercion types
17:05 TimToady I consider int32 to be int32(Int)
17:08 jaffa4 the method could accept Int... then cast it into int32....
17:09 TimToady that's precisely what the int32(Int) notation means
17:09 TimToady but it's NYI
17:10 jaffa4 m: print int32.min;
17:10 camelia rakudo-moar c3bd13: OUTPUT«Inf»
17:11 jaffa4 m: print int32.max;
17:11 camelia rakudo-moar c3bd13: OUTPUT«-Inf»
17:11 TimToady note, however, that if you have both int32(Int) and Int variants in multis, the Int is the same nominal type, so we'd have to treat the coercion as a constraint if it were going to try that first
17:11 TimToady otherwise it'd be formally ambiguous
17:11 jaffa4 m: print Int.max;
17:11 camelia rakudo-moar c3bd13: OUTPUT«-Inf»
17:11 jaffa4 m: print Int.min;
17:11 camelia rakudo-moar c3bd13: OUTPUT«Inf»
17:11 jaffa4 Is that ok?
17:12 TimToady that looks like an accident
17:12 TimToady m: say [max] Int
17:12 camelia rakudo-moar c3bd13: OUTPUT«-Inf␤»
17:12 grettis joined #perl6
17:12 TimToady it is not clear to me that it should allow type objects in that
17:12 TimToady m: say [max]()
17:12 camelia rakudo-moar c3bd13: OUTPUT«-Inf␤»
17:13 TimToady it's treating the type object as (), or some such, which seems bogus
17:13 moritz iirc min and max just ginreo type objects
17:13 moritz *ignore
17:13 TimToady that seems wrong
17:14 TimToady should probably require .DEFINITE or fail
17:14 TimToady especially since it produces the opposite of the right result here
17:15 TimToady we ought to be able to get the bounds of Int as -Inf..Inf, but probably not that way
17:15 jaffa4 Is it possible to get maximum, miinimum value of a type in Perl 6?
17:16 TimToady likewise uint32 should give bounds of 0..^2*32
17:16 PerlJam jaffa4: what would Mu.max be?  or Str.max?   ;)
17:16 jaffa4 when it makes sense
17:17 TimToady we could define .range on some type objects
17:17 TimToady Str should probably return '' .. Inf or so, depending on whether we end up with a StrInf
17:19 TimToady though arguably "\x10ffff" would work for that value as long as you squint :)
17:20 PerlJam And Mu would return  Mu .. Mu  ?
17:21 TimToady Obviously it should just sit there and look at you till you walk away
17:22 PerlJam and Mu.Str should return a random kōan  :)
17:38 gtodd PerlJam: define "piece" for Str .... then worry about length ;-)
17:38 kaleem joined #perl6
17:40 grettis joined #perl6
17:42 slavik joined #perl6
17:42 ingy dj_goku: I am now :)
17:42 prevost joined #perl6
17:46 glumm joined #perl6
17:47 vendethiel- wow, that monk's script to rename some file really looks complicated
17:48 vendethiel- m: say "foo bar" ~ +(for ^5 { $_ })
17:48 camelia rakudo-moar c3bd13: OUTPUT«foo bar5␤»
17:48 vendethiel- m: say "foo bar" ~ (for ^5 { $_ })
17:48 camelia rakudo-moar c3bd13: OUTPUT«foo bar0 1 2 3 4␤»
17:53 vendethiel- m: given 'foo bar.txt' { s/'.txt'/ (2).txt/; .say } # immutable uh?
17:53 camelia rakudo-moar c3bd13: OUTPUT«Cannot modify an immutable Str␤  in sub infix:<=> at src/gen/m-CORE.setting:17721␤  in block <unit> at /tmp/4jECw8Rddu:1␤␤»
17:54 vendethiel- m: given 'foo bar.txt' { say s:r/'.txt'/ (2).txt/;} # trying the obvious p5 thingie
17:54 camelia rakudo-moar c3bd13: OUTPUT«Cannot modify an immutable Str␤  in sub infix:<=> at src/gen/m-CORE.setting:17721␤  in block <unit> at /tmp/5aQc_9YA97:1␤␤»
17:55 vendethiel- duh :D.
17:56 vendethiel- m: given 'foo bar.txt' { say ($_ ~~ s/'.txt'/ (2).txt/);} # trying the obvious p5 thingie
17:56 camelia rakudo-moar c3bd13: OUTPUT«Cannot modify an immutable Str␤  in sub infix:<=> at src/gen/m-CORE.setting:17721␤  in block <unit> at /tmp/bAsc8CS2Bx:1␤␤»
17:59 vendethiel- jnthn++ # weird bugs I've been meta-hitting
18:04 vendethiel- .oO( no such method: "wow" )
18:05 anocelot_ The wow method is the "was only wondering" call, right?
18:05 vendethiel- anocelot_: it's the "much" call
18:05 vendethiel- "perl 6 has the most operators" jaffa4, I really want you to try scala, haskell and agda :P
18:05 anocelot_ vendethiel-: Such object; very method.
18:06 vendethiel- anocelot_: no very method: "wow"
18:07 vendethiel- say "Numbers of filed changed: " ~ +( rename($_, .subst(/'.txt'$/, {"$_ (2).txt"}) when .d for dir )
18:07 vendethiel- my solution to the 20-lines "p6 monk script" :p
18:08 TimToady you have directories named .txt?
18:08 vendethiel- TimToady: yes, I hid my nasty .tcl files in it
18:13 nwc10 your hackathon needs you! http://act.useperl.at/apw2014/wiki?node=HackathonAgenda
18:17 molaf__ joined #perl6
18:20 vendethiel- well, cognome wanted me to co-"host" (erm, help people hacking) a p6 hackaton here in france
18:22 nwc10 people in France hacking in the same location?
18:23 vendethiel- nwc10: yea
18:23 vendethiel- nwc10: beforehand; me going thru my tutorial/ moritz++'s p5-to-p6
18:23 vendethiel- (or was it masak++'s ?)
18:23 nwc10 I don't know :-)
18:24 nwc10 We might be able to manage a video link from our end. We're at ncm.at and I think that they have enough bandwidth
18:28 guru joined #perl6
18:32 dalek rakudo/nom: 7b4e723 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm:
18:32 dalek rakudo/nom: Fix Set test breakage caused by last spec change
18:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7b4e7234f4
18:34 lizmat ^^^ took me a little while to figure out what the best fix was
18:34 * moritz thought the best fix was fixing the tests :-)
18:35 PerlJam What's .new-fp  ?
18:35 PerlJam "from pairs"?
18:36 vendethiel- PerlJam: "functional" :p
18:36 PerlJam why not call it "new-from-pairs"?
18:40 lizmat PerlJam: afaict, I inherited the name from the Niecza implementation
18:41 lizmat actually, ... hmmmm
18:42 virtualsue joined #perl6
18:43 lizmat the -fp is not needed...  .new should be enough
18:43 moritz lizmat++ # first clean spectest in days
18:43 lizmat yes, and no flappers either since the libuv upgrade  :-)
18:44 moritz let's ship it!
18:45 nwc10 Well, "All tests successful.
18:45 nwc10 "
18:45 nwc10 does suggest that that is a valid plan :-)
18:45 [Coke] it was called correctly, hoelzro-- broke the parrot build with:
18:45 [Coke] ac4b214710536bad55c8f8a3f9e38d8e930d31b2
18:45 nwc10 oh :-(
18:46 hoelzro dammit
18:46 hoelzro sorry =/
18:46 grettis joined #perl6
18:48 dalek Inline-Perl5: 65af61c | nine++ | / (3 files):
18:48 dalek Inline-Perl5: Fix leaking of Perl 6 objects passed to Perl 5 code.
18:48 dalek Inline-Perl5:
18:48 dalek Inline-Perl5: Replace closures by an object array and only pass the index in this array
18:48 dalek Inline-Perl5: to Perl 5. Use this index to get back to the Perl 6 object on unwrapping.
18:48 dalek Inline-Perl5: A destructor of the Perl 5 wrapper removes the Perl 6 object from the
18:48 dalek Inline-Perl5: object array and allows the GC to collect it.
18:48 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/65af61c701
18:48 dalek Inline-Perl5: bbc8917 | nine++ | lib/Inline/Perl5.pm6:
18:48 dalek Inline-Perl5: Fix leaking callbacks and re-use free'd slots in the objects array
18:48 dalek Inline-Perl5:
18:48 dalek Inline-Perl5: Replaced the objects array by a ObjectKeeper class that re-uses free'd
18:48 dalek Inline-Perl5: slots. The free slots form a linked list of pointers to previously free'd
18:48 dalek Inline-Perl5: slots. Thanks to ParrotPointerArray for that idea.
18:48 dalek Inline-Perl5:
18:48 dalek Inline-Perl5: Replaced the closures passed to p5_wrap_p6_object by ordinary sub
18:48 dalek Inline-Perl5: references.
18:48 dalek Inline-Perl5:
18:48 dalek Inline-Perl5: This fixes all memory leaks related to passing Perl 6 objects to Perl 5
18:48 dalek Inline-Perl5: code.
18:48 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/bbc89175f4
18:51 nine I'm out of leaks to fix! :)
18:51 PerlJam nine: does that mean it's 100% feature complete?  ;)
18:52 nine PerlJam: nope. That means that I now have a very stable base to add features to :)
18:52 nine PerlJam: but you can already do quite much with what we have.
18:52 hoelzro Travis doesn't use Parrot, does it?
18:53 [Coke] unless travis is runing tests, wouldn't have caught it anyway
18:53 [Coke] *running
18:54 hoelzro [Coke]: was it the spectests?
18:54 dalek rakudo/nom: ffc441d | (Elizabeth Mattijsen)++ | src/core/Baggy.pm:
18:54 dalek rakudo/nom: Better fix for Set breakage
18:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ffc441de16
18:54 [Coke] yes. you get a ./perl6, but nearly all spectests fail.
18:54 moritz nine: might I suggest that you find a better name than '$i' for a variable that's visible in 340 lines of code? :-)
18:54 hoelzro ugh
18:54 rurban moritz?
18:54 hoelzro I need to be running parrot tests more =/
18:55 moritz rurban: yes?
18:55 [Coke] eh. we caught it within a day, that's pretty good.
18:55 [Coke] just need to work on automating this process. :)
18:55 nine moritz: I'm much rather have you suggest a way to get rid of that global entirely and push it back to new().
18:56 hoelzro indeed!
18:56 nine moritz: I'd need a closure per Inline::Perl5 object to pass to p5_wrap_p6_object, but CPointer repr objects cannot have attributes...
18:56 hoelzro is there a CI system we could use other than Travis that would give us time to spectest automatically?
18:56 hoelzro at least once a day?
18:57 moritz nine: uhm, that's for creating a singleton, right?
18:58 [Coke] hoelzro: we need something like hudson or jenkins. or smolder.
18:58 [Coke] or bamboo.
18:58 nine moritz: hold on, trying to fix this right now.
18:59 hoelzro [Coke]: I'm guessing those cost money?
18:59 nwc10 hoelzro: I believe "yet", in that all are software, rather than hosted services
18:59 nwc10 so one would need to find a machine to run them on
18:59 nwc10 er, yes
18:59 PerlJam feather!
18:59 nwc10 I can't type
18:59 PerlJam :)
18:59 hoelzro oh, point taken =)
18:59 moritz and do the setup work
19:00 moritz I guess we could use the server that camelia uses, it's a bit beefier than feather
19:01 [Coke] might be able to use host07
19:01 moritz [Coke]: that's what I'm talking about :-)
19:01 Rotwang joined #perl6
19:02 [Coke] need either something that can process TAP or a way to generate junit test output. (the latter is doable with a plugin that fails its tests on os x)
19:02 [Coke] (https://rt.cpan.org/Public/Bug/Display.html?id=98516)
19:03 btyler smolder speaks TAP by default, it looks
19:03 [Coke] smolder is the only tap native solution (though I have a half-baked replacement that is a mojo5 app we could use love that we could try)
19:03 [Coke] smolder has historically been maintenance heavy for parrot, though.
19:04 [Coke] which is why I started https://github.com/coke/muddle that I haven't touched in 2 years (AIGH)
19:04 [Coke] I would be just as happy with an off the shelf thing that works, however. :)
19:04 FROGGS joined #perl6
19:04 Alina-malina joined #perl6
19:08 xfix_ joined #perl6
19:09 [Coke] perlbrewing mojo...
19:12 itz_ smolder is a bit confused as regards forks and support I think the one on github is the correct one
19:12 itz_ under the smolder user
19:13 xfix_ joined #perl6
19:16 telex joined #perl6
19:16 dalek rakudo/nom: 52b1dc3 | (Steve Mynott)++ | src/core/Perl.pm:
19:16 dalek rakudo/nom: add freebsd to moar DISTROnames
19:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/52b1dc3430
19:16 dalek rakudo/nom: 9ee3629 | moritz++ | src/core/Perl.pm:
19:16 dalek rakudo/nom: Merge pull request #307 from stmuk/nom
19:16 dalek rakudo/nom:
19:16 dalek rakudo/nom: add freebsd to moar DISTROnames
19:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9ee3629e2a
19:18 xfix_ joined #perl6
19:21 moritz fwiw I'll be mostly offline for the next ~16 days (vacation! YAY!)
19:22 brrt joined #perl6
19:22 PerlJam moritz: have an awesome vacation!
19:22 xfix_ joined #perl6
19:24 moritz PerlJam: thanks
19:26 timotimo how do we feel about making MoarVM aware of system-wide swap status?
19:27 dalek Inline-Perl5: 66a15c9 | nine++ | lib/Inline/Perl5.pm6:
19:27 dalek Inline-Perl5: Change Inline::Perl5 to contain a Perl5Interpreter instead of being it
19:27 dalek Inline-Perl5:
19:27 dalek Inline-Perl5: This way we can get rid of the ugly global $i needed for creating
19:27 dalek Inline-Perl5: a single closure to pass to p5_wrap_p6_object. Store it in an object
19:27 dalek Inline-Perl5: attribute instead.
19:27 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/66a15c90fe
19:27 timotimo like, should moarvm notice when it's being swapped in/out and perhaps put a little sleep in or so?
19:27 nine moritz: thanks for pushing me into the right direction :)
19:27 xfix_ joined #perl6
19:27 timotimo maybe have a garbage collector strategy that tries to scan between pages only when a full page has been scanned so far?
19:27 [Coke] hurm. just installed DBD::SQLite with perlbrew, but didn't get a sqlite3 in my path. any pointers?
19:29 dalek Inline-Perl5: 13560f7 | nine++ | lib/Inline/Perl5.pm6:
19:29 dalek Inline-Perl5: Protect against double destructing the Perl 5 interpreter
19:29 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/13560f7ab9
19:29 moritz [Coke]: seems pretty normal; I think it just bundles the library, not the binary
19:30 * geekosaur would expect sqlite3 to come from something other than a perl package
19:30 nine FWIW I now consider Inline::Perl5 safe to use :)
19:30 geekosaur unless the perl package reimplements it in perl
19:30 PerlJam nine: Are you gonna blog about it with some examples of how people could use it?
19:30 moritz [Coke]: so I usually install sqlite3 with my OS' package manager
19:32 xfix_ joined #perl6
19:33 timotimo http://people.cs.umass.edu/~emery/classes/plas/gcwopaging.pdf  ← /me reads this
19:34 btyler the p5 DBD::Sqlite packge includes the full sqlite3 source
19:34 btyler pretty handy for quick projects
19:35 bluescreen10 joined #perl6
19:36 btyler [Coke]: but as a result, it doesn't set up the normal things you'd get from the OS package (like the sqlite3 in your path)
19:36 btyler oh, moritz already mentioned that. sorry to repeat!
19:36 grondilu_ joined #perl6
19:36 xfix_ joined #perl6
19:37 TimToady_ joined #perl6
19:37 nine PerlJam: I'd need a blog for that ;) But I'll probably add some examples to the README
19:37 pochi_ joined #perl6
19:38 [Coke] moritz: before you go, can you give me sudo on host07?
19:38 moritz nine: I'm happy to blog about it, modulo vacations :-)
19:38 xinming_ joined #perl6
19:38 moritz [Coke]: done, please test it
19:38 Rounin_ joined #perl6
19:39 nine I'll give a talk about it at the Austrian Perl Workshop next month.
19:39 PerlJam what exactly is host07?
19:39 moritz PerlJam: it's the server that camelia runs on
19:39 moritz PerlJam: and the smoke report
19:39 [Sno] joined #perl6
19:39 moritz PerlJam: and [Coke]++'s spectest summaries
19:39 amkrankr1leuen joined #perl6
19:40 MilkmanDan joined #perl6
19:40 MilkmanDan joined #perl6
19:40 PerlJam Is it a real box or a vm?
19:40 moritz PerlJam: I think a real box, not quite sure
19:40 timotimo i think i want to come to the APW, too
19:41 dalek Inline-Perl5: bc5610b | nine++ | p5helper.c:
19:41 dalek Inline-Perl5: Remove static my_perl variable to allow true multiplicity
19:41 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/bc5610b0b9
19:41 PerlJam moritz: oh ... who does it belong to?
19:41 timotimo but i kind of sort of don't know how yet
19:41 xfix_ joined #perl6
19:41 moritz PerlJam: diakopter++
19:42 PerlJam diakopter++ for host07!  :)
19:42 PerlJam too bad it doesn't have a cool name like "camelia" or something though.  ;)
19:42 pyrimidine joined #perl6
19:43 [Coke] moritz: coke is not in the sudoers file.
19:43 PerlJam or ... timtowtdi.perl.com would be cool :)
19:43 PerlJam anyway ... diakopter++
19:44 moritz [Coke]: try again please
19:44 moritz [Coke]: I misspelled you (as cokie :-)
19:45 [Coke] coooookiieeeeee
19:45 timotimo when exactly "is" the p6 hackathon after the apw?
19:46 timotimo and at what time on the 10th would i want to arrive?
19:46 xfix_ joined #perl6
19:46 nwc10 timotimo: hackathon is on the schedule: http://act.useperl.at/apw2014/schedule?day=2014-10-12
19:47 nwc10 and the conference officially starts at 10am on on the 10th: http://act.useperl.at/apw2014/schedule?day=2014-10-10
19:47 timotimo OK, in that case i will not want to try to arrive via train on the 10th
19:47 nwc10 but Friday morning will be some sort of "meet and greet" if we dont' have enough talks
19:48 nwc10 we calculated that you can arrive by train from Graz, just
19:48 [Coke] moritz++ Thanks.
19:48 nwc10 no idea how far into Germany you can be and still arrive on Friday before 10am
19:48 [Coke] can anyone outside see anything at http://host07.perl6.com:7123/muddle/ ?
19:48 nwc10 or Switzerland
19:49 [Coke] (I can only reach it via localhost, myself)
19:49 japhb [Coke]: Just hangs when trying to connect.
19:49 timotimo nwc10: i require certain amounts of sleep
19:49 nwc10 me too. I never claimed that this was sensble.
19:49 japhb But clearly not getting a rejection on that port.
19:49 PerlJam [Coke]: same here
19:50 nwc10 I can reach its port 22, but not that port (and not 80 either)
19:50 [Coke] moritz, diakopter: anything special I have to to allow http connections on some arbitrary port.
19:50 [Coke] (this isn't intended to be a permanent installation, just a place to play for now)
19:50 xfix_ joined #perl6
19:51 dalek Inline-Perl5: 817d63a | nine++ | / (2 files):
19:51 dalek Inline-Perl5: Call PERL_SYS_INIT3 and PERL_SYS_TERM only once regardless of number of interpreters.
19:51 dalek Inline-Perl5:
19:51 dalek Inline-Perl5: This allows using 1000s of different Perl 5 interpreters in a single program run.
19:51 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/817d63ac4d
19:53 [Coke] ah, found it.
19:54 moritz [Coke]: there's an "easyfirewall" or something
19:54 timotimo where can i find out if there's still space available in the hotel?
19:54 timotimo it says there's a few rooms reserved under APW2014, but i'm still supposed to book a room?
19:54 nine We could now write a p5eval bot with Inline::Perl5 that uses one Perl 5 interpreter per eval so it's absolutely clean each time...
19:55 timotimo or it could use 5 perl 5 interpreters
19:55 [Coke] ok, poked a hole for my port...
19:56 nine It may even use 5 perl 5 interpreters in 5 different threads...
19:56 nwc10 timotimo: I don't know the answer to that. I think it's completely devolved to the hotel - you'd need to ask them
19:56 moritz version 5.5, of course
19:56 nwc10 that's not the *only* hotel in Salzburg
19:56 timotimo it is not?
19:56 timotimo i sent a request via their website now
19:57 [Coke] ok, it's up and running. it will not continue to be so, not yet.
19:57 nwc10 jnthn stayed in a different hotel last year (but different venue) and I was in yet another hotel :-)
19:58 cognome joined #perl6
19:59 dwarring joined #perl6
19:59 dalek rakudo/nom: ec17e06 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
19:59 dalek rakudo/nom: Use MMD for min/max/minmax and add U: candidate
19:59 dalek rakudo/nom:
19:59 dalek rakudo/nom: So Int.min will now say -Inf, etc. etc.
19:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ec17e06ba5
20:08 Ven joined #perl6
20:15 leont Trying parametric types, they don't seem to smartmatch the way I expected to :-s
20:17 moritz m: role A[$x, $y] { }; A[Cool, Any] ~~ A[Any, Any]
20:17 camelia rakudo-moar ffc441: ( no output )
20:17 moritz m: role A[$x, $y] { }; say A[Cool, Any] ~~ A[Any, Any]
20:17 camelia rakudo-moar ffc441: OUTPUT«True␤»
20:18 moritz m: role A[$x, $y] { }; say A[Cool, Any] ~~ A[Any, Cool]
20:18 camelia rakudo-moar ffc441: OUTPUT«False␤»
20:18 moritz m: role A[$x, $y] { };  role B [$a, $b] does A[$a, $b] { } say A[Cool, Any] ~~ B[Any, Any]
20:18 camelia rakudo-moar ffc441: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/qfCLIiTCC5â�¤Two terms in a rowâ�¤at /tmp/qfCLIiTCC5:1â�¤------> [32m };  role B [$a, $b] does A[$a, $b] { } [33mâ��[31msay A[Cool, Any] ~~ B[Any, Any][0mâ�¤    expecting any of:â�¤        state…»
20:18 moritz m: role A[$x, $y] { };  role B [$a, $b] does A[$a, $b] { }; say A[Cool, Any] ~~ B[Any, Any]
20:18 camelia rakudo-moar ffc441: OUTPUT«False␤»
20:18 moritz m: role A[$x, $y] { };  role B [$a, $b] does A[$a, $b] { }; say B[Cool, Any] ~~ A[Any, Any]
20:18 camelia rakudo-moar ffc441: OUTPUT«False␤»
20:19 moritz I would have expected this one to be True
20:21 dalek ecosystem: b215ea1 | (Karl Rune Nilsen)++ | META.list:
20:21 dalek ecosystem: added Term::termios
20:21 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/b215ea1d9c
20:22 timotimo oooh termios
20:23 leont m: role Foo [::T] { }; say Int but Foo[Str] ~~ Int but Foo[Str]
20:23 camelia rakudo-moar ffc441: OUTPUT«False␤»
20:23 krunen timotimo: now we can set raw mode on stdin :)
20:23 leont That's the one I wanted to work, because that will allow parametric classes (sort of) not just roles
20:25 timotimo krunen: what exactly does that give us, again?
20:25 timotimo setting the 8th bit if alt is held?
20:25 krunen $*IN.getc
20:25 krunen no line buffering
20:27 timotimo oh, neat
20:27 gtodd timtowtdi.perl.com would be a code snippets collection?
20:28 geekosaur hm. is there an actual rss feed around for pl6anet.org?
20:32 itz_ geekosaur: I could put it on github
20:32 itz_ oh you mean an actual RSS feed
20:32 geekosaur yes
20:32 geekosaur I generally read via calibre
20:32 geekosaur (nightly updates)
20:32 itz_ I'll have a look
20:34 brrt joined #perl6
20:35 lizmat m: say "foo" min Inf; say "bar" min -Inf
20:35 camelia rakudo-moar ec17e0: OUTPUT«foo␤-Inf␤»
20:35 lizmat this feels like a strange mix of numeric and non-numeric values
20:35 lizmat one that should maybe fail ?
20:36 moritz m: say 'a' min 'b'
20:36 camelia rakudo-moar ec17e0: OUTPUT«a␤»
20:36 gtodd what  does "~" do to $/ in  ~$/  .... ?
20:36 moritz lizmat: min and max are some of those heretic operators that work on strings and numbers
20:36 moritz gtodd: it forces it to be a string
20:36 moritz lizmat: which makes things more awkward
20:37 geekosaur $/ is a match object. if you are expecting a string, you need to explicitly ~ it (or .Str)
20:37 moritz lizmat: maybe the best thing to do is always feed the argumenst to infix:<cmp>, and let it figure out all the dirty details
20:37 gtodd oh yeah  it's short for $/.Str   is there some can I see what the parser does  ? does it do the same thing?
20:37 moritz what which parser does?
20:37 itz_ geekosaur: there should be an atom feed in place now .. just looking at rss
20:38 geekosaur thanks
20:39 gtodd hehe I  mean can I do like perl5 and Deparse
20:39 geekosaur oh, er, where? doesn't seem to have meta information pointing to it and /rss and /atom don't work...
20:39 lizmat moritz: I'm all for cmp figuring it out: but should cmp not complain about it ?
20:40 moritz lizmat: dunno :-)
20:40 bluescreen100 joined #perl6
20:40 denis_boyun_ joined #perl6
20:42 itz_ geekosaur: http://pl6anet.org/atom.xml
20:42 geekosaur ah, thanks
20:42 itz_ I need to sort this out properly to be discoverable
20:44 timotimo hm, so Bookmarking Collection requires cooperation from the operating system's virtual memory manager ...
20:47 gtodd moritz:  I just wanted to see under the hood for myself if ~$/ and $/.Str  made perl6 did the same thing
20:47 gtodd moritz: but thanks
20:47 geekosaur <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="/atom.xml"> or similar
20:47 moritz gtodd: actually prefix:<~> calls .Stringy
20:48 moritz gtodd: and the default .Stringy calls .Str
20:48 anaeem1 joined #perl6
20:48 moritz gtodd: I'm not sure why we need that distinction
20:50 gtodd moritz: we don't :-)  I'm just got used to using Deparse to see what perl5 thinks a piece of code is
20:52 moritz gtodd: well, a Perl 6 deparse would just tell you that ~$/ calls prefix:<~>($/)
20:53 moritz gtodd: but what prefix:<~> does is not part of the syntax; rather it's part of the runtime library
20:55 gtodd ok ...it's different :-)   ... A better question would have been: how can I "see" how perl6 runs code ? e.g. what  ~ does to things I put it in front of "  ... but I still would get a good answer so thanks :-)
20:55 itz_ geekosaur: thanks that should be discoverable
20:56 geekosaur gtodd, I think the way perl 6 is mutable defeats you here
20:57 moritz gtodd: by using the debugger, and stepping through the code
20:57 geekosaur that is, that things like prefix ~ can be defined in the language
20:57 geekosaur best you can do is step through it and see what it all resolves to after dispatching etc,
21:01 gtodd geekosaur: luckily it also it is more consistent than perl5 ... and the debugger seems very nice
21:12 nine I have just successfully subclassed a Perl 5 class. In Perl 6.
21:13 lizmat nine++  :-)
21:13 timotimo cool :)
21:14 timotimo and that completely without building a Repr
21:14 PerlJam nine: If you tell me you used Moo or Moose, I will go into utter shock.  ;-)
21:17 nine PerlJam: I did not. But after your comment I tested it and it works with Moose :)
21:17 PerlJam okay ... now I'm just disbelieving you.  That's just too incredible.
21:17 PerlJam nine++
21:18 hoelzro ten
21:18 hoelzro er
21:18 hoelzro nine++
21:20 dalek Inline-Perl5: 5665403 | nine++ | / (3 files):
21:20 dalek Inline-Perl5: Infrastructure for inheriting from Perl 5 classes in Perl 6
21:20 dalek Inline-Perl5:
21:20 dalek Inline-Perl5: Add an invoke method that allows separating method lookup from parameter
21:20 dalek Inline-Perl5: passing. This allows using the wrapped P5 object for method lookup while
21:20 dalek Inline-Perl5: passing a wrapped P6 object that inherited from the P5 class as first
21:20 dalek Inline-Perl5: parameter thus making polymorphism work.
21:20 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/5665403763
21:20 dalek Inline-Perl5: 457136e | nine++ | t/inherit.t:
21:20 dalek Inline-Perl5: Use Moose in inherit.t for fun and showing that it indeed works
21:20 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/457136e4c6
21:20 nine PerlJam: try it for yourself :)
21:21 nine Now we just need a little sugar so not everyone has to add this fallback stuff to her classes.
21:22 timotimo so ... a newcomer to both perl5 and perl6 shows up and builds a perl5 interoperability framework in just a month?
21:23 nine timotimo: I'm certainly no newcomer to Perl5 :) Been using it for 15 years. And I'm the maintainer of Perl 5's Inline::Python which is how I know how this may work. But I really have no clue about Perl 6 ;)
21:24 nine tadzik: now there's no excuse anymore. Rewrite synopsebot in Perl 6! You can keep using Bot::BasicBot as base class :)
21:24 tadzik :o
21:24 tadzik you're right
21:25 timotimo oh!
21:25 timotimo OK
21:25 timotimo that explains it
21:25 PerlJam tadzik: btw, merge my last PR for the bot before you rewrite it  :)
21:26 tadzik nine: http://i.imgur.com/9s390o4.gif
21:26 tadzik PerlJam: okay
21:26 dalek roast: 583e7c7 | TimToady++ | S11-modules/require.t:
21:26 dalek roast: test that 'require Test' is True and declares Test
21:26 dalek roast: review: https://github.com/perl6/roast/commit/583e7c7a53
21:26 timotimo nine: if we have Inline::Python2 and Inline::Python3 both, we could allow people to migrate their code piecemeal from 2 to 3 (to 6)
21:27 * PerlJam takes kids hither and yon &
21:28 nine timotimo: the funny thing is, that Perl people usually quickly come up with an idea on how to allow a Python 2 -> 3 migration: run the other interperter in a separate process and send data between them. That's at least the idea I've heard when talking about Perl 5 <-> 6 interop. We just don't need to go that far in Perl :)
21:30 nine Maybe before they finally discover that, we should implement an Inline::Python for Perl 6 :)
21:30 TimToady_ yeah, but who of us would know anything about that...
21:32 itz https://github.com/rakudo/rakudo/pull/308
21:32 itz *cough*
21:32 dalek rakudo/nom: f224e4d | (Elizabeth Mattijsen)++ | src/core/Any.pm:
21:32 dalek rakudo/nom: Fix copy-pasto/rephraso, spotted by Paul Findlay
21:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f224e4d4f9
21:33 dalek rakudo/nom: 4baec3c | (Steve Mynott)++ | src/core/Kernel.pm:
21:33 dalek rakudo/nom:  add to DISTRO.name give
21:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4baec3c5ef
21:33 dalek rakudo/nom: 5d73e24 | lizmat++ | src/core/Kernel.pm:
21:33 dalek rakudo/nom: Merge pull request #308 from stmuk/nom
21:33 dalek rakudo/nom:
21:33 dalek rakudo/nom:  add to DISTRO.name given
21:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5d73e24261
21:35 erkan joined #perl6
21:35 erkan joined #perl6
21:43 btyler On the topic of tiny fixes to rakudo, README typo: 'implement slightly different sets of featurs.'
21:48 leedo does this seem like something that could be possible with Inline::Perl5 + P6 MOP? https://gist.github.com/leedo/b629ec92b59b7d8551f1
21:49 leedo obviously not knowing what a method and a sub in p5 land would be a problem
21:53 hoelzro r: module RobTest; my $output; INIT $output = 7; say $output
21:53 camelia rakudo-{jvm,moar} ec17e0: OUTPUT«7␤»
21:53 camelia ..rakudo-parrot ec17e0: OUTPUT«(Any)␤»
21:53 hoelzro that seems like a parrot bug, no?
21:55 Salai joined #perl6
21:55 lizmat I would say yes
21:55 hoelzro so I *didn't* break the parrot build, since it was already broken ;)
21:55 lizmat hehe, possibly
22:01 timotimo ha!
22:01 timotimo good to know
22:03 * hoelzro reports rakudobug
22:05 hoelzro is there a reason RT isn't hooked into this channel? would it just be too chatty?
22:06 timotimo maybe
22:11 nine leedo: looks like that goes in the right direction. But you cannot enumerate all methods of an arbitrary Perl 5 class. It's too dynamic with features like AUTOLOAD. You can just try check if a method with a given name exists.
22:13 leedo nine: yeah, i was thinking it could accept the name of a constructor
22:15 leedo and/or a whitelist of method names
22:19 bjz joined #perl6
22:23 timotimo so i'm wondering
22:23 timotimo if we sort the work queue by address in a full gc run
22:23 timotimo maybe we'll make swapping less intense when we're doing a gc run?
22:25 masak hoelzro: as far as I know, hooking RT in here has never been tried.
22:25 masak hoelzro: could probably be made non-chatty (as in, only one line of output per ticket change)
22:25 masak if it's done, I would kinda hope it were done as a p6 bot.
22:26 colomon joined #perl6
22:32 Rotwang joined #perl6
22:33 jepeway_ joined #perl6
22:34 breinbaa1 joined #perl6
22:34 lizmat sleep&
22:38 MilkmanDan joined #perl6
22:38 MilkmanDan joined #perl6
22:52 carlin joined #perl6
23:02 j1n3l0_ joined #perl6
23:02 j1n3l0_ hi :)
23:03 j1n3l0_ noob perl6 question here
23:06 j1n3l0_ am i misusing the "!" twigle in the following class definition: class Board::A { has @.cells = <. . .>; method Str() { "<{@.cells.gist}>" } }
23:06 j1n3l0_ oops!
23:07 j1n3l0_ that should be: class Board::B { has @!cells = <. . .>; method Str() { "<{@!cells.gist}>" } }
23:14 leont Looks sensible to me
23:15 xragnar_ joined #perl6
23:16 j1n3l0 joined #perl6
23:17 j1n3l0_ leont: that's what i thought
23:18 leont m: class Board::B { has @!cells = <. . .>; method Str() { "<{@!cells.gist}>" } }; say ~Board::B.new
23:18 camelia rakudo-moar 5d73e2: OUTPUT«<. . .>␤»
23:18 j1n3l0_ oooh
23:19 j1n3l0_ m: class Board::B { has @!cells = <. . .>; method Str() { "<{@!cells.gist}>" } }; say ~Board::B.new(:cells(<x . x>))
23:19 camelia rakudo-moar 5d73e2: OUTPUT«<. . .>␤»
23:19 j1n3l0_ this is what i am seeing
23:20 j1n3l0_ if i change the class definition ...
23:20 j1n3l0_ m: class Board::B { has @.cells = <. . .>; method Str() { "<{@.cells.gist}>" } }; say ~Board::B.new(:cells(<x . x>))
23:20 camelia rakudo-moar 5d73e2: OUTPUT«<x . x>␤»
23:20 j1n3l0_ i get what i was expecting
23:21 j1n3l0_ leont: thanks for the "m:" trick :)
23:22 xenoterracide joined #perl6
23:34 MilkmanD1n joined #perl6
23:44 chenryn joined #perl6
23:45 j1n3l0_ duh!
23:45 j1n3l0_ the "!" attribute is internal and cannot be set in the constructor
23:45 TimToady not without the help of an explicit BUILD
23:46 j1n3l0_ m: class B { has $.b = 'foo'; has $!c = 'bar' }; say B.new(:c('baz'))
23:47 camelia rakudo-moar 5d73e2: OUTPUT«B.new(b => "foo")␤»
23:47 j1n3l0_ thanks
23:47 chenryn joined #perl6

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

Perl 6 | Reference Documentation | Rakudo