»ö« 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:05 xinming joined 00:06 abnorman joined 00:18 awwaiid_ is now known as awwaiid 00:38 jercos left 00:39 jercos joined 00:41 btyler left 00:44 thou left
FROGGS masak: no, more the fact to call a method on a bare name that could be anything... but well, I think it is possible to implement that ... 00:58
01:05 stevan_ joined 01:22 kbenson joined 01:44 stevan_ left, stevan_ joined 01:52 dayangkun left 02:02 cognominal left 02:03 cognominal joined 02:05 dayangkun joined 02:09 cognominal left, cognominal joined 02:11 kst` joined 02:13 apejens_ joined, awwaiid_ joined 02:14 smash_ joined, apejens left, awwaiid left, kst left, smash left 02:15 cotto left, BinGOs left, berekuk left, cotto joined 02:16 locsmif left
[Coke] nope, rakudo.jvm still aborting tests when used with the eval server. 02:18
02:19 BinGOs joined 02:45 abnorman left 02:50 jnap left 02:53 apejens_ is now known as apejens 02:56 Maddingue left, Maddingue joined 03:39 ssutch left 04:02 aindilis joined 04:23 xinming_ joined 04:24 xinming left 04:30 xinming_ left 04:31 xinming joined 04:34 preflex_ joined, ChanServ sets mode: +v preflex_, preflex left 04:35 preflex_ is now known as preflex 04:36 bonsaikitten left 04:43 CK joined 04:49 awwaiid joined 04:50 Piers_ joined, xinming_ joined 04:52 CK left 04:55 xinming left, awwaiid_ left, pdcawley left, Alina-malina left 04:57 Alina-malina joined, Alina-malina left 04:58 Alina-malina joined 05:06 thou joined 05:07 dylanwh left, stevan_ left 05:08 atrodo left, stevan_ joined
timotimo [Coke]: do you think you can modify the runner so that it uses one evalserver per S* directory? 05:13
05:21 rurban1 joined 05:24 [Sno] left
diakopter timotimo: nice REAMME patch 05:44
er REAMDE
05:47 abnorman joined, DrEeevil joined
lue
.oO(ream de paper)
05:49
raydiak how much of S17 is supported by per6-j? 05:50
06:00 abnorman left, abnorman joined 06:01 BenGoldberg left 06:04 kbenson left 06:13 dmol joined
moritz jnthn++ # blog post 06:17
06:18 dmol left 06:25 [Sno] joined 06:27 hummeleBop joined 06:31 Alina-malina left, Alina-malina joined 06:33 lue left 06:41 rurban1 left 06:45 lue joined
raydiak r: my $t1 = now; for ^1e3 { for ^1e3 { } }; my $t2 = now; for ^1e3 X ^1e3 {}; my $t3 = now; say "{$t2-$t1} {$t3-$t2}"; 06:46
camelia rakudo-parrot 8a486a, rakudo-jvm 8a486a: OUTPUT«(timeout)»
raydiak r: my $t1 = now; for ^1e2 { for ^1e2 { } }; my $t2 = now; for ^1e2 X ^1e2 {}; my $t3 = now; say "{$t2-$t1} {$t3-$t2}"; 06:47
camelia rakudo-jvm 8a486a: OUTPUT«(timeout)»
..rakudo-parrot 8a486a: OUTPUT«3.02521725 7.47723308␤»
06:47 darutoko joined 06:48 grondilu joined
raydiak r: my $t1 = now; for ^1e1 { for ^1e1 { } }; my $t2 = now; for ^1e1 X ^1e1 {}; my $t3 = now; say "{$t2-$t1} {$t3-$t2}"; 06:48
camelia rakudo-parrot 8a486a: OUTPUT«0.08715050 0.19410099␤»
..rakudo-jvm 8a486a: OUTPUT«0.034 0.104␤»
06:50 hoverboard joined, hoverboard left, hoverboard joined
raydiak r: my $t1 = now; for eager ^1e1 { for eager ^1e1 { } }; my $t2 = now; for eager ^1e1 X ^1e1 { }; my $t3 = now; say "{$t2-$t1} {$t3-$t2}"; 06:51
camelia rakudo-jvm 8a486a: OUTPUT«0.189 0.1␤»
..rakudo-parrot 8a486a: OUTPUT«0.1570065 0.1151438␤»
raydiak r: my $t1 = now; for eager ^1e2 { for eager ^1e2 { } }; my $t2 = now; for eager ^1e2 X ^1e2 { }; my $t3 = now; say "{$t2-$t1} {$t3-$t2}";
camelia rakudo-parrot 8a486a, rakudo-jvm 8a486a: OUTPUT«(timeout)»
06:52 kaleem joined 07:00 FROGGS left
DrEeevil bpaste.net/show/166222/ # nqp-2013.12 test failure (linux/amd64) 07:12
07:14 raiph joined 07:16 berekuk joined
DrEeevil bpaste.net/show/166223/ # details of above test failure 07:24
07:25 FROGGS joined
FROGGS DrEeevil: the qregex test was known and is already fixed, but the sprintf test is news to me 07:31
DrEeevil FROGGS: anything needed for further debugging?
FROGGS DrEeevil: your nqp --version would be interesting 07:32
DrEeevil FROGGS: # nqp-p --version 07:33
This is nqp version 2013.12 built on parrot 5.10.0 revision 0
FROGGS I get these fails too! O.o
DrEeevil good :)
then I'll not worry too much
FROGGS but I do instead :o) 07:34
nqp-p: say(nqp::sprintf("%.0f", [1.969]))
camelia nqp-parrot: OUTPUT«1.␤»
FROGGS star: say(nqp::sprintf("%.0f", [1.969]))
camelia star 2013-09: OUTPUT«This type does not support positional operations␤␤»
FROGGS ?
DrEeevil hrm, looks like there's an intermediate release 2013.12.1 ... let me have a look 07:35
FROGGS DrEeevil: no, it fails on HEAD
DrEeevil ah. ok then, but rakudo wants .12.1 anyway
FROGGS but I wonder what caused it to break... I can bisect this easily
DrEeevil also, wtf githerp, the tarballs have stupid pathnames in them 07:36
makes testing extra fun
07:42 berekuk left 07:48 SamuraiJack joined, sjn left 07:57 wsri_ joined 07:58 wsri_ left 07:59 wsri_ joined, wsri_ left 08:01 dmol joined 08:15 rurban1 joined 08:17 zakharyas joined, pjcj left 08:19 rurban1 left 08:23 zakharyas left 08:29 salv0 joined
DrEeevil hrm 08:30
moarvm head fails to build sanely
Configuring native build environment ................... fatal: No names found, cannot describe anything.
that error is from Configure.pl using if (-e '.git' && open(my $GIT, '-|', "git describe --tags")) { 08:31
and that doesn't work sanely
08:32 atrodo joined
DrEeevil sooo ... that's very not cool 08:32
08:34 hoverboard left 08:35 dylanwh joined 08:36 abnorman left 08:38 zakharyas joined, thou left 08:40 ivan`` left, [particle]1 joined 08:41 [particle] left 08:42 ivan`` joined, [particle] joined 08:43 telex left 08:44 telex joined 08:45 [particle]1 left 08:49 Piers_ is now known as pdcawley
DrEeevil ah, it's unwilling to tolerate tarballs :) /me hotfixes with sed 08:55
(also, it'd be much more fun if things were hosted on something more reliable than a toaster) 08:56
09:02 broquaint left
DrEeevil bpaste.net/show/166235/ # build failure of nqp with moarvm 09:04
09:05 ssutch joined 09:09 sqirrel joined 09:10 denis_boyun joined 09:11 SamuraiJack left 09:15 salv0 left 09:17 SamuraiJack joined
hoelzro morning #perl6 09:21
09:21 denis_boyun left 09:23 denis_boyun joined 09:33 V_S_C joined 09:36 dakkar joined
V_S_C While building x86 Parrot with ICU I couldn't link gethostname with WS2_32 09:38
Since then I've stuck with AMDx64 09:39
09:39 V_S_C left 09:41 pecastro joined 09:44 fhelmberger joined 09:55 SamuraiJack left
FROGGS DrEeevil: umm, the sprintf fails you reported (bpaste.net/show/166223/) are actuall marked as TODO, don't you get an output like: 09:57
not ok 127 - %.0f of 1.969 should be 2 # TODO on nqp-p
# Actual value: 1.
# Expected value: 2
09:59 SamuraiJack joined
masak antenoon, #perl6 10:14
hoelzro ahoy masak 10:15
masak ooh, HTML5 has not only "torment the implementors", but "torment the specifyers" and "torment the theoreticians" too: www.w3.org/TR/html-design-principle...tituencies 10:16
I like that.
arnsholt Indeed 10:19
masak specifiers* 10:21
10:32 V_S_C joined
hoelzro hmm 10:32
r: map({ $_ }, (0 .. 8) X (0 .. 8))
camelia rakudo-jvm f614e5: OUTPUT«Cannot call 'map'; none of these signatures match:␤:(&code, *@values)␤:(&code, Whatever )␤ in any at gen/jvm/BOOTSTRAP.nqp:1201␤␤»
..rakudo-parrot f614e5: OUTPUT«Cannot call 'map'; none of these signatures match:␤:(&code, *@values)␤:(&code, Whatever )␤ in any at gen/parrot/BOOTSTRAP.nqp:1218␤ in any at gen/parrot/BOOTSTRAP.nqp:1209␤ in sub map at gen/parrot/CORE.setting:1782␤ in block at /tmp/f…»
hoelzro why doesn't that work?
FROGGS p: say ({ $_ }).WHAT 10:33
camelia rakudo-parrot f614e5: OUTPUT«(Block)␤»
FROGGS p: say ((0 .. 8) X (0 .. 8)).WHAT
camelia rakudo-parrot f614e5: OUTPUT«(List)␤»
FROGGS hmmm
masak hoelzro: X is looser than , 10:34
hoelzro oooooh
V_S_C @Tadzik: Perl6 bootstrap.pl says
masak r: map { $_ }, ((0 .. 8) X (0 .. 8))
camelia ( no output )
V_S_C Could not find lib in any of: C:\rakudo/languages/perl6/site/lib, C:\rakudo/lang
masak r: map { $_ }, (0 .. 8 X 0 .. 8)
camelia ( no output ) 10:35
FROGGS ahh
V_S_C uages/perl6/vendor/lib, C:\rakudo/languages/perl6/lib, C:\Users\Administrator/.p
masak hoelzro: slogan: if you want to use X or Z with &map, better parenthesize.
V_S_C erl6/2013.12-249-g33f252e/lib
hoelzro masak: noted, thanks!
tadzik V_S_C: oh, please don't paste on the channel :) 10:36
but that's quite worrying
"use lib" is supposed to be a core modul
V_S_C hmm... I switched to MoarVM btw 10:37
Shall I remove the gist from 2 days back? 10:39
It means nothing, I'll try & stick with Moar.
gone :) 10:41
10:41 V_S_C left 11:07 kbaker joined 11:11 sqirrel left 11:18 kbaker left 11:31 salv0 joined 11:54 atroxaper joined 12:03 rindolf joined 12:09 raiph left 12:18 rurban1 joined 12:22 rurban1 left 12:26 fhelmberger_ joined 12:29 fhelmberger left 12:40 aindilis left 12:59 spider-mario joined 13:01 kaleem left 13:20 kaleem joined 13:28 kaleem left, dmol left 13:31 dmol joined 13:32 atroxaper left 13:42 pdcawley left 13:48 ajr joined, ajr is now known as Guest62495 13:49 Guest62495 is now known as ajr_ 13:50 salv0 left 13:51 salv0 joined 14:06 _ilbot left, wooden left 14:08 _ilbot joined 14:13 Piers_ joined 14:14 Piers_ is now known as pdcawley 14:19 wooden joined
[Coke] just saw this facebook aphorism-pic: "Never waste your time trying to explain who you are to people who are committed to misunderstanding you". Thought it might be relevant to the channel's interest. 14:25
14:26 sqirrel joined
grondilu fails to see the relation with #perl6 14:31
moritz it's the wordy version of "haters gonna hate" :-) 14:32
14:40 kaare_ left 14:45 kbaker_ joined 14:46 bluescreen10 joined 14:49 dmol left
masak well, yes "trying to explain" is already the wrong framing. 14:50
"here's something useful and cool" is what we should focus on. 14:51
15:02 SamuraiJack left 15:05 rurban1 joined 15:12 kaleem joined
diakopter masak: okay, but you still have to try to explain how it's useful and cool, even if what you're demoing is immediately and obviously useful and cool to you 15:24
15:24 sqirrel left
diakopter (if they're haters) 15:24
(which you wouldn't know in advance necessarily)
masak +1 on explaining. 15:25
but generally, no, I don't write blog posts trying to convince haters.
too small ROI.
diakopter well the quote from [Coke] wasn't about convincing; it was about explaining
(but of course, persuading to understand is important sometimes too) 15:26
as the logical positivists say, understanding is believing 15:27
(and the gnostics)
[Coke] I 15:28
15:34 kaleem left 15:36 dmol joined 15:37 treehug88 joined, hummeleBop left
hoelzro hmm 15:38
where does Range.roll come from?
hoelzro looks
15:40 zakharyas left
timotimo from Iterable? Positional? 15:40
r: say Cool.^methods>>.Str.grep(/roll/) 15:41
camelia rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUT«␤»
timotimo r: say Positional.^methods>>.Str.grep(/roll/)
camelia rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUT«␤»
timotimo r: say Iterable.^methods>>.Str.grep(/roll/)
camelia rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUT«␤»
timotimo hm
r: Cool.roll(1)
camelia ( no output )
[Coke] hoelzro: from Range. 15:42
15:42 jnap joined
hoelzro [Coke]: that much I figured =) 15:42
[Coke] src/core/Range.pm has a method roll.
it's not inheriting it.
hoelzro r: (0..9).roll(11)
camelia ( no output )
[Coke] line 138
timotimo ah, ok
that makes sense 15:43
so it won't try to reify a 0..10000000000 to a list just to roll a few elements out of it
hoelzro yeah, when I try the above in the REPL, I get a single number
er 15:44
wait
I'm dumb =/
FROGGS *g*
hoelzro I had the expr prefixed with a +
timotimo hah 15:45
i was about to theorize you wrote 1..10.roll(1) and ended up getting a Range from 1 to 10 each time :P
15:46 rurban1 left 15:47 btyler joined
timotimo "Welcome to Pyramid. Sorry for the convenience." :D 15:47
15:48 toebu joined 15:50 ajr_ left 15:51 ajr joined 15:52 ajr is now known as Guest42946, Guest42946 is now known as ajr_ 15:54 ruoso left 15:58 Psyche^_ joined 16:02 jnap left 16:03 ssutch left, Psyche^ left 16:11 ruoso joined 16:12 zakharyas joined 16:14 ssutch joined 16:15 jnap joined, xenoterracide left
hoelzro hmm 16:16
so I'm trying to classify a group of sudoku cells based on row/column 16:17
so the "obvious" thing to do would be my %row-to-cell = @cells.classify: { .row }
but since the rows are 0 .. 8, it seems silly to stick it in a hash
what would be the Perl 6-iest way to do that? 16:18
perigrin I'm to 6-y for my hat ... to 6-y for my hat ... yeah let's not go there.
masak .sort(*.key).values ?
hoelzro that...makes a lot of sense.
timotimo r: my @row-to-cell; @row-to-cell[@cells>>.row] = @cells
hoelzro thanks mask
camelia rakudo-parrot f614e5: OUTPUT«===SORRY!=== Error while compiling /tmp/A6uwO0w5hN␤Variable '@cells' is not declared␤at /tmp/A6uwO0w5hN:1␤------> @row-to-cell; @row-to-cell[@cells>>.row⏏] = @cells␤ expecting any of:␤ method ar…»
..rakudo-jvm f614e5: OUTPUT«===SORRY!=== Error while compiling /tmp/4gvywWz6gR␤Variable '@cells' is not declared␤at /tmp/4gvywWz6gR:1␤------> @row-to-cell; @row-to-cell[@cells>>.row⏏] = @cells␤ expecting any of:␤ method argum…»
timotimo er ... that was not supposed to have a r: in front :)
it meant to have rob:
hoelzro whoa 16:19
timotimo i think that's plenty sixy :)
hoelzro that's an interesting approach timo
timotimo but masak's is nice, too
hoelzro hmm
16:19 ssutch left
hoelzro wouldn't the array elements just keep getting clobbered? 16:19
16:19 torbjorn_ is now known as torbjorn
hoelzro instead of each containing an array of cells in that row? 16:19
timotimo oh, right 16:20
i didn't think of that
hoelzro my @row-to-cell := ActuallyContainsAList; # ;) 16:21
16:24 erkan left 16:26 [Sno] left 16:28 fhelmberger_ left
spider-mario when I run make to build rakudo nom, I get: 16:29
make: *** No rule to make target '-runner-default', needed by 'all'. Arrêt.
FROGGS spider-mario: how does your Configure line look like?
spider-mario perl Configure.pl --parrot-option='--optimize="-O3 -flto"' --gen-parrot --prefix=$HOME/.perl6/ 16:30
hm, I think it caused a warning the first time I ran it
I’m looking back
yeah 16:31
Use of uninitialized value $default_backend in substr at Configure.pl line 115.
perhaps fc97467ed55a10a548ea935b1c5c8ba0165748f7 was incomplete 16:32
(it should initialize $default_backend as well
)
FROGGS spider-mario: please also pass --backend=parrot
16:35 silug left
moritz --gen-parrot implies the parrot backend 16:35
hoelzro can anyone explain wtf is going on here?
gist.github.com/hoelzro/8337247
I'm not sure if I just don't understand something, or if I've found a bug.
moritz hoelzro: try to add a leading ; to the map block 16:36
hoelzro: it would also be helpful to know in which way your code fails
hoelzro still f'ed up
hang on, I'll update with output 16:37
ok, refresh 16:38
hoelzro .oO( why aren't gists syntax highlighted? )
I expect $value to contain an Int 16:39
which it does if I uncomment line 12
r: for ^11 → { .say } 16:41
camelia rakudo-jvm f614e5: OUTPUT«===SORRY!=== Error while compiling /tmp/R2FDVp1csT␤Missing block␤at /tmp/R2FDVp1csT:1␤------> for ^11 ⏏→ { .say }␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix…»
..rakudo-parrot f614e5: OUTPUT«===SORRY!=== Error while compiling /tmp/ybdZKA6tkg␤Missing block␤at /tmp/ybdZKA6tkg:1␤------> for ^11 ⏏→ { .say }␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-inf…»
hoelzro ='(
FROGGS r: for ^11 -> { .say } # texas wtf!
camelia rakudo-jvm f614e5: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤ in block at gen/jvm/CORE.setting:7346␤ in block at gen/jvm/CORE.setting:7210␤ in method gimme at gen/jvm/CORE.setting:7628␤␤»
..rakudo-parrot f614e5: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤ in block at /tmp/CXT8tvJGzb:1␤␤»
FROGGS sort of 16:42
moritz hoelzro: I still don't see output in your gist
hoelzro it's in a comment at the end of line 14
moritz that's pretty much exactly what I'd expect 16:43
hoelzro @numbers.pick(1) returning an array of 1 .. 9?
r: (1 .. 9).pick(1)
camelia ( no output )
moritz yes, because that's the value of the pair
hoelzro ooooh 16:44
is :delete returning the pair?
moritz you seem to expect that my @numbers = %cell-to-numbers{$victim}:delete; flattens
no, it's returning a parcel
and the one element in the parcel is an array
hoelzro I see
I did expect it to flatten
moritz and the parcel is flattened out, but not the array, because it's an array in a scalar
the :delete delets one element, so the resutling array/list/whatever also contains one element 16:45
hoelzro ah ha
16:45 kaleem joined
moritz strangely consistent 16:45
hoelzro I just don't understand flattening rules in Perl 6, I think =/
16:45 panchiniak joined
timotimo hoelzro: it would seem the deployment of the new pygments to github is not complete >_> 16:46
hoelzro timotimo: indeed =/
or gist uses something else
FROGGS but hey! it is still awesome!
16:46 silug joined
timotimo i think it shouldn't 16:46
16:46 denis_boyun left
hoelzro I know, wtf 16:46
timotimo hoelzro: the flattening rules took me a long time to grok, too
moritz it doesn't help that there are still flattening bugs in our codebase 16:48
timotimo hm. i shouldn't imply that i grok the flattening rules
PerlJam
.oO( there's a pun about squashing bugs in there somewhere )
hoelzro my $value = $victim.value = @numbers.pick(1); # should set both $value and $victim.value, right?
16:49 sqirrel joined
grondilu r: my $p = foo => 1; say $p.value = "bar"; # I doubt this can work 16:50
camelia rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUT«bar␤»
grondilu oh, it does. I thought Pairs were immutable for some reason
PerlJam Enum is the immutable Pair IIRC 16:51
There's a whole list of immutables in S02 I think 16:52
16:55 FROGGS[mobile] joined 17:00 kaleem left 17:02 FROGGS left 17:07 toebu left 17:09 zakharyas left
timotimo so, should we support → instead of ->? 17:09
what about ⇒ for pairs? :3 17:10
17:10 locsmif joined
timotimo and ♥♥ instead of v6? (because it's 2x <3) 17:10
17:13 pdcawley left 17:15 FROGGS joined, ssutch joined 17:17 smash_ is now known as smash 17:18 panchiniak left 17:19 broquaint joined, jnap left 17:20 ssutch left 17:26 btyler left
segomos_ timotimo: haha 17:28
diakopter timotimo: sure, why not.. adding additional alternations doesn't slow down successes
<shrug> 17:29
(otoh, maybe better to leave those for libraries' or users' custom operators)
17:31 samebchase joined, pecastro left, thou joined
diakopter (otooh, maybe users' custom operators should override previously defined semantics.. o_O ) 17:33
(even those that aren't in standalone rules)
17:38 benabik left 17:39 benabik joined
hoelzro timotimo: support both =) 17:43
like << >> and « »
grondilu off topic: live coverage of Antares launch in a few minutes: www.nasa.gov/multimedia/nasatv/index.html
timotimo oh no and i am on my mobile phone 17:46
17:48 jeffreykegler joined 17:50 ajr joined 17:51 ajr_ left, ajr is now known as Guest60642, Guest60642 is now known as ajr_ 17:53 dakkar left
moritz so, for when is the launch planned? 17:54
grondilu in 15m or so
17:54 denis_boyun joined
grondilu timotimo: Android? www.nasa.gov/multimedia/nasatv/nasa...e_android/ 17:54
go to #space to discuss it you want to. 17:56
17:56 [Sno] joined, sqirrel left
benabik How about #spaaaaaaace? 17:56
segomos_ 9 minutes to launch 17:58
18:02 ajr_ left 18:05 sftp left 18:09 sftp joined
spider-mario moritz: I think you forgot to set $default_backend in commit fc97467ed 18:12
this: paste.awesom.eu/zue&raw does it, but maybe you’d rather write it in another way
timotimo grondilu: i don't have a sensible network plan :)
moritz spider-mario: I don't think --gen-parrot should overwrite the default backend 18:14
spider-mario: only set it if previously unset
spider-mario hm, true 18:15
18:33 xinming_ left 18:34 berekuk joined, ajr_ joined 18:39 Rotwang joined 18:43 treehug88 left 18:46 treehug88 joined 18:47 benabik left 18:50 abnorman joined
masak dang, did I miss a launch? :/ 18:50
segomos_ yea 18:51
timotimo they launched without you, sorry 18:53
they gave the spot away to some other person standing in line
masak was it nice?
the launch. 18:54
18:54 darutoko left, xinming joined
grondilu masak: it was nice, but the take-off was a bit scary as there was quite a lot of lateral motion. 18:55
masak ok. 19:00
19:06 benabik joined
Rotwang what did they launch? 19:15
hi, btw
diakopter a rocket, I think
timotimo antares thingie
benabik Antres is the rocket. Its cargo was a Cygnus resupply capsule for the ISS. 19:16
preflex Rotwang: you have 1 new message. '/msg preflex messages' to read it.
19:25 zakharyas joined
masak I was curious if they would show the docking with the ISS. but I didn't realize the launch was today. 19:27
benabik Docking is planned for Sunday. They inch their way up to the ISS rather than launching right up to it.
moritz I have no idea how fast or slow the maneuvers are today, but I guess it'll take a few more hours or days until the docking 19:28
benabik NASA TV plans to air the rendezvous and docking Sunday at 5 AM ET and 7 AM ET, respectively. 19:30
www.nasa.gov/multimedia/nasatv/MM_N...aking.html 19:31
19:39 sqirrel joined
masak \o/ 19:45
19:47 araujo left 19:51 kbenson joined 19:54 rindolf left 19:58 diakopter is now known as diskopter, diskopter is now known as diakopter 20:14 erkan joined, erkan left, erkan joined 20:24 sjn joined, hoverboard joined 20:34 zakharyas left 20:40 denis_boyun left
masak .oO( Any sufficiently advanced magic is indistinguishable from Arthur C. Clarke. (Technology) ) 20:51
20:52 xenoterracide joined 20:54 psch joined
psch hi #perl6 20:54
timotimo g'day
psch picking up where i've left: does the optimizer even know Exception and it's children? 20:55
because i can't seem to find a way to instantiate anything Exception-y in there
masak might be too early.
is there something similarly early that you can use as prior art?
psch not really, the optimizer itself calls nqp::die() a few times
World has creates exception, but from fiddling with it i can seem to get there the same way the optimizer does 20:56
jnthn You can find such types inside the optimizer, probably suing $*W.find_symbol or so
preflex jnthn: you have 1 new message. '/msg preflex messages' to read it.
psch i.e. via find_symbol
jnthn: i tried that
masak historical question: when were the low-precedence binary ops like 'or' and 'and' added to Perl? 20:59
psch "World creates expcetions, but from fiddling with how it does that in the optimizer i dont seem to be able to recreate creating exceptions that way in the optimizer" # because it was terribly jumbled before 21:01
21:01 thou left 21:02 dayangkun left 21:03 sjn left, dagurval_ left, sqirrel left, jeffreykegler left
hoelzro r: srand(8); say((1..9).roll(9)); 21:04
camelia rakudo-jvm f614e5: OUTPUT«9 9 5 9 7 7 2 5 5␤»
..rakudo-parrot f614e5: OUTPUT«1 1 5 7 6 4 2 5 6␤»
hoelzro r: srand(8); say((1..9).roll(9));
camelia rakudo-jvm f614e5: OUTPUT«9 9 5 9 7 7 2 5 5␤»
..rakudo-parrot f614e5: OUTPUT«9 3 9 7 5 2 9 4 7␤»
hoelzro shouldn't that be identical on Pakudo?
21:04 kbenson left 21:05 kst` is now known as kst 21:06 FROGGS[mobile] left, FROGGS[mobile] joined
japhb__ hoelzro, I believe r-p is known to have a broken srand(). Fix welcome. :-) 21:06
21:06 pecastro joined
hoelzro grr 21:06
I'll just hold out for Mokudo =/ 21:07
let's say I want to flatten three lists to make a big one... 21:08
ex. my @related = ( @by-row, @by-column, @by-block )
how do I tell Perl 6 to flatten them?
timotimo that should already do it; depends on what's inside, though
you can .list each of them, but the @ should cause flattening already. depends on what's inside there, too :P 21:09
21:09 FROGGS[mobile] left, FROGGS[mobile] joined 21:10 sjn joined, dagurval joined
psch i just verified, the optimizer can't find Exception or (at least one of) it's children via $*W.find_symbol 21:11
i was thinking maybe stubs have something to do with it, but i don't really know where to look which stubs should be findable
benabik Isn't it something like X::Base? 21:12
21:12 fgomez joined
benabik Nvm, the base is Exception, the specific types are X::* 21:12
timotimo psch: it has to "be after" the definition of Exception 21:14
it has to do the @block_chain or what it's called thing
21:16 fgomez left, logie_ left
psch timotimo: i'm afraid i don't quite follow 21:16
the optimizer initializes @!block_chain as [$past[0]] 21:17
err, @!block_stack
21:17 dayangkun joined
hoelzro I think it's a case of me not understanding flattening earlier on in the code... 21:18
timotimo psch: right. when you don't have the Exception in there yet, you can't do anything 21:20
psch so that means typed exceptions in the optimizer require some major hackery? 21:21
as in, the past the optimizer gets is something like what --target=ast outputs for any given program
and in that output CORE doesn't get included and thus the World for the optimizer doesn't include it?
or am i missing something here 21:22
21:22 logie_ joined
timotimo no, it doesn't require hackery 21:22
it just means that you can't always make typed exceptions
psch okay, so i picked a not-really-solvable bug as something i want to hack on and ran into a wall 21:25
that's a little disappointing hah
i don't quite see how Exception could appear for other bits of code for the optimizer though 21:26
i mean, the stage order stays the same, right
which means for any error in the optimizer Exception isn't compiled yet
21:26 berekuk left
timotimo er 21:36
you can already create typed exception in stage ast
it uses the same block chain thingie the optimizer does 21:37
jnthn The setting is always in place as the program's outer-most scope.
About the only possible problem I can see is if somehow it isn't in the block chain when you try to lookup the exception type.
psch jnthn: how would that happen? 21:40
and does it seem like it could be happening?
jnthn psch: lemme take a look 21:42
psch well, it seems to be happening to me, scratch the latter question
timotimo r: class Foo { multi method bar(Str $a) { say "str" }; multi method bar(Int $a) { say "int" } }; Foo.^can("bar")[0].cando(\("Foo")).perl.say
camelia rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUT«()␤»
jnthn psch: Are you considering the code starting "if +%!deadly {"?
timotimo why doesn't the bar method that takes Str show up here? :( 21:43
r: class Foo { multi method bar(Str $a) { say "str" }; multi method bar(Int $a) { say "int" } }; Foo.^can("bar")[0].cando(\(Foo: Str)).perl.say
jnthn timotimo: You forgot the first (invocant) parameter in the capture passed to cando
camelia rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUT«()␤»
jnthn timotimo: Just a ,
timotimo r: class Foo { multi method bar(Str $a) { say "str" }; multi method bar(Int $a) { say "int" } }; Foo.^can("bar")[0].cando(\(Foo.new(), "Str")).perl.say
camelia rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUT«(method bar(Foo : Str $a, Mu *%_) { ... },)␤»
timotimo ah!
thank you
the moment you said it i got the idea, too :) 21:44
jnthn psch: 'cus at that point it ain't there
timotimo also, clsn_ found a nasty interaction in junctions where they really shouldn't flatten something:
jnthn Note a few lines up we have:
nqp::push(@!block_stack, $unit);
$!Mu := self.find_lexical('Mu');
$!Any := self.find_lexical('Any');
nqp::pop(@!block_stack);
timotimo r: all("5", "6").match(/\d/).perl.say
camelia rakudo-parrot f614e5: OUTPUT«all(Match.new(orig => "5", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "6", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new()))␤»
..rakudo-jvm f614e5: OUTPUT«all(Match.new(to => 1, hash => EnumMap.new(), ast => Any, list => ().list, orig => "5", from => 0), Match.new(to => 1, hash => EnumMap.new(), ast => Any, list => ().list, orig => "6", from => 0))␤»
jnthn Which is making sure that find_lexical will work out.
timotimo er, wait, that wasn't the exmaple he gave me
r: all("5", "6").match(/5/).perl.say 21:45
camelia rakudo-parrot f614e5: OUTPUT«all(Match.new(orig => "5", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new()))␤»
..rakudo-jvm f614e5: OUTPUT«all(Match.new(to => 1, hash => EnumMap.new(), ast => Any, list => ().list, orig => "5", from => 0))␤»
timotimo you see how it only has one entry inside the all?
it's because the match of the second one returns nil and that really shouldn't flatten
21:48 ssutch joined, araujo joined
timotimo clsn_: ^ in any case, with the .cando on a multi sub you can refer to one candidate of the multi 21:48
psch jnthn: well, i was mainly bumbling around in report_inevitable_dispatch_failure, which gets called from chain_handles_Any in visit_children 21:49
err, visit_op, not visit_children
and "it's not there" is consistent with my findings
jnthn psch: Ah, then the exception should certainly be on the stack
timotimo wait, chain_handles_Any calls that?
jnthn psch: I mean, somewhere in the block chain
psch: How does your code to find it look? 21:50
psch i've tried $*W.find_symbol and nqp::create with the name of the new exception i put into Exception.pm as argument 21:51
i wasn't sure how find_symbol deals with namespaces so i tried both X::NewExceptio and plain NewException and neither worked 21:52
timotimo you probably want ["X", "NewException"] 21:53
but i think it splits on :: for you
jnthn I think it wants $*W...yes, what timotimo said :)
I don't think it does try to split automatically for you.
21:53 Piers_ joined
jnthn find_symbol is the unmagical thing :) 21:53
psch right, it doesn't, but i tried handing it an array as well
jnthn oh, but... 21:54
$*W isn't what has a block stack
The optimizer does
psch oh 21:55
jnthn So we need a find_symbol inside the optimizer that looks at @!block_stack
timotimo ah, right
psch so it's looking in nothing for the type i'm asking it to find
that's helpful
jnthn Basically, a namespace-aware find_lexical
psch the namespaces boil down to elems of @!block_stack= 21:56
s/=/?
jnthn No
For a good enough cut, you take the first thing and find_lexical it
Then you can take that and do .WHO to get the stash, and then index into it like a hash with the next thing in the array you were passed. 21:57
find_symbol has code that you can either be inspired by or outright nab.
(the one in Perl6::World)
psch okay, i'll try that, thanks 21:58
22:04 Piers_ left 22:07 grondilu left 22:10 locsmif left 22:20 Rotwang left 22:24 kivutar joined 22:25 BenGoldberg joined 22:27 thou joined 22:31 kbaker_ left 22:45 denisboyun joined
[Coke] parrot could use some release managers, if anyone's got some spare time. 22:56
see #parrot on irc.perl.org 22:57
dallllllek 22:58
rakudo.moar,2014-01-09,94.21%,9a340b1,26806,1332,629,1431,29729,28495,
22:58 denisboyun left 22:59 pmurias joined
FROGGS damn, so close :/ 22:59
pmurias what's the state of the moar-p5 interop grant?
23:01 spider-mario left
[Coke] r: say 28454*.95-26806 23:02
camelia rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUT«225.3␤»
23:02 kaare_ joined 23:09 hoverboard is now known as baller, baller is now known as hoverboard
jnthn Just testing a patch here that gets the missing assignment type checking in place 23:09
Including handling subset types
S02-types/subset.t just passed here 23:10
diakopter jnthn++ 23:12
pmurias: the state of the grant is accepted
23:12 bluescreen10 left
pmurias has the work started? 23:13
diakopter: congratulations on getting the grant accepted
diakopter hundreds of hours went into it before the grant was accepted, but since then it's been waiting on rakudo-moar to not have GC problems and to mostly run
jnthn++ & nwc10++ & several others are the heroes there 23:14
pmurias diakopter: where can I find the interop code? 23:20
diakopter what code
23:20 araujo left
diakopter oh, you assumed "hundreds of hours" meant code 23:20
wrongo
well, there's some code, but it's an early start before the design was done 23:21
pmurias: you wanted to borrow some design? 23:23
*look into borrowing 23:24
pmurias not yet 23:26
perl 5 interop is far away for nqp-js
diakopter I bet it's not too far away once moar & jvm get it 23:27
23:27 pmurias left
diakopter .. because the interop model should work for any 6model implementation 23:27
23:31 araujo joined 23:36 treehug88 left 23:47 kivutar left
[Coke] looking to help? go through github.com/coke/rakudo-star-daily/...dules.log. Find "Deprecated". fork the original repo the module is from, fix all the deprecations, give the original author a pull request. Danke. 23:52
easy peasy.
[Coke] tries reduce the amount of memory the eval server is claiming; that should fix it. 23:57
timotimo r: say all("5", "4").match(/4/).perl 23:58
camelia rakudo-parrot f614e5: OUTPUT«all(Match.new(orig => "4", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new()))␤»
..rakudo-jvm f614e5: OUTPUT«all(Match.new(to => 1, hash => EnumMap.new(), ast => Any, list => ().list, orig => "4", from => 0))␤»
timotimo r: say so all("5", "4").match(/4/)
camelia rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUT«True␤»
timotimo so ... the match is supposed to return Nil and Nil is supposed to not flatten, right?
timotimo has a look at the code 23:59