»ö« 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 elemscurrent 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 elemscurrent 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 elemscurrent 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«1Unhandled 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«15» | |||
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«1Unhandled 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» |