Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-03-27

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:25 dayangkun joined #perl6
00:35 stevan_ joined #perl6
00:41 jnap joined #perl6
01:19 prammer joined #perl6
01:19 risou joined #perl6
01:20 cooper joined #perl6
01:20 cooper joined #perl6
01:20 ilogger2 joined #perl6
01:26 jnap joined #perl6
01:49 stevan_ joined #perl6
01:49 ssutch_ joined #perl6
01:49 [Sno] joined #perl6
01:49 broquaint joined #perl6
01:49 pecastro joined #perl6
01:57 xinming_ joined #perl6
02:02 raiph joined #perl6
02:08 cibs joined #perl6
02:11 pdcawley joined #perl6
02:12 SamuraiJack joined #perl6
02:15 lustlife joined #perl6
02:17 raiph lizmat, FROGGS: http://irclog.perlgeek.de/perl6/2011-10-31#i_4639528 # and what about transitive dependencies?
02:23 ggoebel11118 joined #perl6
02:25 xragnar_ joined #perl6
02:26 mtj_ joined #perl6
02:52 klapperl_ joined #perl6
02:57 SamuraiJack joined #perl6
03:00 SamuraiJack joined #perl6
03:03 PZt joined #perl6
03:03 treehug88 joined #perl6
03:04 treehug88 joined #perl6
03:07 hoverboard joined #perl6
03:34 Timbus joined #perl6
03:39 xenoterracide joined #perl6
03:43 woosley joined #perl6
04:20 jnap joined #perl6
04:32 terrencehan joined #perl6
05:00 kaare_ joined #perl6
06:07 dmol joined #perl6
06:10 kaleem joined #perl6
06:23 kaare_ joined #perl6
06:29 moritz \o
06:34 woosley joined #perl6
06:42 dayangkun joined #perl6
06:44 [Sno] joined #perl6
06:47 zby_home_ joined #perl6
07:15 fhelmberger joined #perl6
07:17 nebuchadnezzar joined #perl6
07:22 jnap joined #perl6
07:25 denisboyun joined #perl6
07:54 darutoko joined #perl6
07:55 Rotwang joined #perl6
08:08 FROGGS joined #perl6
08:12 Araq left #perl6
08:14 brrt joined #perl6
08:14 brrt left #perl6
08:23 jnap joined #perl6
08:28 labster joined #perl6
08:31 virtualsue joined #perl6
08:36 FROGGS joined #perl6
08:38 FROGGS lizmat is in da house \o/
08:38 nwc10 is timotimo? :-)
08:39 FROGGS I don't think he is going to come :o(
08:39 * FROGGS reads the links posted by raiph++
08:46 lizmat joined #perl6
08:49 dalek specs: d120e1f | (Elizabeth Mattijsen)++ | S99-glossary.pod:
08:49 dalek specs: Add lemma for RT
08:49 dalek specs: review: https://github.com/perl6/specs/commit/d120e1f19b
08:52 lizmat indeed, in da house  :-)
08:52 stevan_ joined #perl6
09:07 vendethiel lizmat++
09:13 FROGGS raiph++ # the pros/cons are very helpful
09:23 jnap joined #perl6
09:29 dakkar joined #perl6
09:40 jnthn morning o/
09:41 FROGGS morning jnthn
09:43 JimmyZ morning, jnthn
09:50 lizmat joined #perl6
09:51 FROGGS how can I check if something is constant?
09:51 FROGGS shall I check if it can STORE?
09:51 colomon try to change it and see if you get an exception?  ;)
09:51 FROGGS nah :o)
09:52 FROGGS m: say 1.?STORE
09:52 camelia rakudo-moar 15ece8: OUTPUT«Nil␤»
09:52 FROGGS m: my $a; say $a.?STORE
09:52 camelia rakudo-moar 15ece8: OUTPUT«Nil␤»
09:52 FROGGS m: my $a; say $a.STORE()
09:52 camelia rakudo-moar 15ece8: OUTPUT«No such method 'STORE' for invocant of type 'Any'␤  in block  at /tmp/jyzroYF5KI:1␤␤»
09:52 FROGGS m: my $a; say $a.P6STORE()
09:52 camelia rakudo-moar 15ece8: OUTPUT«No such method 'P6STORE' for invocant of type 'Any'␤  in block  at /tmp/4A7f2ViJ6M:1␤␤»
09:52 FROGGS umm
09:53 FROGGS m: 1 = 2
09:53 camelia rakudo-moar 15ece8: OUTPUT«No such method 'STORE' for invocant of type 'Int'␤  in block  at /tmp/kWt2ONjPBe:1␤␤»
09:53 jnthn $a.VAR.isa(Scalar) # one way
09:53 FOSScookie joined #perl6
09:53 FROGGS k
09:53 jnthn FROGGS: Assignment to scalars is not *really* done by a method call, but through a "container spec" mechanism.
09:54 jnthn FROGGS: It's simply too hot-path to call a method on every single assignment... :)
09:54 FROGGS yeah :o)
09:54 FROGGS thanks
09:54 jnthn For arrays and hashes we do but then you tend to be assigning a bunch of things.
10:02 FOSScookie left #perl6
10:04 iolympian joined #perl6
10:11 rindolf joined #perl6
10:14 pecastro joined #perl6
10:20 dalek rakudo/nom: 68e0948 | (Elizabeth Mattijsen)++ | src/core/Enumeration.pm:
10:20 dalek rakudo/nom: Make .pick/.roll on Enums behave sanely
10:20 dalek rakudo/nom:
10:20 dalek rakudo/nom: Same.pick could return Less or More.  Now only Order.pick will return either
10:20 dalek rakudo/nom: Less, Same or More.  Same for .roll.  As discussed from
10:20 dalek rakudo/nom: http://irclog.perlgeek.de/perl6/2014-03-26#i_8496012
10:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/68e094824b
10:21 colomon jnthn: I was just playing around with the debugger (installed without hassle on rakudo-moar, very basics seem to work!) and got the following message:
10:21 colomon >>> LOADING bin/abctranspose
10:21 colomon >>> LOADING /home/colomon/tools/ABC/lib/ABC/Header.pm
10:21 colomon >>> LOADING /home/colomon/tools/ABC/lib/ABC/Tune.pm
10:21 colomon >>> LOADING /home/colomon/tools/ABC/lib/ABC/Pitched.pm
10:21 colomon Unknown compilation input 'optimize'
10:23 jnthn colomon: o.O
10:23 jnthn colomon: I never saw that happen before.
10:23 * colomon feels special
10:24 jnthn Can you run the debugger with --ll-exception and gist me the output?
10:24 jnap joined #perl6
10:25 colomon jnthn: https://gist.github.com/colomon/9804521
10:26 colomon jnthn: I was just playing around to see how the debugger worked, so there's absolutely no urgency in this from my point of view.
10:26 jnthn colomon: OK, thanks. I'll get back to you if I can't reproduce it from the stack trace.
10:27 jnthn colomon: Got some $dayjob tasks I need to attend to at the moment, so will not get to it for some horus eyt anyawya
10:27 jnthn *hours yet anyway :)
10:28 FROGGS colomon: is there a way to read the stuff from Ryans.abc directly instead of reading it from stdin?
10:28 colomon jnthn++
10:28 colomon FROGGS: not with that script, why?
10:28 * colomon just bashed together that script this week, no fancy command-line for it yet.
10:29 FROGGS colomon: my guess is that this confuses it
10:29 colomon FROGGS: just tried another ABC script which doesn't use stdin, still get the same error.
10:29 FROGGS k
10:29 FROGGS thanks
10:30 woolfy joined #perl6
10:30 jnthn I suspect module loader may be going for the wrong compilation unit or something...
10:30 kurahaupo joined #perl6
10:36 woosley joined #perl6
10:43 lustlife1 joined #perl6
10:47 arnsholt joined #perl6
10:47 arnsholt o/
10:47 yoleaux 22 Mar 2014 18:18Z <nwc10> arnsholt: works on "my" machine (jastcompiler, that is), did one run, but numbers look better.
10:47 yoleaux 23 Mar 2014 10:51Z <nwc10> arnsholt: was "cmd: Rounded run time per iteration: 1.5828e+02 +/- 7.2e-01 (0.5%)", jastcompiler "cmd: Rounded run time per iteration: 1.457e+02 +/- 1.5e+00 (1.0%)"
10:47 FROGGS hi arnsholt!
10:50 FROGGS joined #perl6
10:51 nwc10 hi arnsholt
10:51 nwc10 the NOTwork is failing to NOT currently :-)
10:51 SamuraiJack joined #perl6
11:09 tgt joined #perl6
11:09 tgt left #perl6
11:18 cognominal it often does a NUTwork.
11:20 woolfy left #perl6
11:25 jnap joined #perl6
11:28 dalek roast: 5859df5 | (Elizabeth Mattijsen)++ | S32-list/pick.t:
11:28 dalek roast: Add tests for sanity of .pick on Enums
11:28 dalek roast: review: https://github.com/perl6/roast/commit/5859df5890
11:34 denisboyun joined #perl6
11:37 vendethiel are they passing?
12:01 pecastro joined #perl6
12:05 arnsholt nwc10: Thanks for testing the branch!
12:05 colomon ==> Bootstrapping Panda
12:05 colomon ===SORRY!===
12:05 colomon Missing or wrong version of dependency 'lib/File/Find.pm'
12:06 arnsholt nwc10: If I'm reading that right, you got a reduction in compile time of about 13 seconds, right?
12:07 colomon tadzik: ^^^
12:07 tadzik aww
12:07 AW3i joined #perl6
12:08 colomon tadzik: any idea what it might be?  I deleted every Find.* I could find on my machine, and still get that message ....
12:09 FROGGS that feels like as if you are compiling File::Find to a location which is not in @*INC afterwards
12:14 treehug88 joined #perl6
12:19 kbaker joined #perl6
12:25 iolympian left #perl6
12:26 jnap joined #perl6
12:37 FROGGS jnthn: in http://irclog.perlgeek.de/perl6/2014-03-26#i_8496171 , can you push me in the right direction? I have problems to understand "the problem"
12:39 vendethiel joined #perl6
12:41 jnap joined #perl6
12:43 jnthn FROGGS: Not easily...it looks like memory corruption...
12:43 jnthn FROGGS: You can look at where the memory address you have lies
12:43 jnthn That is, is it in fromspace, in which case it wasn't marked properly
12:44 FROGGS jnthn: okay, will check that
12:44 FROGGS also I am converting it now to pure Perl 6
12:47 FROGGS but I do not understand why that happens:
12:47 FROGGS m: my role ip { }; multi foo (List:D \SELF is rw) { SELF but ip unless SELF ~~ ip }; my @array = <a b c>; foo @array
12:47 camelia rakudo-moar 68e094: OUTPUT«Unhandled exception: This type does not support elems␤   at src/gen/m-CORE.setting:8231  (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:REIFY:56)␤ from src/gen/m-CORE.setting:8569  (/home/p6eval/rakudo-inst-1/languages/perl6/ru…»
12:47 FROGGS m: my role ip { }; multi foo (List:D \SELF is rw) { SELF but ip unless SELF ~~ ip }; my @array; foo @array
12:48 camelia rakudo-moar 68e094: ( no output )
12:50 FROGGS (gdb) p items            # $1 = (MVMObject *) 0x7ffff66b4538
12:50 FROGGS (gdb) p tc->nursery_tospace   # $2 = (void *) 0x7ffff63a7010
12:50 FROGGS (gdb) p tc->nursery_fromspace # $3 = (void *) 0x7ffff67a8010
12:50 FROGGS so it is in tospace
12:57 guru joined #perl6
13:03 vendethiel (isn't but mutating?)
13:04 FROGGS yes
13:05 vendethiel oh, that's why it's rw ¬¬. sorry
13:06 xfix joined #perl6
13:06 jnthn No, does mutates
13:06 jnthn Not but
13:06 FROGGS ohh
13:06 FROGGS ahh, of course
13:06 jnthn "$obj but R" is "$obj.clone does R"
13:07 arnsholt jnthn: I think the jastcompiler branch is mergable now
13:07 jnthn arnsholt: ooh, yay
13:07 jnthn arnsholt: It spectests?
13:07 arnsholt I'm gonna do a spectest run now, but the sanity tests run
13:07 FROGGS damn, I even have "does" instead of "but" in my code :o)
13:08 arnsholt I think nwc10++ got numbers indicating setting compile time reduced by about 10 seconds
13:09 brrt joined #perl6
13:14 FROGGS m: my @a = <a b c>; my @r = foo(@a); my role IP { has $.ip = 0 }; sub foo($a) { $a does IP }
13:14 camelia rakudo-moar 68e094: OUTPUT«This type does not support elems␤  in method REIFY at src/gen/m-CORE.setting:8231␤  in method REIFY at src/gen/m-CORE.setting:8569␤  in method reify at src/gen/m-CORE.setting:7443␤  in method reify at src/gen/m-CORE.setting:7426␤  in method gimme…»
13:14 FROGGS m: my @a = <a b c>; my @r = foo(@a); my role IP { }; sub foo($a) { $a does IP }
13:14 camelia rakudo-moar 68e094: ( no output )
13:15 FROGGS I still don't see why I can't apply a role that has an attribute
13:17 jnthn That probably somehow breaks the array...
13:17 jnthn Oh...
13:17 jnthn I think I know what it is.
13:17 FROGGS p: my @a = <a b c>; my @r = foo(@a); my role IP { has $!ip }; sub foo($a) { $a does IP }
13:17 camelia rakudo-parrot 68e094: ( no output )
13:17 FROGGS m: my @a = <a b c>; my @r = foo(@a); my role IP { has $!ip }; sub foo($a) { $a does IP }
13:17 camelia rakudo-moar 68e094: OUTPUT«This type does not support elems␤  in method REIFY at src/gen/m-CORE.setting:8231␤  in method REIFY at src/gen/m-CORE.setting:8569␤  in method reify at src/gen/m-CORE.setting:7443␤  in method reify at src/gen/m-CORE.setting:7426␤  in method gimme…»
13:17 FROGGS hmmm
13:18 vendethiel jnthn++ # I'm confused because I still can't see their meanig
13:18 jnthn FROGGS: When you mix into something, then P6opaque starts using a level of indirection to refer to the object body.
13:19 jnthn FROGGS: I suspect our code isn't handling that case, and expects a non-mixed-into List...
13:19 jnthn FROGGS: That'd nicely explain the segfault too
13:19 FROGGS hmmm, I see
13:19 vendethiel That's moar-specific, though, right ? Which explains why parrot doesnt complain
13:20 FROGGS jnthn: so we are replacing the object by a parent that has two children when mixin in?
13:22 xfix joined #perl6
13:24 SHODAN joined #perl6
13:25 FROGGS r: my role ip { has $.something is rw = 0 }; multi foo (List:D \SELF is rw) { SELF but ip unless SELF ~~ ip }; my @array = <a b c>; foo @array
13:25 camelia rakudo-moar 68e094: OUTPUT«Unhandled exception: This type does not support elems␤   at src/gen/m-CORE.setting:8231  (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:REIFY:56)␤ from src/gen/m-CORE.setting:8569  (/home/p6eval/rakudo-inst-1/languages/perl6/ru…»
13:25 camelia ..rakudo-jvm 68e094: OUTPUT«Unhandled exception: Cannot do aggregate operation on a type object␤  in REIFY (gen/jvm/CORE.setting:8174)␤  in REIFY (gen/jvm/CORE.setting:8512)␤  in  (gen/jvm/CORE.setting:7386)␤  in reify (gen/jvm/CORE.setting:7341)␤  in gimme (gen/jvm/CORE.set…»
13:25 camelia ..rakudo-parrot 68e094: OUTPUT«This type does not support elems␤current instr.: 'REIFY' pc 353615 (src/gen/p-CORE.setting.pir:148385) (gen/parrot/CORE.setting:8195)␤called from Sub 'REIFY' pc 359892 (src/gen/p-CORE.setting.pir:151133) (gen/parrot/CORE.setting:8532)␤called from S…»
13:26 FROGGS vendethiel: there are ways to trigger that on parrot too
13:26 FROGGS though, the jvm message is nice
13:27 vendethiel r: my role ip { has $.something = 0 }; multi foo (List:D \SELF is rw) { SELF but ip unless SELF ~~ ip }; my @array = <a b c>; foo @array
13:27 camelia rakudo-moar 68e094: OUTPUT«Unhandled exception: This type does not support elems␤   at src/gen/m-CORE.setting:8231  (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:REIFY:56)␤ from src/gen/m-CORE.setting:8569  (/home/p6eval/rakudo-inst-1/languages/perl6/ru…»
13:27 camelia ..rakudo-jvm 68e094: OUTPUT«Unhandled exception: Cannot do aggregate operation on a type object␤  in REIFY (gen/jvm/CORE.setting:8174)␤  in REIFY (gen/jvm/CORE.setting:8512)␤  in  (gen/jvm/CORE.setting:7386)␤  in reify (gen/jvm/CORE.setting:7341)␤  in gimme (gen/jvm/CORE.set…»
13:27 camelia ..rakudo-parrot 68e094: OUTPUT«This type does not support elems␤current instr.: 'REIFY' pc 353615 (src/gen/p-CORE.setting.pir:148385) (gen/parrot/CORE.setting:8195)␤called from Sub 'REIFY' pc 359892 (src/gen/p-CORE.setting.pir:151133) (gen/parrot/CORE.setting:8532)␤called from S…»
13:27 vendethiel r: my role ip { has $.something is rw }; multi foo (List:D \SELF is rw) { SELF but ip unless SELF ~~ ip }; my @array = <a b c>; foo @array
13:27 camelia rakudo-moar 68e094: OUTPUT«Unhandled exception: This type does not support elems␤   at src/gen/m-CORE.setting:8231  (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:REIFY:56)␤ from src/gen/m-CORE.setting:8569  (/home/p6eval/rakudo-inst-1/languages/perl6/ru…»
13:27 camelia ..rakudo-jvm 68e094: OUTPUT«Unhandled exception: Cannot do aggregate operation on a type object␤  in REIFY (gen/jvm/CORE.setting:8174)␤  in REIFY (gen/jvm/CORE.setting:8512)␤  in  (gen/jvm/CORE.setting:7386)␤  in reify (gen/jvm/CORE.setting:7341)␤  in gimme (gen/jvm/CORE.set…»
13:27 * vendethiel takes note
13:27 camelia ..rakudo-parrot 68e094: OUTPUT«This type does not support elems␤current instr.: 'REIFY' pc 353615 (src/gen/p-CORE.setting.pir:148385) (gen/parrot/CORE.setting:8195)␤called from Sub 'REIFY' pc 359892 (src/gen/p-CORE.setting.pir:151133) (gen/parrot/CORE.setting:8532)␤called from S…»
13:28 jnthn FROGGS: Well, the object itself ends up pointing to a malloc'd memory blob which is used to store the attributes from then onwards.
13:28 jnthn FROGGS: And the original object body is no longer considered.
13:28 jnthn FROGGS: This only happens if you add an extra attribute.
13:29 jnthn On Parrot we hold every object body at a level of indirection, which is why you don't get this issue, though of course you get the indirection all over the place, which is wasteful as most objects are never mixed in to.
13:29 jnthn (But Parrot's design means it was the only way to do it.)
13:30 jnthn FROGGS: There may be something else going on than the Moar specific thing.
13:33 FROGGS so, we should always look at P6opaque->real_data instead?
13:33 jnthn Not really, as that's not set always
13:34 jnthn There's a real_data utility thingy in P6opaque that can do the right thing.
13:34 xfix joined #perl6
13:34 FROGGS jnthn: that is what I meant, the function
13:35 jnthn FROGGS: Yeah; I suspect we should make that function API.
13:36 jnthn MVM_p6opaque_real_data, add it to the .h, MVM_PUBLIC it.
13:37 FROGGS k
13:50 xfix joined #perl6
13:52 treehug88 joined #perl6
13:53 kivutar joined #perl6
13:55 thou joined #perl6
13:55 arnsholt jnthn: I'm getting some failures in my spectest run on jastcompiler
13:55 arnsholt Do we have any known spectest failures on JVM?
13:55 FROGGS arnsholt: yes, 4 or so
13:56 arnsholt Four files?
13:56 bluescreen10 joined #perl6
13:56 FROGGS single tests
13:56 arnsholt Then I've probably broken something
13:56 FROGGS hold on
13:56 arnsholt I've 23 tests in four files so far, I think
13:57 arnsholt Only on S06 so far, though
13:57 FROGGS arnsholt: https://github.com/coke/perl6-roast-data/blob/master/log/rakudo.jvm_summary.out#L2218
13:58 FROGGS if it is about enums and .pick then is not your fault
13:58 arnsholt Right, thanks
13:58 arnsholt I've got some of those (but not the S02 one), but some others as well
13:58 nwc10 public API? That's `#define private public` isn't it? :-/
13:58 FROGGS but I doubt it because the tests that got touched are in S32
14:00 jnthn nwc10: In Moar it's "anything marked MVM_PUBLIC", which has only really been done in response to Rakudo's ops needing it.
14:00 arnsholt Oh yeah, there are failures here
14:01 arnsholt Like all of S12 so far having no subtests run
14:02 FROGGS jnthn: I made it public but I don't find a place where I could sneak it in :/
14:02 FROGGS arnsholt: then your evalserver crashed
14:03 arnsholt Ah, good to know. Probably due to bugs in my compiler, then =)
14:04 FROGGS arnsholt: no, [Coke]++ has that too on the roast machine
14:04 FROGGS it does not crash on my box though AFAIK
14:04 jnthn arnsholt: Sometimes it's due to running with a high TEST_JOBS that triggers an out of memory conditon at some point.
14:05 arnsholt Running without parallel tests, so probably not OOM
14:07 xfix joined #perl6
14:10 btyler joined #perl6
14:11 FROGGS jnthn: the thing it points to (->replaced) is garbage
14:12 FROGGS jnthn: or not...
14:12 FROGGS not sure
14:12 jnthn FROGGS: I doubt it.
14:12 FROGGS :o)
14:12 jnthn FROGGS: You have to be careful what of it you look at though.
14:13 jnthn You can't treat it as an MVMObject, it's only useful for attribute resolution.
14:13 jnthn So yeah, the header fields may be garbage.
14:13 hoverboard joined #perl6
14:16 FROGGS okay, so I am in MoarVM/src/6model/reprs/P6opaque.c:1271:static MVMuint64 elems(MVMThreadContext *tc, MVMSTable *st, MVMObject *root, void *data) {
14:16 FROGGS and data is 0x10a8930
14:16 FROGGS and after real_data it is: 0x18000900000000
14:17 FROGGS which is not accessible
14:19 virtualsue joined #perl6
14:24 arnsholt Well, this is annoying. The first few test files I try running separately work fine when not under the evalserver
14:25 FROGGS see
14:26 xfix joined #perl6
14:31 skids joined #perl6
14:33 PerlJam HAve we not had a R* release since Jan, or has rakudo.org just not been updated?
14:36 punter joined #perl6
14:37 kaare_ joined #perl6
14:41 jnthn We haven't.
14:41 jnthn Planning to look at that this weekend.
14:41 nwc10 and shipping on Tuesday morning?
14:42 nwc10 seems like a good day to announce Rakudo Star on the JVM :-)
14:42 FROGGS *g*
14:42 nwc10 that might actually get more publicity than doing it on Monday or Sunday
14:43 nwc10 it would be funny to watch the reactions
14:44 pecastro joined #perl6
14:46 punter Are there plans to make something like CPAN for Perl6?
14:46 telex joined #perl6
14:46 FROGGS punter: yes, CPAN
14:47 nwc10 punter: or "no, not like"
14:47 nwc10 the P in CPAN is Perl
14:47 nwc10 not Perl 5
14:47 PerlJam The C stands for Comprehensive :)
14:47 punter FROGGS, what, all modules will be together? no way to discern one from the other?
14:47 nwc10 that's so "last week"
14:47 punter so if I want to port XML::MyXML for Perl6, will I have to rename it?
14:47 FROGGS I patched PAUSE (the upload server) to handle Perl 6 distributions right, and need to patch the indexer to make the right thing for Perl 6
14:47 PerlJam punter: I hope not
14:48 punter :)
14:48 FROGGS punter: no renaming needed, because there are two different indexers by that time
14:48 treehug88 joined #perl6
14:48 FROGGS and the website (search.cpan.org should show P5/P6)
14:48 punter ok
14:48 FROGGS or metacpan or so
14:48 punter kewl
14:48 FROGGS :o)
14:50 PerlJam FROGGS: What's the mechanism for differentiation between P5/P6?
14:51 FROGGS PerlJam: there must be a META6.json in the tarball to be a Perl 6 dist
14:52 PerlJam so ... could there be a dist that is both P5 and P6?  (Say if the author of a P5 dist wanted to port it to P6 while sharing the test suite and some data files)
14:52 FROGGS PerlJam: not in the same tarball
14:53 brrt PerlJam - imho perl6 and perl5 relate to each other the way javascript and scala relate to each other
14:54 brrt which is to say, same core set of ideas, very different endpoints :-)
14:54 PerlJam aye.
14:54 brrt i'm not even sure what 'the same module ported from p5 to p6' would look like at this point :-)
14:55 tadzik there are a couple, I think
14:55 tadzik well, I ported a few, but in some cases it was "oh, I'll just implement the same API", and in others it was "oh gods, I'll just do something completely different"
14:58 guru joined #perl6
14:58 PerlJam brrt: I was just imgining a future were a P5 module author would want to provide a P6 version of his module and what sort of difficulty he would face.
15:00 punter Perl6 is the best thing ever.
15:00 punter (I'm reading the Perl 5 to 6 tutorial)
15:01 tadzik moritz++
15:02 risou_awy joined #perl6
15:02 xenoterracide joined #perl6
15:12 Timbus joined #perl6
15:14 JimmyZ or use V6 { use v5; use CGI; }
15:15 FROGGS JimmyZ: that does not yet fork out sadly :o)
15:15 FROGGS work*
15:16 FROGGS PerlJam: ideally you could run the Dist::Zilla build and `panda bundle` in the same code base
15:17 FROGGS but even then, the languages are too different as that you code have the same test files
15:18 PerlJam Sometimes tests are mostly a tiny Perl driver and a set of data files.
15:26 rurban1 joined #perl6
15:29 raiph joined #perl6
15:32 bluescreen10 joined #perl6
15:35 treehug8_ joined #perl6
15:36 punter When do CPAN & MetaCPAN plan to start indexing Perl6 modules?
15:37 kivutar joined #perl6
15:40 timotimo a few months back i inquired about transforming PDF files to CSV and someone told me about an excellent utility that'll preserve the "layout" of the pdf file in text, so one could analyze fixed margins; it doesn't seem like pdf2txt is the right one, though
15:40 timotimo could someone please tell me the name of the tool i'm looking for?
15:40 timotimo oh, and good morning o/
15:41 jnthn .oO( talk about exploiting UGT... )
15:46 nwc10 good *, *
15:55 timotimo arnsholt: fwiw, i also get "no subtests run" after a bunch of tests when using the evalserver, even without parallel test jobs :(
16:00 punter How can I help Perl 6 become the most popular programming language?
16:01 tadzik use it for your projects, talk about it
16:01 punter ok! Will do
16:02 timotimo punter: tadzik has started a game development contest; deadline is this sunday :P
16:02 tadzik yep :)
16:02 punter where??
16:02 tadzik then I realized that I'll be on vacation this sunday
16:02 punter Happens every year?
16:02 timotimo i ought to get started on that
16:02 tadzik happens every week, actually
16:02 timotimo every week? o_O
16:02 tadzik but this is the first one
16:02 tadzik so, yeah
16:02 tadzik :p
16:02 punter ok... where can I find it?
16:03 timotimo you're going to have a contest each week?
16:03 tadzik I don't know yet
16:03 timotimo http://ttjjss.wordpress.com/2014/03/23/perl-6-on-steroids-through-the-window/
16:03 tadzik I don't see why not
16:03 tadzik if people participate, I definitely will
16:03 punter I didn't know about it. Did you announce it anywhere?
16:04 tadzik somewhat
16:04 punter PerlWeekly, blogs.perl.org?
16:04 tadzik it was on P6weekly, on PerlWeekly, ironman
16:04 tadzik I don't think perlweekly mentioned the word Contest though
16:04 punter Where's p6 weekly? I'd like to subscribe
16:04 punter i find many search results
16:05 timotimo http://p6weekly.wordpress.com/
16:05 timotimo it's where i force myself to churn out a blog post once a week that talks about things that happened in and around Perl 6
16:05 tadzik it looks like Perl 6 people love wordpress!
16:05 tadzik (ha ha ha *sob*)
16:05 timotimo the quality of the posts varies dramatically :P
16:05 timotimo to be fair, wordpress offers a whole lot for the blogger
16:07 punter will you be able to make GUI applications easier with perl6 than it was possible with perl5?
16:07 punter depends on the libraries of course
16:07 timotimo depends very much on the libraries, yeah
16:07 timotimo all of the strengths of Perl 6 over perl5 apply to this situation
16:07 timotimo additionally, a gui toolkit library may use the object system to good effect
16:08 timotimo but that's only guesses so far
16:08 timotimo personally, i'm wishing someone will take a closer look at the tools the PySide people have used to bind Qt to Python and make it usable for Perl 6 in some manner
16:09 timotimo AFK for a bit now
16:13 kbenson1 joined #perl6
16:13 xinming__ joined #perl6
16:14 kbenson1 timotimo: Are you looking for a really good programmatic interface to PDFs, a fast tool to shell out to, or something in-between?
16:14 kbenson1 Because CAM::PDF on CPAN is pretty awesome, and very extensible, being pure Perl.
16:15 dalek rakudo-star-daily: 711645b | coke++ | log/ (5 files):
16:15 dalek rakudo-star-daily: today (automated commit)
16:15 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/711645bf51
16:16 [Coke] modules/perl6-lwp-simple has a bunch of failures.
16:16 [Coke] modules/jsonrpc
16:18 FROGGS that ->replaced in real_data() is always 0x18000900000000...
16:19 FROGGS <punter> When do CPAN & MetaCPAN plan to start indexing Perl6 modules? <--- hopefully in a week or two
16:21 xfix rn: https://gist.github.com/xfix/9811492
16:21 camelia rakudo-parrot 68e094, rakudo-jvm 68e094, rakudo-moar 68e094, niecza v24-109-g48a8de3: OUTPUT«2 6 7 7 19 19 19 39 50 194 395 498␤»
16:21 xfix I like how Perl 6 can make nicely looking code.
16:22 FROGGS xfix: you can make it even nicer by aligning the =  :o)
16:23 * brrt off
16:23 brrt left #perl6
16:23 xfix FROGGS, I guess. It's not that I like aligning, but perhaps...
16:24 FROGGS you don't? O.o
16:24 FROGGS o.O
16:24 xfix (I also find it interesting that I have an use for IRC log page - my server is being attacked, and while I'm connected to IRC, I don't see new lines)
16:24 FROGGS but yeah, that snippet reads very well
16:26 xfix http://i.imgur.com/GCpHXp8.png
16:27 xfix I actually read Haskell tutorial (http://learnyouahaskell.com/recursion), and noticed how nice the Quicksort function is.
16:28 xfix Functional programming is amazing.
16:30 punter_ joined #perl6
16:31 timotimo kbenson1: that's nice of you, but i have absolutely no clue of perl5
16:31 timotimo so a tool to shell out to would be nice
16:35 treehug88 joined #perl6
16:36 cognominal joined #perl6
16:37 japhb_ xfix: FROGGS is right.  Align '=' and align 'after', and for the cost of two slightly wider spaces you allow your brain to lock into the differences between the two lines (the human visual system is much better at noticing variations stacked vertically or horizontally than unaligned).
16:38 xfix https://gist.github.com/xfix/9811492
16:38 xfix Here.
16:38 timotimo pretty!
16:39 timotimo hmm. i've been using weechat's filtered display mode for a while now and i don't really miss all the joins/parts/quits it hides
16:39 timotimo i think i shall create a tool in Perl 6 called PitWifeC
16:39 xfix I imagine that `multiply = (*)` would look like `my &multiply = * * *` in Perl 6.
16:39 timotimo (PDF Is The Worst Interchange Format Ever Created)
16:40 timotimo xfix: could also be my &multiply = &infix:<*>
16:40 xfix Hm, I guess.
16:40 timotimo with the added benefit that it can do any amount of arguments:
16:40 xfix Or even &[*].
16:40 timotimo p6: say &infix:<*>(1, 2, 3, 4, 5, 6)
16:40 camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Cannot call infix:<*>; none of these signatures match:␤    Any, Any␤    â¤  at /tmp/tmpfile line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting …»
16:40 camelia ..rakudo-moar 68e094: OUTPUT«Too many positional parameters passed; got 6 but expected between 0 and 2␤  in sub infix:<*> at src/gen/m-CORE.setting:4082␤  in block  at /tmp/tmpfile:1␤␤»
16:40 camelia ..rakudo-jvm 68e094: OUTPUT«Too many positional parameters passed; got 6 but expected between 0 and 2␤  in sub infix:<*> at gen/jvm/CORE.setting:4082␤  in block  at /tmp/tmpfile:1␤␤»
16:40 camelia ..rakudo-parrot 68e094: OUTPUT«Too many positional parameters passed; got 6 but expected between 0 and 2␤  in sub infix:<*> at gen/parrot/CORE.setting:4086␤  in block  at /tmp/tmpfile:1␤␤»
16:40 timotimo actually. i was wrong
16:40 timotimo but &infix:<*> will also handle 0 or 1 arguments :)
16:41 timotimo p6: say &infix:<*>(); say &infix:<*>(5);
16:41 camelia niecza v24-109-g48a8de3: OUTPUT«1␤Unhandled exception: Cannot call infix:<*>; none of these signatures match:␤    Any, Any␤    â¤  at /tmp/tmpfile line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.sett…»
16:41 camelia ..rakudo-parrot 68e094, rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«1␤5␤»
16:41 timotimo huh.
16:41 timotimo yeah, niecza doesn't like that
16:41 japhb_ p6: my &multiply = &[*]; say multiply(3,4);
16:41 camelia rakudo-parrot 68e094, rakudo-jvm 68e094, rakudo-moar 68e094, niecza v24-109-g48a8de3: OUTPUT«12␤»
16:42 timotimo huh, that's already implemented?!
16:42 timotimo cool beans
16:42 japhb_ So yeah, &[*] is probably the closest in spirit.  Because * * * adds another layer of closure above the builtin operator function
16:42 timotimo japhb_: though i imanige the optimizer (wink wink, nudge nudge) could do something about that :P
16:43 japhb_ .oO( My process is highly optimized.  It has a timotimo thread running in the background. )
16:43 timotimo though i *think* changing 1 + * to &[+].assuming(1) is not actually more efficient (or rather: less indirect) than having the actual 1 + * closure be generated
16:44 timotimo r: my &add-one = &[+].assuming(1); say add-one(5)
16:44 camelia rakudo-parrot 68e094, rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«6␤»
16:44 japhb_ I would think 1 + * would be more efficient.
16:44 timotimo japhb_: if so, why aren't we using the same mechanism to implement .assuming? :)
16:44 timotimo r: my &test = * * *; say &test.signature;
16:44 camelia rakudo-parrot 68e094, rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«:($whatevercode_arg_1 is parcel, $whatevercode_arg_2 is parcel)␤»
16:45 japhb_ Because a method call doesn't get the inlining op that a multi sub does?
16:45 japhb_ s/op/pass/
16:45 jnthn 1 + * is going to be more efficient than &[+].assuming(1) for the forseeable future, I suspect.
16:45 timotimo oh, you're right. the assuming would happen at run time
16:45 timotimo and there's no optimizer at that time (yet :P)
16:45 kbenson1 timotimo: No problem.  Also, re: PDF sucking, I used to hold that view, then a couple months back I had to dig into the spec for work.  It's actually surprisingly sane.  Unfortunately many of the tools that create PDFs are crazy.
16:46 timotimo kbenson1: yes, you are right, it's the tools that do the crazy
16:46 timotimo doesn't change that it is very sucky as a data interchange format :)
16:46 timotimo which i've now experienced on multiple occasions it's being used for
16:46 timotimo which drives the computer person inside me crazy
16:47 japhb_ Yeah, PDF is not a *data* interchange format, it's a *document* interchange format.  And not a semantic one.
16:47 kbenson1 timotimo: It's kinda cool that if you know what you are looking for, you can actually open many PDFs in vim/emacs and find useful info.
16:47 timotimo amen to that.
16:48 timotimo what drives me up the wall in this specific case it that seemingly the data that pdf2text turns this stuff into comes as one line per cell, all cells of a column first, then the next column, but the data seems to have random +1/-1 permutations applied to it for some unfathomable reason
16:49 timotimo actually, that's not quite correct
16:49 timotimo it's just that sometimes data from neighbouring columns end up in the "same column" of output data and then there seems to be no rule to tell if the first or the second comes first
16:49 timotimo or something like that, i don't even really want to know what the hell exactly happened ;_;
16:49 FROGGS jnthn: I don't get it... form_space is 0x7fcb9df2f010, to_space is 0x7fcb9e330010 and real_data gets data as 0x1b9d8e0 and returns data->replaced as 0x18000900000000
16:50 FROGGS jnthn: shouldn't be data and/or data->replaced in either from_ or to_space?
16:50 kbenson1 That's because the data is output in chunks with X/Y coordinates, and sometimes when it's off by a few pixels it causes a radical shift in ascii output placement.
16:50 hoverboard joined #perl6
16:52 jnthn FROGGS: data->replaced may be junk, and what real_data returns is malloc'd...
16:52 jnthn FROGGS: Can you gist me what you're trying?
16:53 kbenson1 timotimo: If you have a sample, I actually wrote some tools to do some pretty extensive PDF parsing, it may be simple to provide a better output for your specific case.
16:53 timotimo i don't think i'm allowed to pass this data on
16:53 cognominal https://twitter.com/bloerwald/status/448415935926255618
16:54 timotimo :D
16:55 japhb_ cognominal: seems legit.
16:55 FROGGS jnthn: https://gist.github.com/FROGGS/034a498fad1d55282f8b
16:55 FROGGS jnthn: I am just trying to find out where ->replaced gets messed up
16:56 FROGGS jnthn: I made the real_data public earlier but reverted it in the meantime
16:57 kbenson1 If each row was a single line you could parse apart the values you wanted using a regex or some such?
16:58 jnthn Question for the masses: on Windows, if you're doing a spin-lock style thing, the YieldProcessor macro is defined so as to ensure that in a hyper-threading situation you don't clog up the execution units with your spinning (note it doesn't do a traditional yield and de-schedule you - it just doesn't get in the way of a hyperthread running on the same core). Does anybody know of an equivalent macro or function call on Linux and/or other systems?
16:58 timotimo i probably could
16:59 jnthn I *think* it boils down to the x86 PAUSE instruction.
16:59 timotimo at some other point i had a pdf that would turn into a nice text file where i could just block-select and "c"hange a bunch of , into the result and have it be a perfect csv version of the original table
16:59 kbenson1 I might be able to provide you something that might help then.  It wouldn't be for a few hours though, if that works
17:00 FROGGS (jnthn: please don't slap me with a print statement)
17:00 FROGGS printf, even
17:00 flussence Linux does do *something* with mwait states on HT chips now you mention it...
17:01 timotimo kbenson1: i'm not sure if it'll help with this particular problem, but i think i'll have this sort of thing come up more often in the future
17:01 xfix- joined #perl6
17:02 kbenson1 k, I'll see what I can do.  You may or may not find it useful, but it can't hurt
17:04 jnthn FROGGS: Oh, it was perl6_ops.c I was expecting you to be patching... :)
17:04 flussence not finding any direct way to say "get off this core for now"... oh well.
17:04 timotimo kbenson1: thank you very much!
17:04 FROGGS jnthn: I do not see any spot that is related
17:05 jnthn MVMObject *items = ((Rakudo_List *)list)->items;
17:05 jnthn Taht needs to be more like
17:06 jnthn MVMObject *items = ((Rakudo_List *)MVM_p6opaque_real_data(list))->items;
17:06 FROGGS ahhh
17:06 jnthn And similar 4 lines below.
17:06 FROGGS now that you say it
17:06 jnthn Plus audit for similar places :)
17:07 jnthn flussence: Well, it's not even "get off" so much as "drain the pipeline" I guess
17:07 kurahaupo joined #perl6
17:09 timotimo oh, will that fix it?
17:10 flussence linux's cpu scheduling (compared to the small bits of win32 I've seen) has a very look-but-don't-touch feel to it, I wouldn't be surprised if there isn't a library call for that at all.
17:10 jnthn It's not so much a scheduling issue either, as I understand it.
17:11 jnthn The problem is that if you do a spinlock kinda thing, then you can have threads A and B scheduled on core 1. If thread A enters a thight loop to spin, then it can devour the function units, and starve thread B.
17:11 jnthn Whereas you'd like thread B to get them.
17:11 flussence ah, I get it
17:14 xinming_ joined #perl6
17:16 flussence (and I know enough about low-level stuff to be aware I don't know nearly enough to answer that well :)
17:24 retupmoca jnthn: based on a quick google search, I think you can just do asm("pause"); in C code
17:25 guru joined #perl6
17:26 jnthn retupmoca: Hm, with some appropriate detection that we're on x86 I guess...
17:28 flussence sem_wait looks promising (it uses kernel syscalls to do the waiting instead of eating CPU in a loop like pthread_spin_lock)
17:29 timotimo that's not a good substitute
17:29 timotimo if you expect to only be waiting a few cycles for a lock, it's much more efficient to spin than to go through the scheduling overhead
17:29 flussence hm, yeah.
17:29 retupmoca jnthn: true. I've never written anything for a non-x86 world
17:30 timotimo retupmoca: get with the times. HTML is the new most widely used architecture!
17:30 flussence glibc's pthread_spin_lock looks pretty heavily optimised already, it might be better to just go with it until someone complains :)
17:31 timotimo sounds like a good idea actually
17:31 timotimo i didn't know it existed :)
17:33 masak g'd'evening, #perl6
17:34 arnsholt joined #perl6
17:40 raiph http://doc.perl6.org/language/operators#infix_%3D
17:40 skids flussence: if you do dive into linux mutexes don't forget to read up on the mutex attributes.  They can do some pretty fun things.
17:40 raiph 1) At 'infix =' says "Places the value of the left-hand side into the container on the right-hand side." Needs reversing?
17:40 raiph 2) At 'item = (list assignment)' why "item"?
17:40 raiph 3) At 'item = (list assignment)' says "semantics are left to the container type". That's true for item assignment too, right?
17:41 zakharyas joined #perl6
17:41 jnthn flussence: Well, my situation isn't quite that I have a spin lock; it's a GC consensus thing.
17:41 Psyche^ joined #perl6
17:44 Rotwang joined #perl6
17:44 Rotwang1 joined #perl6
17:49 denisboyun joined #perl6
18:03 skids jnthn: http://stackoverflow.com/questions/5833527/how-do-you-use-the-pause-assembly-instruction-in-64-bit-c-code explains that YieldProcessor is just asm pause, but I guess you need a multiarch conglomeration macro.
18:05 jnthn skids: Aye :)
18:05 [Sno] joined #perl6
18:06 raiph http://www.altdevblogaday.com/2012/06/05/in-praise-of-idleness/ # jnthn, not what you want but an interesting opinion piece: "Spinning is not entirely morally bankrupt."
18:09 FROGGS joined #perl6
18:10 skids jnthn: google seems to be settling on cpu_relax()
18:11 moritz my firefox just segfaulted when searching for cpu_relax
18:12 moritz maybe not the best of signs :-)
18:13 punter joined #perl6
18:19 bluescreen100 joined #perl6
18:21 skids looks like cpu_relax is an in-kernel thing, and that many libs roll their own for userspace.  Also it may or may not include a barrier depending on how you rolled it.
18:24 xfix joined #perl6
18:27 rurban1 joined #perl6
18:27 segomos is there a good link on how to use the DSL?  i'm looking at it and i get how to build out the examples but i'm not sure how to do stuff like if i wanted to add two sigils together, do i need to maintain stacks and variable storage crap in the DSL or am i way off base?
18:35 FROGGS joined #perl6
18:38 AW3i joined #perl6
18:38 tgt joined #perl6
18:46 mls_ joined #perl6
18:51 mls joined #perl6
18:56 mls_ joined #perl6
19:01 mls joined #perl6
19:02 dalek perl6-roast-data: 5a3b778 | coke++ | / (2 files):
19:02 dalek perl6-roast-data: today (automated commit)
19:02 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/5a3b778968
19:04 moritz segomos: which DSL are you talking about?
19:05 [Coke] rakudo.moar has 49 spec failures; jvm 4.
19:05 [Coke] niecza still languishing at 378, and pugs is zombified at 14723 failures.
19:07 vendethiel RIPugs
19:07 _sri joined #perl6
19:07 mls_ joined #perl6
19:10 moritz I'd love to have all three spectests pass, and tickets open for backend differences
19:13 [Coke] moritz: exactly, yes.
19:13 [Coke] I will have some time these weekend hopefully to do that if no one beats me to it.
19:13 [Coke] Do we have any bots that can do a poll?
19:17 moritz I don't think so
19:19 PZt joined #perl6
19:22 raiph moritz: make sense to fix these? http://irclog.perlgeek.de/perl6/2014-03-27#i_8503680
19:23 moritz raiph: you mean fix the anchors?
19:23 moritz raiph: yes, makes sense
19:23 timotimo the TL;DR-like section at the very bottom of the spinlock post is a haiku. of course it is.
19:23 raiph k
19:23 moritz r: sub f() { die 42 }; f
19:23 camelia rakudo-parrot 68e094, rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«42␤  in sub f at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
19:24 moritz r: sub f() { warn 42 }; f
19:24 camelia rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«42␤»
19:24 camelia ..rakudo-parrot 68e094: OUTPUT«42  in sub f at /tmp/tmpfile:1␤␤»
19:27 vendethiel [Coke]: who was niecza's dev?
19:27 [Coke] sorear. he's busy these days.
19:27 [Coke] er, sorear++
19:27 [Coke] colomon++ also has done a bit of work.
19:28 [Coke] I would fudge them, but I'm not sure it's worth fudging if I'm not going to open tickets.
19:29 dalek roast: 8117230 | moritz++ | integration/error-reporting.t:
19:29 dalek roast: moar-fudge a failing test; (RT #112724)
19:29 dalek roast: review: https://github.com/perl6/roast/commit/8117230442
19:29 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=112724
19:33 dalek doc: f262137 | raiph++ | lib/operators.pod:
19:33 dalek doc: Fix/tweak assignment descriptions (item and list)
19:33 dalek doc:
19:33 dalek doc: http://irclog.perlgeek.de/perl6/2014-03-27#i_8504243
19:33 dalek doc: review: https://github.com/perl6/doc/commit/f262137194
19:41 pecastro joined #perl6
19:51 moritz https://github.com/perl6/roast/blob/master/integration/99problems-21-to-30.t#L252
19:51 moritz that test relies on hash ordering
19:55 colomon sorear++ did all the hard work on niecza.  I just filled in some details.
19:56 dalek roast: 8a1b7e7 | moritz++ | integration/99problems-21-to-30.t:
19:56 dalek roast: fix reliance on hash ordering
19:56 dalek roast: review: https://github.com/perl6/roast/commit/8a1b7e720b
19:56 * moritz sucks at fudging tests
19:57 xfix joined #perl6
19:58 moritz one test fudged, one fixed in 40 minutes
20:01 moritz r: my num $alpha = Nil
20:01 camelia rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«Cannot unbox a type object␤  in block  at /tmp/tmpfile:1␤␤»
20:01 camelia ..rakudo-parrot 68e094: ( no output )
20:01 moritz p: my num $alpha = Nil; say $alpha.perl
20:01 camelia rakudo-parrot 68e094: OUTPUT«0e0␤»
20:03 moritz r: my str $alpha = Nil; say $alpha.perl
20:03 camelia rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«Cannot unbox a type object␤  in block  at /tmp/tmpfile:1␤␤»
20:03 camelia ..rakudo-parrot 68e094: OUTPUT«""␤»
20:06 dalek roast: 7359778 | moritz++ | S02-types/type.t:
20:06 dalek roast: moar-fudge a test; add ticket number
20:06 dalek roast: review: https://github.com/perl6/roast/commit/73597789a1
20:09 treehug8_ joined #perl6
20:09 [Coke] moritz++ roasting.
20:13 moritz brain storming question
20:14 moritz currently we can do   make t/spec/a/b.t  to fudge a test and run it
20:14 moritz currently that only happens on one backend
20:14 moritz (and that backend is chosen at configure time)
20:15 moritz is there a convenient way to chose it at runtime instead?
20:16 wooden joined #perl6
20:16 wooden joined #perl6
20:16 wooden left #perl6
20:18 iolympian joined #perl6
20:19 [Coke] I use "prove -v -e t/fudgeandrun a/b.t"; I imagine you could add a parameter to t/fudgeandrun indicating which platform you wanted (and you'd need to have "perl6-x" around to support x)
20:27 moritz [Coke]: t/fudgeandrun seems to be the right place to start, thanks!
20:27 moritz [Coke]++
20:30 dalek rakudo/nom: 3699aaf | moritz++ | t/fudgeandrun:
20:30 dalek rakudo/nom: teach fudgeandrun about --backend
20:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3699aaf672
20:38 moritz https://twitter.com/PhilipsShiu/status/448760592405241856/photo/1 one of our standard greetings here is actually  y = |x|. I wasn't aware of that :-)
20:40 zby_home_ joined #perl6
20:40 timotimo |x|
20:42 moritz |x| indeed
20:50 masak moritz: the title is "function gymnastics" :)
20:51 xfix joined #perl6
20:52 masak moritz: also, the log_a(x) one doesn't match with my mental image of log_a(x)
20:53 masak doesn't it have an asymptote at x = 0 with y -> -Inf ?
20:56 raiph m: say Junction.^methods # What does S32/Containers mean when it says "All method calls on junctions autothread because the type provides no public methods."?
20:56 camelia rakudo-moar 68e094: OUTPUT«new BUILD postcircumfix:<( )> sink AUTOTHREAD Bool Str ACCEPTS gist perl␤»
20:58 raiph m: say any(1,2).Set # what's the (type of the) invocant of the .Set method?
20:59 camelia rakudo-moar 68e094: OUTPUT«any(set(1), set(2))␤»
20:59 timotimo Copying blib/lib/JSON/Tiny/Actions.pir to /home/timo/perl6/moarvm/../install/languages/perl6/site/lib/JSON/Tiny/Actions.pir
20:59 timotimo wat.
20:59 masak raiph: what's the type? Any, twice.
21:00 raiph masak: yeah, was fooled by something I read
21:02 timotimo oh noes
21:02 timotimo Steroids cannot handle .png files :|
21:02 timotimo because sdl2 can't
21:02 tadzik yeah
21:02 tadzik it needs sdl-image support :/
21:02 tadzik should be easy enough
21:03 tadzik and a valuable contribution too :o)
21:03 raiph S32/Containers says "the values {in a Junction} may be explicitly converted to a set value using .Set  or Set().". Can someone show me an example?
21:03 tadzik timotimo: wow, yor moarvm looks very confused
21:03 tadzik is this rakudobrew?
21:05 BenGoldberg joined #perl6
21:05 [Coke] moritz++ that commit looks fine.
21:07 masak raiph: reading source, I don't really see a way to do that.
21:07 masak raiph: (and I also question its value)
21:07 [Coke] I question the value of Junctions every time I try to use them!
21:07 timotimo tadzik: no, it is not
21:08 PerlJam [Coke]: was that a pun?
21:09 [Coke] no. Let's rip them out of the language.
21:09 [Coke] or rename them to YouReallyWantedASet
21:09 raiph \
21:10 timotimo i like junctions
21:10 timotimo it's okay if i'm the only one
21:13 vendethiel what's wrong with junctions ?
21:14 PerlJam What would Damian's multi sub foo(Int $ where 0|1) { ... } look like without Junctions?
21:15 xfix Junctions are fine.
21:15 xfix They can sometimes make code more readable.
21:15 PerlJam vendethiel: Coke (at least) thinks they don't bring enough benefit for the associated pain.
21:15 FROGGS p6: -> { say 1; return 42 }() # why doesn't this croak anymore?
21:15 camelia niecza v24-109-g48a8de3: OUTPUT«1␤Unhandled exception: Illegal control operator: return␤  at /tmp/tmpfile line 1 (ANON @ 5) ␤  at /tmp/tmpfile line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting l…»
21:15 camelia ..rakudo-parrot 68e094, rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«1␤»
21:16 xfix https://perl6advent.wordpress.com/2009/12/13/day-13-junctions/
21:16 vendethiel PerlJam: what's the "associated pain"? implem-wise ?
21:17 PerlJam the pain is not for the implementor as much as it is for the user.
21:17 xfix I would assume that implementation of junctions is complex from implementation side...
21:17 xfix But what is the issue for the user?
21:18 timotimo why would SDL_Image say "unsupported image format"? :(
21:19 vendethiel timotimo: welcome in my realm ! SDL_Image is bad.
21:19 timotimo it is?
21:19 xfix For example, you can write `$month == 2|5|8` to check if month is either of those values.
21:19 vendethiel I've had a SDL game assignment to do, damn I've fought that
21:19 xfix This is really readable.
21:20 timotimo :o
21:20 vendethiel SDL2_Image would just tell me this exact unsupported image format for some reason, even though the file extension was correct
21:20 xfix In COBOL, you can also use junctions.
21:20 vendethiel and the bytes to tell what's contained were correct too. We never found out what was wrong ...
21:20 xfix IF MONTH = 2 OR 5 OR 8
21:20 [Coke] my problem with junctions is that whenever i try to use one, I almost always wanted the features of a set, and you can't use junctions like a set.
21:21 vendethiel (We've had the same problem with SDL2_mixer, we reduced the music from 2:33 to 2:00 and it actually worked. I don't know why)
21:21 xfix Then again, if you think that COBOL is the worst programming language ever, then you are free to remove it from Perl 6.
21:21 vendethiel timotimo, you're just using IMG_Load, right ?
21:21 PerlJam In my (admittedly limited) experience, that seems to be the common failure mode for Junctions.
21:22 timotimo yes
21:22 timotimo and i've IMG_Init'd with IMG_LOAD_PNG
21:22 timotimo IMG_INIT_PNG
21:23 vendethiel IMG_Init(IMG_INIT_PNG); ?
21:23 vendethiel you're sure the image "underneath" (not judging by the extension) is a png, right ? just checking
21:24 timotimo yes, file said so.
21:24 kbaker joined #perl6
21:25 vendethiel Then I'm afraid you're on your own :(. You can still try "IMG_Init(IMG_INIT_JPG | IMG_INIT_PNG);" or something, but that shouldn't change anything else
21:26 vendethiel I'm SDL_Init()ing before I IMG_Init, if that makes any difference at all ...
21:27 timotimo weird
21:27 timotimo it seems like i'm not initing at all before i'm trying to load the images
21:28 timotimo which is weird
21:28 timotimo because i run MyGame.new.start
21:28 timotimo ooooh
21:28 timotimo i get it
21:29 timotimo it's the "lib.so" thing
21:31 timotimo m: say $*VM<config><dll>
21:31 camelia rakudo-moar 68e094: OUTPUT«lib%s.so␤»
21:31 timotimo that's what.
21:31 jnthn I think that got patched recently in NativeCall
21:31 timotimo it cuts the %s out and replaces it with ""
21:32 timotimo now my debug output exists
21:32 timotimo but that doesn't help me terribly much :|
21:33 xenoterracide joined #perl6
21:34 retupmoca timotimo: latest NativeCall turns that lib%s.so into just .so
21:34 timotimo okay
21:35 timotimo the return value of IMG_Init is 3, which is PNG | JPG
21:35 timotimo so that much should work
21:38 hoverboard joined #perl6
21:46 aindilis joined #perl6
21:53 raiph joined #perl6
22:05 rurban1 joined #perl6
22:07 rurban2 joined #perl6
22:24 dontpanic4242 joined #perl6
22:27 dontpanic4242 left #perl6
22:45 skids joined #perl6
22:46 masak [Coke]: I sometimes wonder if junctions shouldn't have been "syntactic".
22:46 masak [Coke]: alternatively, when I have infinite time and create my own language, I'm going to make junctions a syntactic construct and see how that plays out.
22:47 skids Every use I have found for them so far, threading is not necessarily desired, so I have to worry about overaggressive interpretation.
22:54 xybre Is it just my imagination of are Junctions a lot like Enumerable Types, but also ahve significant overlap with Sets and "alternatives" among other Perl6 constructs?
22:58 masak xybre: I think it's just you. :)
22:59 xybre Really? They seem like very compatible ideas, but I will withhold judgement. :)
22:59 masak xybre: the big selling points of Junctions is that they are "bigger on the inside", like the TARDIS. they are stored in a scalar, but they contain a list of things, plus some extra information about how to combine information about that list of things (any/all/one semantics).
23:00 xybre Ah, well I wasn't meaning their implementation, I mean their usage.
23:01 masak yes, so did I.
23:02 sorear joined #perl6
23:02 masak sorear! \o/
23:02 masak xybre: they are *not* sets, nor Enumerable types. believing so is common misconception.
23:03 masak xybre: they have alternatives only insofar as other data structures could be made to emulate them, albeit with boilerplate code sticking out.
23:05 xybre I know they aren't sets or enumerable types, but they're similar enough that I feel like it might be useful to treat one as the other.
23:05 xybre And I agree, they are powerful and unique.
23:05 xybre But their functionaltiy could be applied to these other types as well, making them likewise more powerful.
23:07 masak yes.
23:07 masak I've had the same thought.
23:08 masak jQuery selections, for example, make it completely irrelevant whether you're calling a method on one element or on several. it Just Works regardless.
23:08 masak but that feels to me like an attractive DWIM with an unknown WAT lurking in the shadows.
23:10 xybre Yeah I've often gone back and forth about whether I feel methods should be applied to an entire sequence or just to the sequence object itself. I mean, using an iterator or generator or map block works, but feels so.. untidy.
23:12 timotimo ».&methodname :)
23:12 timotimo problem solved :
23:12 timotimo :P
23:12 masak well, yes and no.
23:12 masak that's still explicit...
23:12 masak maybe this could be connected to a slang somehow. like, you can go into a mode/block in the language where it's very easy/convenient to intentually confuse container and elements.
23:12 timotimo yeah, but it's not hard to decide :)
23:12 rurban1 joined #perl6
23:12 masak timotimo: my point is that jQuery would still have a slight edge over ».methodname
23:13 masak (because in jQuery, you can omit the »)
23:14 xybre masak: Yeah, one of the ideas I've played with is like a "graph inversion" of a sequence, so you could do like (sequence.junct + 5) and the changes would be applied to the original sequence or something. I haven't thought this trhrough.
23:14 rurban2 joined #perl6
23:15 timotimo huh.
23:17 masak xybre: yeah, that's kind of the same idea as far as I can see. only with an op instead of a method call.
23:18 masak it would be kind of cool to have a Perl 6 slang where `my @values = 1..5; say @values ** 2;` would print "1 4 9 16 25"
23:19 timotimo @values.each ** 2?
23:19 timotimo isn't that in the spec exactly like that?
23:21 kbenson1 timotimo: http://pastebin.com/NfEppf4W
23:21 timotimo http://perlcabal.org/syn/S09.html#Each "conjectural"
23:22 kbenson1 It's fairly crazy code, since it 1) was already to begin with having grown out of a urgent business necessity, and 2) been chopped up to put it into an easy to use package for you
23:22 timotimo :D
23:22 timotimo thanks, i'll have a closer look
23:22 kbenson1 it requires perl 5.14 or greater, and File::Slurp, Try::Tiny and CAM::PDF, so grab those from CPAN or something
23:23 jnthn m: only sub infix:<**>(\a, \b) { hyper(&CORE::infix:<**>, a, b, :dwim-left, :dwim-right) }; my @a = 1..5; say @a ** 2; # oh, masak... :)
23:23 camelia rakudo-moar 3699aa: OUTPUT«1 4 9 16 25␤»
23:23 kbenson1 It also does quite a bit of fudging with font sizes, so you can tweak lines 30 and 31 for best output
23:23 timotimo o_O
23:23 jnthn masak: Now just write a module that iterates over all the operaters in the setting and shoves a version of 'em like that into EXPORT and you're good :P
23:24 timotimo m)
23:26 masak jnthn: :)
23:27 woolfy joined #perl6
23:27 masak timotimo: re .each -- I dunno, I don't think it was ever clearly specified that .each should fill the shoes of a list comprehension. the main role of it was for its side effects, unlike the other kind of junctions.
23:28 masak ...but since this is Perl, it would likely do both... :)
23:28 timotimo oh
23:28 timotimo "The prototypical use case is where a hyperoperator would parallelize in an unfortunate way"
23:28 masak yeah.
23:28 timotimo if it returns a listy thing, it could work that way
23:29 masak also, keep in mind that it is still speculative.
23:30 timotimo right
23:30 timotimo we can turn it into that exact thing we just wanted to have :P
23:30 timotimo and have "automagic" back-conversion to lists :P
23:32 [Coke] my "per6" isn't executable on os x after a moar build.
23:35 xybre chmod +X?
23:36 REPLeffect joined #perl6
23:44 kbenson1 left #perl6
23:54 REPLeffect joined #perl6
23:57 timotimo it lacks the l
23:59 raiph .
23:59 raiph m: say 1
23:59 camelia rakudo-moar 3699aa: OUTPUT«1␤»

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

Perl 6 | Reference Documentation | Rakudo