»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:06 jnap1 left 00:25 dayangkun_afk left, dayangkun joined 00:26 dayangkun left 00:27 nebuchadnezzar left 00:34 denisboyun left 00:35 stevan_ joined 00:41 jnap joined 00:45 jnap left 00:59 sorear left 01:20 ilogger2 joined, ChanServ sets mode: +v ilogger2 01:26 jnap joined 01:49 stevan_ joined, ssutch_ joined, [Sno] joined, broquaint joined, pecastro joined 01:57 xinming_ joined 02:02 raiph joined 02:08 cibs joined 02:11 pdcawley joined 02:12 SamuraiJack joined 02:15 lustlife joined
raiph lizmat, FROGGS: irclog.perlgeek.de/perl6/2011-10-31#i_4639528 # and what about transitive dependencies? 02:17
02:18 SamuraiJack left 02:23 ggoebel11118 joined 02:24 ggoebel11117 left 02:25 xragnar_ joined, xragnar_ is now known as xragnar 02:26 mtj_ joined 02:52 klapperl_ joined 02:57 SamuraiJack joined 03:00 SamuraiJack left, SamuraiJack joined 03:03 PZt joined, treehug88 joined 03:04 treehug88 left, treehug88 joined 03:07 hoverboard joined 03:34 Timbus joined 03:39 xenoterracide joined 03:43 woosley joined 03:48 SamuraiJack left 03:49 jnap left 03:57 ssutch_ left 04:20 jnap joined 04:24 jnap left 04:32 terrencehan joined 05:00 kaare_ joined 05:13 xenoterracide left 05:23 [Sno] left 05:25 treehug88 left 05:39 terrencehan left 05:57 kaare_ left 06:07 dmol joined 06:10 kaleem joined 06:16 hoverboard left 06:23 kaare_ joined
moritz \o 06:29
06:33 woosley left 06:34 woosley joined 06:42 dayangkun joined 06:44 [Sno] joined 06:47 zby_home_ joined 06:48 raiph left 07:15 fhelmberger joined 07:17 nebuchadnezzar joined 07:22 jnap joined 07:25 denisboyun joined 07:26 jnap left 07:54 darutoko joined 07:55 Rotwang joined 08:08 FROGGS joined 08:14 brrt joined, brrt left, FROGGS left 08:15 zby_home_ left 08:21 dayangkun left 08:23 jnap joined 08:27 jnap left 08:28 labster joined 08:31 virtualsue joined 08:36 FROGGS joined
FROGGS lizmat is in da house \o/ 08:38
08:38 pecastro left
nwc10 is timotimo? :-) 08:38
FROGGS I don't think he is going to come :o( 08:39
FROGGS reads the links posted by raiph++
08:46 lizmat joined
dalek ecs: d120e1f | (Elizabeth Mattijsen)++ | S99-glossary.pod:
Add lemma for RT
08:49
08:51 stevan_ left
lizmat indeed, in da house :-) 08:52
08:52 stevan_ joined
vendethiel lizmat++ 09:07
FROGGS raiph++ # the pros/cons are very helpful 09:13
09:19 Rotwang left 09:23 jnap joined 09:28 jnap left 09:29 dakkar joined
jnthn morning o/ 09:40
FROGGS morning jnthn 09:41
JimmyZ morning, jnthn 09:43
09:49 lizmat left 09:50 lizmat joined
FROGGS how can I check if something is constant? 09:51
shall I check if it can STORE?
colomon try to change it and see if you get an exception? ;)
FROGGS nah :o)
m: say 1.?STORE 09:52
camelia rakudo-moar 15ece8: OUTPUT«Nil␤»
FROGGS m: my $a; say $a.?STORE
camelia rakudo-moar 15ece8: OUTPUT«Nil␤»
FROGGS m: my $a; say $a.STORE()
camelia rakudo-moar 15ece8: OUTPUT«No such method 'STORE' for invocant of type 'Any'␤ in block at /tmp/jyzroYF5KI:1␤␤»
FROGGS m: my $a; say $a.P6STORE()
camelia rakudo-moar 15ece8: OUTPUT«No such method 'P6STORE' for invocant of type 'Any'␤ in block at /tmp/4A7f2ViJ6M:1␤␤»
FROGGS umm
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␤␤»
jnthn $a.VAR.isa(Scalar) # one way
09:53 FOSScookie joined
FROGGS k 09:53
jnthn FROGGS: Assignment to scalars is not *really* done by a method call, but through a "container spec" mechanism.
FROGGS: It's simply too hot-path to call a method on every single assignment... :) 09:54
FROGGS yeah :o)
thanks
jnthn For arrays and hashes we do but then you tend to be assigning a bunch of things.
10:02 FOSScookie left 10:04 iolympian joined 10:11 rindolf joined 10:14 denisboyun left, pecastro joined
dalek kudo/nom: 68e0948 | (Elizabeth Mattijsen)++ | src/core/Enumeration.pm:
Make .pick/.roll on Enums behave sanely

Same.pick could return Less or More. Now only Order.pick will return either Less, Same or More. Same for .roll. As discussed from
  irclog.perlgeek.de/perl6/2014-03-26#i_8496012
10:20
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
>>> LOADING bin/abctranspose
>>> LOADING /home/colomon/tools/ABC/lib/ABC/Header.pm
>>> LOADING /home/colomon/tools/ABC/lib/ABC/Tune.pm
>>> LOADING /home/colomon/tools/ABC/lib/ABC/Pitched.pm
Unknown compilation input 'optimize'
jnthn colomon: o.O 10:23
colomon: I never saw that happen before.
colomon feels special
jnthn Can you run the debugger with --ll-exception and gist me the output? 10:24
10:24 jnap joined
colomon jnthn: gist.github.com/colomon/9804521 10:25
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.
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
*hours yet anyway :)
FROGGS colomon: is there a way to read the stuff from Ryans.abc directly instead of reading it from stdin? 10:28
colomon jnthn++
FROGGS: not with that script, why?
10:28 jnap left
colomon just bashed together that script this week, no fancy command-line for it yet. 10:28
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.
FROGGS k
thanks
10:30 woolfy joined
jnthn I suspect module loader may be going for the wrong compilation unit or something... 10:30
10:30 kurahaupo joined 10:35 woosley left 10:36 woosley joined 10:43 lustlife1 joined 10:45 lustlife left 10:47 arnsholt joined
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.
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%)"
FROGGS hi arnsholt!
10:48 FROGGS left 10:50 FROGGS joined
nwc10 hi arnsholt 10:51
the NOTwork is failing to NOT currently :-)
10:51 SamuraiJack joined 10:53 woosley left 11:09 tgt joined, tgt left
cognominal it often does a NUTwork. 11:18
11:20 woolfy left 11:25 jnap joined
dalek ast: 5859df5 | (Elizabeth Mattijsen)++ | S32-list/pick.t:
Add tests for sanity of .pick on Enums
11:28
11:29 jnap left, lizmat left 11:34 denisboyun joined
vendethiel are they passing? 11:37
12:01 pecastro left, pecastro joined
arnsholt nwc10: Thanks for testing the branch! 12:05
colomon ==> Bootstrapping Panda
===SORRY!===
Missing or wrong version of dependency 'lib/File/Find.pm'
arnsholt nwc10: If I'm reading that right, you got a reduction in compile time of about 13 seconds, right? 12:06
colomon tadzik: ^^^ 12:07
tadzik aww
12:07 AW3i joined
colomon tadzik: any idea what it might be? I deleted every Find.* I could find on my machine, and still get that message .... 12:08
FROGGS that feels like as if you are compiling File::Find to a location which is not in @*INC afterwards 12:09
12:14 treehug88 joined 12:19 kbaker joined 12:25 iolympian left 12:26 jnap joined 12:30 jnap left 12:32 virtualsue left
FROGGS jnthn: in 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:38
12:39 vendethiel joined 12:40 treehug88 left 12:41 jnap joined
jnthn FROGGS: Not easily...it looks like memory corruption... 12:43
FROGGS: You can look at where the memory address you have lies
That is, is it in fromspace, in which case it wasn't marked properly
FROGGS jnthn: okay, will check that 12:44
also I am converting it now to pure Perl 6
but I do not understand why that happens: 12:47
m: my role ip { }; multi foo (List:D \SELF is rw) { SELF but ip unless SELF ~~ ip }; my @array = <a b c>; foo @array
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…»
FROGGS m: my role ip { }; multi foo (List:D \SELF is rw) { SELF but ip unless SELF ~~ ip }; my @array; foo @array
camelia ( no output ) 12:48
FROGGS (gdb) p items # $1 = (MVMObject *) 0x7ffff66b4538 12:50
(gdb) p tc->nursery_tospace # $2 = (void *) 0x7ffff63a7010
(gdb) p tc->nursery_fromspace # $3 = (void *) 0x7ffff67a8010
so it is in tospace
12:57 guru joined, guru is now known as Guest9689 12:58 Guest9689 is now known as ajr_
vendethiel (isn't but mutating?) 13:03
FROGGS yes 13:04
vendethiel oh, that's why it's rw ¬¬. sorry 13:05
13:06 xfix joined
jnthn No, does mutates 13:06
Not but
FROGGS ohh
ahh, of course
jnthn "$obj but R" is "$obj.clone does R"
arnsholt jnthn: I think the jastcompiler branch is mergable now 13:07
jnthn arnsholt: ooh, yay
arnsholt: It spectests?
arnsholt I'm gonna do a spectest run now, but the sanity tests run
FROGGS damn, I even have "does" instead of "but" in my code :o)
13:07 SamuraiJack left
arnsholt I think nwc10++ got numbers indicating setting compile time reduced by about 10 seconds 13:08
13:09 brrt joined 13:11 kaare_ left
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…»
FROGGS m: my @a = <a b c>; my @r = foo(@a); my role IP { }; sub foo($a) { $a does IP }
camelia ( no output )
FROGGS I still don't see why I can't apply a role that has an attribute 13:15
jnthn That probably somehow breaks the array... 13:17
Oh...
I think I know what it is.
FROGGS p: my @a = <a b c>; my @r = foo(@a); my role IP { has $!ip }; sub foo($a) { $a does IP }
camelia ( no output )
FROGGS m: my @a = <a b c>; my @r = foo(@a); my role IP { has $!ip }; sub foo($a) { $a does IP }
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…»
FROGGS hmmm
13:18 xfix left
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.
FROGGS: I suspect our code isn't handling that case, and expects a non-mixed-into List... 13:19
FROGGS: That'd nicely explain the segfault too
FROGGS hmmm, I see
vendethiel That's moar-specific, though, right ? Which explains why parrot doesnt complain
FROGGS jnthn: so we are replacing the object by a parent that has two children when mixin in? 13:20
13:22 xfix joined 13:24 SHODAN joined
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…»
..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…»
..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…»
FROGGS vendethiel: there are ways to trigger that on parrot too 13:26
though, the jvm message is nice
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…»
..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…»
..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…»
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
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…»
..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…»
vendethiel takes note
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…»
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
FROGGS: And the original object body is no longer considered.
FROGGS: This only happens if you add an extra attribute.
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
(But Parrot's design means it was the only way to do it.)
13:30 xfix left
jnthn FROGGS: There may be something else going on than the Moar specific thing. 13:30
FROGGS so, we should always look at P6opaque->real_data instead? 13:33
jnthn Not really, as that's not set always
There's a real_data utility thingy in P6opaque that can do the right thing. 13:34
13:34 xfix joined
FROGGS jnthn: that is what I meant, the function 13:34
jnthn FROGGS: Yeah; I suspect we should make that function API. 13:35
MVM_p6opaque_real_data, add it to the .h, MVM_PUBLIC it. 13:36
FROGGS k 13:37
13:43 xfix left 13:50 xfix joined 13:52 treehug88 joined 13:53 kivutar joined 13:55 thou joined
arnsholt jnthn: I'm getting some failures in my spectest run on jastcompiler 13:55
Do we have any known spectest failures on JVM?
FROGGS arnsholt: yes, 4 or so
arnsholt Four files? 13:56
13:56 bluescreen10 joined
FROGGS single tests 13:56
arnsholt Then I've probably broken something
FROGGS hold on
arnsholt I've 23 tests in four files so far, I think
Only on S06 so far, though 13:57
FROGGS arnsholt: github.com/coke/perl6-roast-data/b....out#L2218
if it is about enums and .pick then is not your fault 13:58
arnsholt Right, thanks
I've got some of those (but not the S02 one), but some others as well
nwc10 public API? That's `#define private public` isn't it? :-/
FROGGS but I doubt it because the tests that got touched are in S32
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
Like all of S12 so far having no subtests run 14:01
FROGGS jnthn: I made it public but I don't find a place where I could sneak it in :/ 14:02
arnsholt: then your evalserver crashed
arnsholt Ah, good to know. Probably due to bugs in my compiler, then =) 14:03
14:03 AW3i left
FROGGS arnsholt: no, [Coke]++ has that too on the roast machine 14:04
it does not crash on my box though AFAIK
jnthn arnsholt: Sometimes it's due to running with a high TEST_JOBS that triggers an out of memory conditon at some point.
arnsholt Running without parallel tests, so probably not OOM 14:05
14:06 xfix left 14:07 xfix joined 14:10 btyler joined
FROGGS jnthn: the thing it points to (->replaced) is garbage 14:11
jnthn: or not... 14:12
not sure
jnthn FROGGS: I doubt it.
FROGGS :o)
jnthn FROGGS: You have to be careful what of it you look at though.
You can't treat it as an MVMObject, it's only useful for attribute resolution. 14:13
So yeah, the header fields may be garbage.
14:13 hoverboard joined, treehug88 left
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
and data is 0x10a8930
and after real_data it is: 0x18000900000000
which is not accessible 14:17
14:19 virtualsue joined 14:24 xfix left, kivutar left
arnsholt Well, this is annoying. The first few test files I try running separately work fine when not under the evalserver 14:24
FROGGS see 14:25
14:26 xfix joined 14:31 pecastro left, skids joined
PerlJam HAve we not had a R* release since Jan, or has rakudo.org just not been updated? 14:33
14:36 punter joined 14:37 kaare_ joined
jnthn We haven't. 14:41
Planning to look at that this weekend.
nwc10 and shipping on Tuesday morning?
seems like a good day to announce Rakudo Star on the JVM :-) 14:42
FROGGS *g*
nwc10 that might actually get more publicity than doing it on Monday or Sunday
it would be funny to watch the reactions 14:43
14:44 pecastro joined
punter Are there plans to make something like CPAN for Perl6? 14:46
14:46 telex joined
FROGGS punter: yes, CPAN 14:46
nwc10 punter: or "no, not like" 14:47
the P in CPAN is Perl
not Perl 5
PerlJam The C stands for Comprehensive :)
punter FROGGS, what, all modules will be together? no way to discern one from the other?
nwc10 that's so "last week"
punter so if I want to port XML::MyXML for Perl6, will I have to rename it?
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
PerlJam punter: I hope not
punter :) 14:48
FROGGS punter: no renaming needed, because there are two different indexers by that time
14:48 treehug88 joined
FROGGS and the website (search.cpan.org should show P5/P6) 14:48
punter ok
FROGGS or metacpan or so
punter kewl
FROGGS :o)
PerlJam FROGGS: What's the mechanism for differentiation between P5/P6? 14:50
FROGGS PerlJam: there must be a META6.json in the tarball to be a Perl 6 dist 14:51
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
brrt PerlJam - imho perl6 and perl5 relate to each other the way javascript and scala relate to each other 14:53
which is to say, same core set of ideas, very different endpoints :-) 14:54
PerlJam aye.
brrt i'm not even sure what 'the same module ported from p5 to p6' would look like at this point :-)
tadzik there are a couple, I think 14:55
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, ajr_ left
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. 14:58
14:59 guru is now known as Guest36929, Guest36929 is now known as ajr_
punter Perl6 is the best thing ever. 15:00
(I'm reading the Perl 5 to 6 tutorial)
tadzik moritz++ 15:01
15:02 risou_awy joined, risou_awy is now known as risou, xenoterracide joined 15:08 Timbus left 15:11 [Sno] left 15:12 Timbus joined
JimmyZ or use V6 { use v5; use CGI; } 15:14
FROGGS JimmyZ: that does not yet fork out sadly :o) 15:15
work*
PerlJam: ideally you could run the Dist::Zilla build and `panda bundle` in the same code base 15:16
but even then, the languages are too different as that you code have the same test files 15:17
PerlJam Sometimes tests are mostly a tiny Perl driver and a set of data files. 15:18
15:23 bluescreen10 left, kurahaupo left 15:26 rurban1 joined 15:29 raiph joined 15:32 bluescreen10 joined 15:35 treehug8_ joined
punter When do CPAN & MetaCPAN plan to start indexing Perl6 modules? 15:36
15:37 kivutar joined, treehug88 left 15:38 rurban1 left 15:39 kaleem left
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
could someone please tell me the name of the tool i'm looking for?
oh, and good morning o/
jnthn
.oO( talk about exploiting UGT... )
15:41
nwc10 good *, * 15:46
timotimo arnsholt: fwiw, i also get "no subtests run" after a bunch of tests when using the evalserver, even without parallel test jobs :( 15:55
punter How can I help Perl 6 become the most popular programming language? 16:01
tadzik use it for your projects, talk about it
punter ok! Will do
timotimo punter: tadzik has started a game development contest; deadline is this sunday :P 16:02
tadzik yep :)
punter where??
tadzik then I realized that I'll be on vacation this sunday
punter Happens every year?
timotimo i ought to get started on that
tadzik happens every week, actually
timotimo every week? o_O
tadzik but this is the first one
so, yeah
:p
punter ok... where can I find it?
timotimo you're going to have a contest each week? 16:03
tadzik I don't know yet
timotimo ttjjss.wordpress.com/2014/03/23/per...he-window/
tadzik I don't see why not
if people participate, I definitely will
punter I didn't know about it. Did you announce it anywhere?
tadzik somewhat 16:04
punter PerlWeekly, blogs.perl.org?
tadzik it was on P6weekly, on PerlWeekly, ironman
I don't think perlweekly mentioned the word Contest though
punter Where's p6 weekly? I'd like to subscribe
i find many search results
timotimo p6weekly.wordpress.com/ 16:05
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
tadzik it looks like Perl 6 people love wordpress!
(ha ha ha *sob*)
timotimo the quality of the posts varies dramatically :P
to be fair, wordpress offers a whole lot for the blogger
punter will you be able to make GUI applications easier with perl6 than it was possible with perl5? 16:07
depends on the libraries of course
timotimo depends very much on the libraries, yeah
all of the strengths of Perl 6 over perl5 apply to this situation
additionally, a gui toolkit library may use the object system to good effect
but that's only guesses so far 16:08
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
AFK for a bit now 16:09
16:10 denisboyun left 16:13 kbenson1 joined, xinming__ joined
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
Because CAM::PDF on CPAN is pretty awesome, and very extensible, being pure Perl.
dalek kudo-star-daily: 711645b | coke++ | log/ (5 files):
today (automated commit)
16:15
16:16 xinming_ left
[Coke] modules/perl6-lwp-simple has a bunch of failures. 16:16
modules/jsonrpc
FROGGS that ->replaced in real_data() is always 0x18000900000000... 16:18
<punter> When do CPAN & MetaCPAN plan to start indexing Perl6 modules? <--- hopefully in a week or two 16:19
xfix rn: 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␤»
xfix I like how Perl 6 can make nicely looking code.
FROGGS xfix: you can make it even nicer by aligning the = :o) 16:22
brrt off 16:23
16:23 brrt left
xfix FROGGS, I guess. It's not that I like aligning, but perhaps... 16:23
FROGGS you don't? O.o 16:24
o.O
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)
FROGGS but yeah, that snippet reads very well
16:25 ajr_ left
xfix i.imgur.com/GCpHXp8.png 16:26
I actually read Haskell tutorial (learnyouahaskell.com/recursion), and noticed how nice the Quicksort function is. 16:27
Functional programming is amazing. 16:28
16:30 punter_ joined, fhelmberger left, hoverboard left 16:31 punter left
timotimo kbenson1: that's nice of you, but i have absolutely no clue of perl5 16:31
so a tool to shell out to would be nice
16:34 treehug8_ left 16:35 treehug88 joined 16:36 cognominal joined
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:37
16:37 punter_ left
xfix gist.github.com/xfix/9811492 16:38
Here.
timotimo pretty!
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
i think i shall create a tool in Perl 6 called PitWifeC
xfix I imagine that `multiply = (*)` would look like `my &multiply = * * *` in Perl 6.
timotimo (PDF Is The Worst Interchange Format Ever Created) 16:40
xfix: could also be my &multiply = &infix:<*>
xfix Hm, I guess.
timotimo with the added benefit that it can do any amount of arguments:
xfix Or even &[*].
timotimo p6: say &infix:<*>(1, 2, 3, 4, 5, 6)
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 …»
..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␤␤»
..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␤␤»
..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␤␤»
timotimo actually. i was wrong
but &infix:<*> will also handle 0 or 1 arguments :)
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…»
..rakudo-parrot 68e094, rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«1␤5␤»
timotimo huh.
yeah, niecza doesn't like that
japhb_ p6: my &multiply = &[*]; say multiply(3,4);
camelia rakudo-parrot 68e094, rakudo-jvm 68e094, rakudo-moar 68e094, niecza v24-109-g48a8de3: OUTPUT«12␤»
timotimo huh, that's already implemented?! 16:42
cool beans
japhb_ So yeah, &[*] is probably the closest in spirit. Because * * * adds another layer of closure above the builtin operator function
timotimo japhb_: though i imanige the optimizer (wink wink, nudge nudge) could do something about that :P
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
r: my &add-one = &[+].assuming(1); say add-one(5) 16:44
camelia rakudo-parrot 68e094, rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«6␤»
japhb_ I would think 1 + * would be more efficient.
timotimo japhb_: if so, why aren't we using the same mechanism to implement .assuming? :)
r: my &test = * * *; say &test.signature;
camelia rakudo-parrot 68e094, rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«:($whatevercode_arg_1 is parcel, $whatevercode_arg_2 is parcel)␤»
japhb_ Because a method call doesn't get the inlining op that a multi sub does? 16:45
s/op/pass/
jnthn 1 + * is going to be more efficient than &[+].assuming(1) for the forseeable future, I suspect.
timotimo oh, you're right. the assuming would happen at run time
and there's no optimizer at that time (yet :P)
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.
timotimo kbenson1: yes, you are right, it's the tools that do the crazy 16:46
doesn't change that it is very sucky as a data interchange format :)
which i've now experienced on multiple occasions it's being used for
which drives the computer person inside me crazy
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.
timotimo amen to that.
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:48
actually, that's not quite correct 16:49
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
or something like that, i don't even really want to know what the hell exactly happened ;_;
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
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
jnthn FROGGS: data->replaced may be junk, and what real_data returns is malloc'd... 16:52
FROGGS: Can you gist me what you're trying?
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
cognominal twitter.com/bloerwald/status/448415935926255618
timotimo :D 16:54
japhb_ cognominal: seems legit. 16:55
FROGGS jnthn: gist.github.com/FROGGS/034a498fad1d55282f8b
jnthn: I am just trying to find out where ->replaced gets messed up
jnthn: I made the real_data public earlier but reverted it in the meantime 16:56
kbenson1 If each row was a single line you could parse apart the values you wanted using a regex or some such? 16:57
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
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
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
FROGGS (jnthn: please don't slap me with a print statement) 17:00
printf, even
flussence Linux does do *something* with mwait states on HT chips now you mention it...
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
17:01 xfix- joined
kbenson1 k, I'll see what I can do. You may or may not find it useful, but it can't hurt 17:02
17:02 xfix left
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.
timotimo kbenson1: thank you very much!
FROGGS jnthn: I do not see any spot that is related
jnthn MVMObject *items = ((Rakudo_List *)list)->items; 17:05
Taht needs to be more like
MVMObject *items = ((Rakudo_List *)MVM_p6opaque_real_data(list))->items; 17:06
FROGGS ahhh
jnthn And similar 4 lines below.
FROGGS now that you say it
jnthn Plus audit for similar places :)
flussence: Well, it's not even "get off" so much as "drain the pipeline" I guess 17:07
17:07 kurahaupo joined
timotimo oh, will that fix it? 17:09
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.
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
Whereas you'd like thread B to get them.
flussence ah, I get it
17:14 xinming_ joined
flussence (and I know enough about low-level stuff to be aware I don't know nearly enough to answer that well :) 17:16
17:17 xinming__ left
retupmoca jnthn: based on a quick google search, I think you can just do asm("pause"); in C code 17:24
17:25 guru joined 17:26 guru is now known as Guest34237, Guest34237 is now known as ajr_
jnthn retupmoca: Hm, with some appropriate detection that we're on x86 I guess... 17:26
17:27 xenoterracide left
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:28
timotimo that's not a good substitute 17:29
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
flussence hm, yeah.
retupmoca jnthn: true. I've never written anything for a non-x86 world
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 :)
timotimo sounds like a good idea actually 17:31
i didn't know it existed :)
masak g'd'evening, #perl6 17:33
17:33 arnsholt left 17:34 arnsholt joined
raiph 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.
raiph 1) At 'infix =' says "Places the value of the left-hand side into the container on the right-hand side." Needs reversing?
2) At 'item = (list assignment)' why "item"?
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
jnthn flussence: Well, my situation isn't quite that I have a spin lock; it's a GC consensus thing. 17:41
17:41 Psyche^ joined 17:44 Rotwang joined, Rotwang1 joined 17:49 denisboyun joined 17:52 Rotwang1 left 17:53 xfix- left 18:02 FROGGS left
skids jnthn: stackoverflow.com/questions/5833527...bit-c-code explains that YieldProcessor is just asm pause, but I guess you need a multiarch conglomeration macro. 18:03
jnthn skids: Aye :) 18:05
18:05 [Sno] joined
raiph www.altdevblogaday.com/2012/06/05/i...-idleness/ # jnthn, not what you want but an interesting opinion piece: "Spinning is not entirely morally bankrupt." 18:06
18:08 dakkar left 18:09 FROGGS joined
skids jnthn: google seems to be settling on cpu_relax() 18:10
moritz my firefox just segfaulted when searching for cpu_relax 18:12
maybe not the best of signs :-)
18:13 punter joined 18:19 bluescreen100 joined
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:21
18:22 pecastro left 18:23 bluescreen10 left, FROGGS left 18:24 xfix joined 18:25 xfix left 18:27 rurban1 joined
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:27
18:28 denisboyun left 18:35 FROGGS joined 18:38 AW3i joined, tgt joined 18:41 virtualsue left 18:42 PZt left 18:46 mls_ joined 18:51 mls joined, mls_ left 18:56 mls_ joined 18:59 mls left 19:01 mls_ left, mls joined
dalek rl6-roast-data: 5a3b778 | coke++ | / (2 files):
today (automated commit)
19:02
moritz segomos: which DSL are you talking about? 19:04
[Coke] rakudo.moar has 49 spec failures; jvm 4. 19:05
niecza still languishing at 378, and pugs is zombified at 14723 failures.
vendethiel RIPugs 19:07
19:07 darutoko left, _sri joined 19:08 mls_ joined
moritz I'd love to have all three spectests pass, and tickets open for backend differences 19:10
19:11 mls left
[Coke] moritz: exactly, yes. 19:13
I will have some time these weekend hopefully to do that if no one beats me to it.
Do we have any bots that can do a poll?
moritz I don't think so 19:17
19:19 PZt joined
raiph moritz: make sense to fix these? irclog.perlgeek.de/perl6/2014-03-27#i_8503680 19:22
moritz raiph: you mean fix the anchors? 19:23
raiph: yes, makes sense
timotimo the TL;DR-like section at the very bottom of the spinlock post is a haiku. of course it is.
raiph k
moritz r: sub f() { die 42 }; f
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␤␤»
moritz r: sub f() { warn 42 }; f 19:24
camelia rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«42␤»
..rakudo-parrot 68e094: OUTPUT«42 in sub f at /tmp/tmpfile:1␤␤»
vendethiel [Coke]: who was niecza's dev? 19:27
[Coke] sorear. he's busy these days.
er, sorear++
colomon++ also has done a bit of work. 19:28
I would fudge them, but I'm not sure it's worth fudging if I'm not going to open tickets.
dalek ast: 8117230 | moritz++ | integration/error-reporting.t:
moar-fudge a failing test; (RT #112724)
19:29
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=112724
dalek c: f262137 | raiph++ | lib/operators.pod:
Fix/tweak assignment descriptions (item and list)

  irclog.perlgeek.de/perl6/2014-03-27#i_8504243
19:33
19:41 pecastro joined
moritz github.com/perl6/roast/blob/master...-30.t#L252 19:51
that test relies on hash ordering
colomon sorear++ did all the hard work on niecza. I just filled in some details. 19:55
dalek ast: 8a1b7e7 | moritz++ | integration/99problems-21-to-30.t:
fix reliance on hash ordering
19:56
moritz sucks at fudging tests
19:57 xfix joined
moritz one test fudged, one fixed in 40 minutes 19:58
19:59 rindolf left
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␤␤»
( no output )
moritz p: my num $alpha = Nil; say $alpha.perl
camelia rakudo-parrot 68e094: OUTPUT«0e0␤»
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␤␤»
..rakudo-parrot 68e094: OUTPUT«""␤»
dalek ast: 7359778 | moritz++ | S02-types/type.t:
moar-fudge a test; add ticket number
20:06
20:09 treehug8_ joined
[Coke] moritz++ roasting. 20:09
20:11 treehug88 left
moritz brain storming question 20:13
currently we can do make t/spec/a/b.t to fudge a test and run it 20:14
currently that only happens on one backend
(and that backend is chosen at configure time)
is there a convenient way to chose it at runtime instead? 20:15
20:16 wooden joined, wooden left, wooden joined 20:17 wooden left 20:18 iolympian joined
[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:19
moritz [Coke]: t/fudgeandrun seems to be the right place to start, thanks! 20:27
[Coke]++
dalek kudo/nom: 3699aaf | moritz++ | t/fudgeandrun:
teach fudgeandrun about --backend
20:30
moritz twitter.com/PhilipsShiu/status/448...56/photo/1 one of our standard greetings here is actually y = |x|. I wasn't aware of that :-) 20:38
20:40 zby_home_ joined
timotimo |x| 20:40
moritz |x| indeed 20:42
20:47 kbaker left 20:48 xfix left
masak moritz: the title is "function gymnastics" :) 20:50
20:51 xfix joined
masak moritz: also, the log_a(x) one doesn't match with my mental image of log_a(x) 20:52
doesn't it have an asymptote at x = 0 with y -> -Inf ? 20:53
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␤»
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))␤»
timotimo Copying blib/lib/JSON/Tiny/Actions.pir to /home/timo/perl6/moarvm/../install/languages/perl6/site/lib/JSON/Tiny/Actions.pir
wat.
masak raiph: what's the type? Any, twice.
raiph masak: yeah, was fooled by something I read 21:00
21:01 hoverboard left
timotimo oh noes 21:02
Steroids cannot handle .png files :|
because sdl2 can't
tadzik yeah
it needs sdl-image support :/
should be easy enough
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?
tadzik timotimo: wow, yor moarvm looks very confused
is this rakudobrew?
21:05 BenGoldberg joined
[Coke] moritz++ that commit looks fine. 21:05
masak raiph: reading source, I don't really see a way to do that. 21:07
raiph: (and I also question its value)
[Coke] I question the value of Junctions every time I try to use them!
timotimo tadzik: no, it is not
PerlJam [Coke]: was that a pun? 21:08
[Coke] no. Let's rip them out of the language. 21:09
or rename them to YouReallyWantedASet
raiph \
timotimo i like junctions 21:10
it's okay if i'm the only one
21:11 skids left
vendethiel what's wrong with junctions ? 21:13
PerlJam What would Damian's multi sub foo(Int $ where 0|1) { ... } look like without Junctions? 21:14
21:14 kivutar left
xfix Junctions are fine. 21:15
They can sometimes make code more readable.
PerlJam vendethiel: Coke (at least) thinks they don't bring enough benefit for the associated pain.
FROGGS p6: -> { say 1; return 42 }() # why doesn't this croak anymore?
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…»
..rakudo-parrot 68e094, rakudo-jvm 68e094, rakudo-moar 68e094: OUTPUT«1␤»
xfix perl6advent.wordpress.com/2009/12/...junctions/ 21:16
vendethiel PerlJam: what's the "associated pain"? implem-wise ?
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...
But what is the issue for the user?
timotimo why would SDL_Image say "unsupported image format"? :( 21:18
vendethiel timotimo: welcome in my realm ! SDL_Image is bad. 21:19
timotimo it is?
xfix For example, you can write `$month == 2|5|8` to check if month is either of those values.
vendethiel I've had a SDL game assignment to do, damn I've fought that
xfix This is really readable.
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
xfix In COBOL, you can also use junctions.
vendethiel and the bytes to tell what's contained were correct too. We never found out what was wrong ...
xfix IF MONTH = 2 OR 5 OR 8
[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.
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.
vendethiel timotimo, you're just using IMG_Load, right ?
PerlJam In my (admittedly limited) experience, that seems to be the common failure mode for Junctions.
timotimo yes 21:22
and i've IMG_Init'd with IMG_LOAD_PNG
IMG_INIT_PNG
vendethiel IMG_Init(IMG_INIT_PNG); ? 21:23
you're sure the image "underneath" (not judging by the extension) is a png, right ? just checking
timotimo yes, file said so. 21:24
21:25 kbaker joined
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:25
21:25 raiph left
vendethiel I'm SDL_Init()ing before I IMG_Init, if that makes any difference at all ... 21:26
timotimo weird 21:27
it seems like i'm not initing at all before i'm trying to load the images
which is weird 21:28
because i run MyGame.new.start
ooooh
i get it 21:29
it's the "lib.so" thing
m: say $*VM<config><dll> 21:31
camelia rakudo-moar 68e094: OUTPUT«lib%s.so␤»
timotimo that's what.
jnthn I think that got patched recently in NativeCall
timotimo it cuts the %s out and replaces it with ""
now my debug output exists 21:32
but that doesn't help me terribly much :|
21:33 xenoterracide joined
retupmoca timotimo: latest NativeCall turns that lib%s.so into just .so 21:34
21:34 punter left
timotimo okay 21:34
21:35 rurban1 left
timotimo the return value of IMG_Init is 3, which is PNG | JPG 21:35
so that much should work
21:35 zakharyas left 21:38 hoverboard joined 21:39 hoverboard left 21:40 iolympian left 21:46 aindilis joined 21:53 raiph joined 21:58 kbaker left 22:03 ajr_ left 22:04 lustlife1 left 22:05 rurban1 joined 22:07 rurban2 joined 22:10 rurban1 left 22:12 rurban2 left 22:24 dontpanic4242 joined 22:27 dontpanic4242 left 22:29 kaare_ left 22:31 btyler left 22:45 skids joined
masak [Coke]: I sometimes wonder if junctions shouldn't have been "syntactic". 22:46
[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.
skids Every use I have found for them so far, threading is not necessarily desired, so I have to worry about overaggressive interpretation. 22:47
22:54 bluescreen100 left
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:54
22:55 AW3i left
masak xybre: I think it's just you. :) 22:58
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).
xybre Ah, well I wasn't meaning their implementation, I mean their usage. 23:00
masak yes, so did I. 23:01
23:02 sorear joined
masak sorear! \o/ 23:02
xybre: they are *not* sets, nor Enumerable types. believing so is common misconception.
xybre: they have alternatives only insofar as other data structures could be made to emulate them, albeit with boilerplate code sticking out. 23:03
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
And I agree, they are powerful and unique.
But their functionaltiy could be applied to these other types as well, making them likewise more powerful.
masak yes. 23:07
I've had the same thought.
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
but that feels to me like an attractive DWIM with an unknown WAT lurking in the shadows.
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:10
23:11 FROGGS left
timotimo ».&methodname :) 23:12
problem solved :
:P
masak well, yes and no.
that's still explicit...
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.
timotimo yeah, but it's not hard to decide :)
23:12 rurban1 joined
masak timotimo: my point is that jQuery would still have a slight edge over ».methodname 23:12
(because in jQuery, you can omit the ») 23:13
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
23:14 rurban2 joined
timotimo huh. 23:15
23:15 dmol left 23:16 treehug8_ left 23:17 rurban1 left
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:17
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:18
23:19 rurban2 left
timotimo @values.each ** 2? 23:19
isn't that in the spec exactly like that?
kbenson1 timotimo: pastebin.com/NfEppf4W 23:21
timotimo perlcabal.org/syn/S09.html#Each "conjectural"
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
thanks, i'll have a closer look
kbenson1 it requires perl 5.14 or greater, and File::Slurp, Try::Tiny and CAM::PDF, so grab those from CPAN or something
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␤»
kbenson1 It also does quite a bit of fudging with font sizes, so you can tweak lines 30 and 31 for best output
timotimo o_O
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
timotimo m) 23:24
masak jnthn: :) 23:26
23:27 woolfy joined
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:27
...but since this is Perl, it would likely do both... :) 23:28
timotimo oh
"The prototypical use case is where a hyperoperator would parallelize in an unfortunate way"
masak yeah.
timotimo if it returns a listy thing, it could work that way
23:29 zby_home_ left
masak also, keep in mind that it is still speculative. 23:29
timotimo right 23:30
we can turn it into that exact thing we just wanted to have :P
and have "automagic" back-conversion to lists :P
[Coke] my "per6" isn't executable on os x after a moar build. 23:32
xybre chmod +X? 23:35
23:36 REPLeffect joined 23:38 Rotwang left 23:39 tgt left 23:41 REPLeffect left 23:44 kbenson1 left 23:54 REPLeffect joined
timotimo it lacks the l 23:57
raiph . 23:59
m: say 1
camelia rakudo-moar 3699aa: OUTPUT«1␤»