»ö« 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 raiph left 00:08 ajr_ left 00:10 denis_boyun left 00:20 lizmat_ left, lizmat joined 00:25 rurban left 00:28 [particle] left, daniel-s joined 00:31 treehug88 left 00:33 berekuk left 00:34 raiph joined 00:36 vky left 00:39 rurban joined 00:53 Biohazard joined 01:01 hypolin joined, hypolin left
dalek rl6-roast-data: 926db80 | coke++ | / (3 files):
today (automated commit)
01:04
01:06 [particle] joined 01:09 Adriaaan left
[Coke] pugs has 4691 failures and could use some love. 01:11
01:12 cognominal left 01:21 skids joined 01:27 araujo joined 01:37 cognominal joined 01:46 kurahaupo__ left
clsn__ Some odd behavior when doing things I shouldn't be doing... 01:48
r: sub prefix:<]> ($x) { "-$x-" }; say "alive"; 01:49
camelia rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot e4e862, rakudo-moar e4e862: OUTPUT«alive␤»
clsn__ whoa, that was weird. Didn't know JVM barfed. Anyway, that's at least normal (though the sub doesn't work, which is another issue). But look.
r: sub prefix:<]> ($x) { ">x<" }; say "alive" # Note: differs only in contents of *string* in sub. 01:50
camelia rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot e4e862, rakudo-moar e4e862: OUTPUT«alive␤»
clsn__ *blink*. It broke on my version.
oh, wait, 01:51
r: sub prefix:<]> ($x) { ">$x<" }; say "alive" # Note: differs only in contents of *string* in sub.
camelia rakudo-parrot e4e862, rakudo-moar e4e862: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse quote-words subscript; couldn't find right angle quote␤at /tmp/tmpfile:1␤------> ers only in contents of *string* in sub.⏏<EOL>[…»
..rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
clsn__ Actually at least as puzzling, really; I thought it was the <>s in the string that broke it (and it apparently is), but the $ in $x seems to be necessary too.
r: sub prefix:<]> ($x) { "-$x-" }; say ]"hello"; 01:54
camelia rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot e4e862, rakudo-moar e4e862: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unexpected closing bracket␤at /tmp/tmpfile:1␤------> sub prefix:<]> ($x) { "-$x-" }; say ⏏]"hello";␤»
clsn__ That's probably reasonable, I am being pretty evil here. ] won't work in prefix or postfix position, nor will ) or ]. Not-already-spoken-for closers like ﴿ or ⦄ work okay. Similarly, circumfix:<) (> doesn't work. Again, not really surprising. 01:55
01:55 araujo left
clsn__ Note however: 01:56
r: sub prefix:<)> ($x) { "--$x--" }; say \)"hello"
camelia rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤» 01:57
..rakudo-parrot e4e862, rakudo-moar e4e862: OUTPUT«hello␤»
clsn__ Without the \, fail. With the \, no error, but doesn't run the sub either. Curious.
02:02 rurban left 02:03 FROGGS_ joined 02:06 FROGGS left 02:07 rurban joined, rurban left
clsn__ Duh. OK, I see the problem with the ">$x<". The $x< looks like the beginning of "$x<something>". So nevermind, that error is correct. 02:09
BenGoldberg r: sub prefix:<)> ($x) { "--$x--" }; say [)]"hello" 02:19
camelia rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot e4e862, rakudo-moar e4e862: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse expression in array composer; couldn't find final ']' ␤at /tmp/tmpfile:1␤------> sub prefix:<)> ($x) { "--$x--" }; say [⏏)]"hello…»
BenGoldberg r: sub prefix:<)> ($x) { "--$x--" }; say [\)]"hello" 02:20
camelia rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot e4e862, rakudo-moar e4e862: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤You can't backslash that␤at /tmp/tmpfile:1␤------> ub prefix:<)> ($x) { "--$x--" }; say [\)⏏]"hello"␤ expecting any of:␤ argume…»
BenGoldberg "You can't backslash that"?
clsn__ Yeah, get that error a lot. Here's another weird one I just found: 02:22
r: say\("hi")
camelia rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot e4e862: OUTPUT«␤No such method 'postcircumfix:<( )>' for invocant of type 'Bool'␤ in any at gen/parrot/BOOTSTRAP.nqp:1692␤ in any at gen/parrot/BOOTSTRAP.nqp:1674␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar e4e862: OUTPUT«␤Cannot find method 'postcircumfix:<( )>'␤ in block at /tmp/tmpfile:1␤␤»
clsn__ That's probably at least an LTA message.
Spec says that \ should work as unspace even without spaces after it. It's fine with a space after it. 02:23
r: \ say "x"
camelia rakudo-parrot e4e862, rakudo-moar e4e862: OUTPUT«x␤»
..rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
clsn__ huh, I got You Can't Backslash That I think. But maybe I was in the REPL. 02:24
BenGoldberg What's wrong the jakudo today?
clsn__ Dunno. I should stop using r:
02:25 clsn__ is now known as clsn
BenGoldberg p: sub infix:<d> { "[" ~ @_.join(", ") ~ "]" }; say [d] 1..10 02:26
camelia rakudo-parrot e4e862: OUTPUT«[[[[[[[[[1, 2], 3], 4], 5], 6], 7], 8], 9], 10]␤»
BenGoldberg p: sub infix:<d> { "[" ~ @_.join(", ") ~ "]" }; say [Rd] 1..10
camelia rakudo-parrot e4e862: OUTPUT«[10, [9, [8, [7, [6, [5, [4, [3, [2, 1]]]]]]]]]␤»
BenGoldberg If d were list assoc, the R version would problably, fail, but I forget the syntax :( 02:27
'is assoc(List)'?
02:28 raiph left
BenGoldberg p: say [R,] 1..10 02:29
camelia rakudo-parrot e4e862: OUTPUT«Too many positional parameters passed; got 10 but expected 2␤ in block at gen/parrot/CORE.setting:16713␤ in sub at gen/parrot/CORE.setting:16820␤ in block at /tmp/CigNEozzxl:1␤␤»
clsn um. I just looked it up today. 02:31
BenGoldberg is looking it up presently.
clsn p: sub infix:<d> is assoc<list> { "[" ~ @_.join(", ") ~ "]" }; say [d] 1..10
camelia rakudo-parrot e4e862: OUTPUT«[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]␤»
clsn p: sub infix:<d> is assoc<list> { "[" ~ @_.join(", ") ~ "]" }; say [Rd] 1..10 02:32
camelia rakudo-parrot e4e862: OUTPUT«Too many positional parameters passed; got 10 but expected 2␤ in block at gen/parrot/CORE.setting:16713␤ in sub at gen/parrot/CORE.setting:16820␤ in block at /tmp/UkNVzYdFBh:1␤␤»
clsn Guess you're right.
clsn didn't realize/forgot you got a slurpy *@_ for free if you use it; I've been typing it in the signature always. 02:33
BenGoldberg p: sub infix:<d> is assoc('list') { "[@_]" }; say [Rd] 1..4
camelia rakudo-parrot e4e862: OUTPUT«Too many positional parameters passed; got 4 but expected 2␤ in block at gen/parrot/CORE.setting:16713␤ in sub at gen/parrot/CORE.setting:16820␤ in block at /tmp/WN3bXKIRQm:1␤␤»
BenGoldberg p: sub infix:<d> is assoc('list') { "[@_]" }; say [d] 1..4 02:34
camelia rakudo-parrot e4e862: OUTPUT«[@_]␤»
BenGoldberg p: sub infix:<d> is assoc('list') { "["~@_.join(", ")~"]" }; say [d] 1..4
camelia rakudo-parrot e4e862: OUTPUT«[1, 2, 3, 4]␤»
BenGoldberg p: sub infix:<d> is assoc('list') { "["~@_.join(", ")~"]" }; say [Rd] 1..4
camelia rakudo-parrot e4e862: OUTPUT«Too many positional parameters passed; got 4 but expected 2␤ in block at gen/parrot/CORE.setting:16713␤ in sub at gen/parrot/CORE.setting:16820␤ in block at /tmp/d35JhyyvxK:1␤␤»
BenGoldberg p: sub infix:<d> is assoc('list') { "["~@_.join(", ")~"]" }; say [Rd] 1..2
camelia rakudo-parrot e4e862: OUTPUT«[2, 1]␤»
BenGoldberg n: sub infix:<d> is assoc('list') { "["~@_.join(", ")~"]" }; say [Rd] 1..2 02:35
camelia niecza v24-109-g48a8de3: OUTPUT«[2, 1]␤»
BenGoldberg n: sub infix:<d> is assoc('list') { "["~@_.join(", ")~"]" }; say [Rd] 1..4
camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Excess arguments to ANON, used 2 of 4 positionals␤ at /tmp/4XCcsaB85y line 0 (ANON @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2767 (reduceop @ 12) ␤ at /tmp/4XCcsaB85y line 1 (mainline @ 4) ␤ at /home/p6eval/n…»
BenGoldberg n: srand(42); print 'Ps c,uret neet AJohrkHalr'.comb.pick(*) 02:38
camelia niecza v24-109-g48a8de3: OUTPUT«Just Another Perl Hacker,»
clsn whoa...
BenGoldberg magic! :) 02:39
clsn p: sub infix:<m> is assoc<non> { "<@_.join(', ')>" }; say 7 m 8
camelia rakudo-parrot e4e862: OUTPUT«<7, 8>␤»
clsn That's fine.
p: sub infix:<m> is assoc<non> { "<@_.join(', ')>" }; say 7 m 8 m 9
camelia rakudo-parrot e4e862: OUTPUT«===SORRY!=== Error while compiling /tmp/FIIiv9k_aU␤Operators 'm' and 'm' are non-associative and require parenthesis␤at /tmp/FIIiv9k_aU:1␤------> c<non> { "<@_.join(', ')>" }; say 7 m 8 ⏏m 9␤ expecting an…»
clsn that's also fine.
p: sub infix:<m> is assoc<non> { "<@_.join(', ')>" }; say [m] 1..5
camelia rakudo-parrot e4e862: OUTPUT«<<<<1, 2>, 3>, 4>, 5>␤»
clsn That's weird.
If it's non-associative, how can we reduce over it? 02:40
BenGoldberg Bug?
clsn I'm thinking maybe... I'm just exploring edge cases here.
BenGoldberg m: srand(42); ('a'..'z').pick(*).print 02:41
camelia rakudo-moar e4e862: OUTPUT«wrpmxatygiqsuflonvjedhbzkc»
BenGoldberg Good
p: srand(42); ('a'..'z').pick(*).print
camelia rakudo-parrot e4e862: OUTPUT«ipbxqyuowgzcfmhlvndatjsekr»
rakudo-parrot e4e862: OUTPUT«dqhxmjskpytvigawfbczrleuno»
BenGoldberg Not good. Still not fixed.
clsn srand doesn't srand?
BenGoldberg On parrot, srand only affects rand, not pick 02:42
clsn Ah.
BenGoldberg If I wanted to, I could make a japh like one I did for niecza, above, but for moar. 02:43
But until parrot's srand affects pick, I can't do it for parrot.
clsn Yeah, once you know the sequence you can just work it backwards.
BenGoldberg Exactly 02:44
Here's another bug:
rn: say (1e-14).fmt('%.18f')
camelia niecza v24-109-g48a8de3: OUTPUT«0.000000000000010000␤»
..rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot e4e862, rakudo-moar e4e862: OUTPUT«0.000000000000009984␤»
BenGoldberg That's ok
rn: say (1e-14).fmt('%.19f')
That's not
camelia rakudo-parrot e4e862: OUTPUT«0.0000000000000100352␤»
..rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..niecza v24-109-g48a8de3: OUTPUT«0.0000000000000100000␤»
..rakudo-moar e4e862: OUTPUT«0..92233720368548e+19␤»
BenGoldberg 0.92233 ... 02:45
Err, 0..92233
clsn Yeah, but formatting of floats is a catastrophe in rakudo from what I've seen.
BenGoldberg parrot's output is... well, not perfect, but at least not horribly wrong, considering how many significant bits I'm asking it to output. 02:47
jvm's, iirc, wasn't horrible either. 02:48
clsn p: say pi.fmt('%.20f')
camelia rakudo-parrot e4e862: OUTPUT«3.01.4159265358979e+19␤»
BenGoldberg But that ".." in the formated string, that's just Wrong
clsn That's slightly horrible.
m: say pi.fmt('%.20f')
camelia rakudo-moar e4e862: OUTPUT«3.-1.09223372036855e+2␤»
clsn So is that.
BenGoldberg Yeah, that does suck 02:49
clsn It's always the same string in moar; 92233720368548
Looks like List.pick uses nqp::rand_I and not rand, and I guess that doesn't respect srand.
BenGoldberg You're right, I just noticed that. Betcha there's an off by one error in moar, and it's reading beyond the end of the number. 02:50
clsn I don't know why nqp::rand_I and not rand; maybe there's a good reason.
n: say pi.fmt('%.19f') 02:51
camelia niecza v24-109-g48a8de3: OUTPUT«3.1415926535897900000␤»
japhb__ rand usually has very few actual random bits in many libc's?
BenGoldberg p6: say pi.Rat
camelia rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot e4e862, rakudo-moar e4e862, niecza v24-109-g48a8de3: OUTPUT«3.141593␤»
BenGoldberg nqp::rand returns a num, nqp::rand_I returns an int 02:52
Notice how turning a Num into a Rat throws away so many significant digits? That's pretty suckey ;) 02:53
p6: say pi.Str.Rat
camelia rakudo-parrot e4e862, rakudo-moar e4e862: OUTPUT«3.14159265358979␤»
..rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..niecza v24-109-g48a8de3: OUTPUT«3.141593␤»
02:53 regreg joined
BenGoldberg Converting to Str first improves the situation on rakudo, but not niecza 02:54
02:55 [particle]1 joined 02:57 [particle] left
japhb__ p6: say ~pi.Rat 03:07
camelia rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-parrot e4e862, rakudo-moar e4e862, niecza v24-109-g48a8de3: OUTPUT«3.141593␤»
japhb__ p6: say pi.Rat.perl
camelia rakudo-jvm e4e862: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤» 03:08
..rakudo-parrot e4e862, rakudo-moar e4e862, niecza v24-109-g48a8de3: OUTPUT«<355/113>␤»
japhb__ Well, at least they're consistent
03:08 rurban joined 03:11 jnap left, skids left 03:15 Timbus joined 03:27 skids joined 03:41 rurban left 03:58 thou left 04:01 cbk joined 04:06 [particle] joined 04:09 [particle]1 left
cbk What would be the best way to search a line of strings for \#\w+ ( example: #someWord) and put ALL of the matches into an array? 04:17
I have the following but it only works on the first match... 04:18
if $data ~~ m/ (\#\w+) / { @findings.push($/.Str); say "found: $/"; } say @findings;
04:19 ArmBears joined 04:21 ArmBears_ joined 04:23 [particle]1 joined, [particle] left 04:27 ArmBears left 04:31 [particle] joined 04:33 [particle]1 left 04:38 rurban joined
japhb__ p: my $data = "There are some #hashTags in this #string and I #want_them"; $data ~~ m:g/(\#\w+)/; $/.perl.say 04:52
camelia rakudo-parrot e4e862: OUTPUT«===SORRY!=== Error while compiling /tmp/58YqdqoenO␤Unspace not allowed in regex␤at /tmp/58YqdqoenO:1␤------> ring and I #want_them"; $data ~~ m:g/(\#⏏\w+)/; $/.perl.say␤»
japhb__ p: my $data = "There are some #hashTags in this #string and I #want_them"; $data ~~ m:g/('#'\w+)/; $/.perl.say
camelia rakudo-parrot e4e862: OUTPUT«Match.new(orig => "There are some #hashTags in this #string and I #want_them", from => 47, to => 57, ast => Any, list => (Match.new(orig => "There are some #hashTags in this #string and I #want_them", from => 47, to => 57, ast => Any, list => ().list, ha…»
japhb__ p: my $data = "There are some #hashTags in this #string and I #want_them"; $data ~~ m:g/('#'\w+)/; $/.say 04:53
camelia rakudo-parrot e4e862: OUTPUT«「#want_them」␤ 0 => 「#want_them」␤␤»
japhb__ p: my $data = "There are some #hashTags in this #string and I #want_them"; .say for $data ~~ m:g/('#'\w+)/; 04:54
camelia rakudo-parrot e4e862: OUTPUT«False␤»
04:57 lue left
japhb__ p: my $data = "There are some #hashTags in this #string and I #want_them"; $data ~~ m/[.*? ('#'\w+)]+/; $/.say 04:57
camelia rakudo-parrot e4e862: OUTPUT«「There are some #hashTags in this #string and I #want_them」␤ 0 => 「#hashTags」␤ 0 => 「#string」␤ 0 => 「#want_them」␤␤»
japhb__ There you go. 04:58
cbk: ^^
cbk japhb_, ok so that IS what I was looking for. I was looking into writing a grammar for it... making things harder then they needed to be. 05:02
Thank you very much.
Wish I knew more about perl6 regex and grammars! 05:03
japhb_++ 05:05
or is that still a thing? (the ++)
05:09 lue joined
cbk japhb_, YES this is working real good: if $data ~~ m/[.*? ('#'\w+)]+/ { @findings.push($0); } say @findings.Str; 05:14
japhb_, Thanks again!
05:23 [Sno] left
moritz j: say 42 05:27
camelia rakudo-jvm e4e862: OUTPUT«42␤»
05:30 regreg left 05:39 LingeringSouls joined 05:40 grondilu left 05:58 BenGoldberg left
lue what does WAT stand for? I can't watch the video S99 links to. 06:06
moritz lue: it's short what WHHAAAAAAAAAAAAAAAAAAAAAAT 06:11
lue ah, I thought it might be "Why All This?" or something :)
06:17 dayangkun left
japhb__ cbk, you're quite welcome. :-) 06:18
06:31 dayangkun joined 06:46 rurban left 06:47 [Sno] joined 07:00 berekuk joined 07:01 erkan joined 07:11 berekuk left 07:13 FROGGS_ left 07:25 FROGGS_ joined
masak morning, #perl6 07:31
masak .oO( Why All This Life, Universe, and Everything? ) 07:32
07:35 darutoko joined 07:43 SamuraiJack__ joined 07:47 rurban joined 07:50 daniel-s left
pmichaud morning, masak /o 07:59
er, o/
08:02 zakharyas joined
pmichaud off to bed, here 08:02
08:04 denis_boyun joined 08:07 frettled_ is now known as frettled
frettled masak morning pmichaud, good. 08:08
08:09 berekuk joined 08:13 dmol joined 08:15 SamuraiJack__ left 08:17 raiph joined
jnthn o/ 08:20
08:21 rurban left
jnthn clsn, BenGoldberg: Note that r-m still has failing tests in sprintf.t, which may well relate to the issues you're seeing. Also that it wasn't much more than a month ago when it didn't even run the spectests at all. :) 08:25
FROGGS_ o/
08:36 kaleem joined
timotimo o/ 08:39
jnthn commute & 08:40
Ulti headphones | tee <(commute --in park) > work 08:42
08:43 denis_boyun left 08:52 berekuk left 08:56 rindolf joined 08:57 sqirrel joined 08:58 raiph left 09:07 regreg joined 09:17 rurban joined 09:34 SamuraiJack__ joined 09:46 dayangkun left 09:48 kivutar joined 09:50 rurban left, kst left 10:04 kivutar left
Ulti out of interest what is meant to happen with the ... operator when the interval you pick only fractionally fits the final number in the sequence? 10:08
FROGGS_ it should complain about that I think
Ulti at the moment it just hangs for me rather than complaining or just giving you all the numbers upto before the end 10:09
gist.github.com/MattOates/8860147 an example 10:13
oh if you wait long enough insane numbers come out 10:14
I must really really reall be doing something super dumb
jnthn You have to *match* the end point, not pass it... 10:19
I think you can use * < 100 or so as an end point, though. 10:20
10:25 pecastro joined 10:28 regreg left
moritz probably * >= @list.end 10:32
timotimo the end point is supposed to give true for "this is the end" 10:36
so for an increasing series, you'd want something like * > $foo
why did i even start watching the ken ham / bill nye debate? 10:37
jnthn timotimo: 'cus you miss your headache and want it back? :) 10:39
timotimo that must be it
there's something i find insanely unsettling about mr. ham's claims that we cannot assume that natural laws have been valid in the past, or at least have been the same way they are now 10:40
he demonstrates this in many pieces of his argumentation, like "you can't trust radiometric dating, because you have to assume 1) ... 2) ... 3) that the rate of radioactive decay was the same back then as it is now" 10:41
or "you can't trust the rings of a tree as proper information, because you weren't there when they formed!"
also, i find it incredibly irritating that he claims that "the laws of logic" could only exist because there is some kind of creator 10:44
that's just .... what ?!
moritz that's indeed WTF 10:45
though there is indeed some serious physics/astronomy research that tries to find out if coupling constants have changed in the past 10:46
timotimo interestingly, he says we have to be extra cautious about natural laws being not valid a few thousand years ago, but somehow the translation of the bible is absolutely, completely exact over the same amount of time?
moritz (so far there's no evidence for that)
timotimo it's a good thing that such an experiment has been started
moritz also, xkcd.com/386/ :-) 10:47
timotimo xkcd.com/154/
but somehow it seems to me that no matter how much ground we can take away from people with such extraordinary beliefs (and pitifully few pieces of evidence), they *always* find something they can cling to and convince others with their rethoric capabilities 10:48
Ulti timotimo: its true you can't assume evolution has always been the way it is now though, but really thats more of an argument of making it work faster further back in time :)
10:48 crab2313 joined
timotimo Ulti: this isn't only about evolution ... tree rings forming, bubbles in ice cores from drillings near the poles ... 10:48
Ulti timotimo: what I dont understand is why they care so much... you can just say God invented evolution and from the start of the Earth knew that humans would come out as a product 10:49
timotimo following this line of beliefs leads down an *incredible* rabbit-hole
yes, you *could*, but that's not what's in Genesis
and this person is the CEO of Answers in Genesis
Ulti timotimo: yeah the young earth concept is fairly crazy, but thats what I mean there is nothing saying they have to think that
timotimo well, apparently if you follow the bible literally (litterally? haha), you find not only the 6 24-hour days interpretation of the creation of the universe, but also the life times of all the major characters would line up to give a figure of about 6000 years age of the universe 10:50
Ulti timotimo making Adam out of clay is consistent with Evolutionary theory :) 10:51
10:51 fhelmberger joined
timotimo yeah. "if eve wasn't formed from a rib stolen off of adam, why do men have one fewer rib than women?" 10:52
Ulti there is a nice bit of the Bible that also says that a day for God is like a thousand days for humans too
timotimo: we do
well one fewer than many other male mammals
timotimo that's amusing, but besides the point :) 10:53
anyway, i'll dig into moarvm smallint work now
hoelzro morning Perl6 folk 10:54
masak .oO( the reclusive Perl 6 folk, hiding in caves in the mountains ) 11:02
11:04 SamuraiJack__ left, SamuraiJack__ joined
Ulti I can't see anything about something like 1,4...*<9 in perlcabal.org/syn/S03.html#Range_an..._semantics 11:07
does 1,4...9 do what anyone expects? 11:08
jnthn But ... is about sequences, not ranges
Ulti sure but I can't do :by on a range
and if you want to segment up a list this is nice syntax that's kind of not for you even if you expect it to be
11:26 Ven joined 11:38 FROGGS_ left
Ven Uuuh. The bug that I noticed last time with perl6-debug disappeared. And I didn't even restart the comp ._. (I guess that's good news, though) 11:52
good news is that my program still can't run with perl6-debug. Need a new test case ... 11:53
12:01 denis_boyun joined 12:09 dalek left 12:10 dalek joined, ChanServ sets mode: +v dalek 12:15 sqirrel left 12:22 Adriaaan joined 12:29 zakharyas left 12:31 crab2313 left 12:32 zakharyas joined 12:34 zakharyas left 12:35 zakharyas joined 12:38 stevan_ joined
timotimo got some LHF for someone 12:38
12:39 ArmBears_ left
timotimo the nqp test suite is lacking bigint tests for radix_I and tonum_I 12:39
corecatcher: ^ sounds interesting?
also lacks tests for mod_I 12:40
i just got a full rakudo compile with smallbigint support 12:43
12:43 SamuraiJack__ left, SamuraiJack__ joined 12:44 SamuraiJack__ left, SamuraiJack__ joined
timotimo now i made it through the test suite, but forgot to use the summary script, so i won't see if any bigint related fails are happening m) 12:46
12:46 SamuraiJack__ left, SamuraiJack joined
hoelzro what determines which perl6-? is installed as perl6? 12:51
yakudza hoelzro, #which perl6 maybe ? 12:53
hoelzro yakudza: sorry?
timotimo whichever is the first one in --backend= or whichever is found first (usually jvm) 12:54
hoelzro ahhhh
timotimo but it's just a symlink, so AFAICT you can just redirect that
hoelzro I'm looking at ufo (I'm trying rakudo-star modules with perl6-m and seeing which don't work), and I'm wondering how the case should be handled when the user has multiple backends installed 12:55
(although that's probably very infrequent for regular users)
12:56 skids left 12:57 xinming_ joined
hoelzro so if the backend is parrot, ufo should write a makefile that generates pir files 12:57
hmm
I'm guessing that it should just correspond to the backend that's running 12:58
and if a user wants to explicitly install for a given backend, they can just do perl6-j ufo
timotimo the GSoC project "let rakudo handle precomp" would be helpful here 12:59
hoelzro timotimo: link?
timotimo wiki.enlightenedperl.org/gsoc2014/ideas
13:00 xinming left
hoelzro timotimo: so would that entail a backend-agnostic way of generating precompiled modules from an input? 13:01
ex. perl6 --compile-module Module.pm > Module.pmc
(.pmc is taken though, right?)
jnthn Well, in the end it's just gonna be perl6 --install Foo.pm, once we get the comp unit repo stuff in place? 13:02
timotimo hoelzro: i think so 13:03
with what jnthn said
hoelzro I see
so ufo will go away?
timotimo if rakudo will handle dependencies, as well, yeah 13:05
but setting up a little test runner and stuff would still be neat
13:10 kaare_ left
hoelzro for the time being, though, ufo is the way to go, right? 13:12
jnthn hoelzro: yes
hoelzro ok
now I know what to work on tomorrow =) 13:13
13:13 telex left 13:14 telex joined 13:19 ajr joined, sqirrel joined, FROGGS joined, ajr is now known as Guest89848 13:20 Guest89848 is now known as ajr_, kivutar joined 13:29 kbaker joined 13:32 kurahaupo_mobile joined 13:54 mtk left 13:57 mtk joined
timotimo if someone wants to spent a little bit of time with moarvm, the jnthn_bigint_opt branch causes a few test failures in the rakudo spectest suite: t/spec/S03-operators/arith.t tests 2-3 (the rest fail in master, too); t/spec/S03-operators/numeric-shift.t (only new failures); t/spec/integration/lazy-bentley-generator.t (1 failure on the branch, 0 on master) 13:57
you would have to look at src/math/bigintops.c; especially the bigint_shl and bigint_shr opcodes seem to be pretty terribly wrong when it comes to negative numbers 13:58
14:01 sqirrel left 14:06 mavcunha joined 14:18 SamuraiJack left, SamuraiJack joined 14:22 SamuraiJack left, SamuraiJack joined, Alina-malina left 14:23 kaleem left, prevost joined 14:24 Alina-malina joined 14:29 skids joined 14:32 thou joined 14:34 jnap joined 14:40 fhelmberger left 14:41 treehug88 joined 14:43 sqirrel joined 14:46 johnmilton joined, johnmilton left 14:48 bluescreen10 joined 14:49 denis_boyun left, ggoebel1115 joined 14:53 ggoebel1114 left, stevan_ left 14:56 btyler joined 14:57 tengignick joined 14:59 tengignick left 15:06 benabik joined 15:13 regreg joined 15:28 benabik left
timotimo d'oh 15:33
i started the benchmark run and it immediately failed
i wrote nqp-moar instead of nqp-moarvm
so it didn't even build a single backend :(
masak from the bright side, it ran very quickly :> 15:34
timotimo i ran somewhat quickly, too 15:35
5.3 km/h average
PerlJam 5.3km/h isn't much of a run. More like a fast walk. 15:37
timotimo yes 15:38
it was a walk
i'm not very good at walking slowly, or at a "normal" pace
15:44 sqirrel left
moritz just got the "jQuery Cookbook", and its author is literally "jQuery community Experts". 15:49
moritz likes that 15:50
15:54 Woodi___2 joined, Woodi___2 left 15:58 Woodi joined 15:59 Psyche^_ joined 16:02 Psyche^ left 16:08 mtk left
timotimo hm, surprisingly little activity in perl6land today 16:10
seems like i'll have to look into these test failures myself later :\ 16:11
jnthn timotimo: Well, I'm doing $dayjob bits today :)
16:14 mavcunha left 16:18 SamuraiJack left 16:19 denis_boyun joined 16:21 mtk joined 16:24 [Sno] left 16:41 fhelmberger joined 16:45 fhelmberger left 16:46 zakharyas left 16:53 smls joined
masak sorry, I've been stealing jnthn today ;) 16:55
smls jnthn: "in the end it's just gonna be perl6 --install Foo.pm" ... Are you sure it's wise to tie module distribution/installation so closely to the language implementation? 16:56
Doesn't experience with other languages suggest that packaging/distribution/installation tools will want (need?) to evolve even long after the language is stable? 16:57
timotimo you have? 16:58
TimToady smls: that's just a SMODI 16:59
smls A what? 17:00
nwc10 bad masak, no curry
TimToady or a SMOIOC 17:01
which I guess is a SMOCLONE
timotimo small matter of dependency injection? 17:02
and inversion of control for the second one?
jnthn iirc the design is such you can change what --install means 17:04
smls ah 17:06
TimToady jnthn: but who is "you" there? 17:07
some days it's much easier for me to play the part of a confused person... 17:10
this would be one of those days
colomon is not playing a part far too often...
17:11 pecastro left, prevost left
jnthn TimToady: "somebody other than Rakudo compiler devs" :) 17:14
smls For what it's worth, I think Python has arrived at a pretty good set of distribution/installation tools (pip, virtualenv, ...). 17:17
But that wasn't always the case; it evolved separately from the language and asserted itself against competing solutions "in the market", so to speak.
btyler althougn not without some growing pains (easy_install, etc)
*although
smls The point is, some of the use-cases covered by the moden tools were probably not even anticipated by the original creators of Python. 17:18
17:18 ajr_ left
geekosaur what is this "-s" 17:18
17:19 ajr joined, ajr is now known as Guest28458, Guest28458 is now known as ajr_ 17:25 denis_boyun left
timotimo i would really love to see rakudo come with a nice virtualenv-like solution 17:29
17:35 ajr_ left 17:39 alester joined
raydiak morning 17:47
17:49 molaf joined 17:52 [Sno] joined
timotimo benchmarking rakudo-jvm takes sooooo looooooong >_< 17:55
actually, i think after that i still have set it up to benchmark nqp-{moarvm,parrot,jvm} 17:56
raydiak I have tried for a couple days to answer this question on my own, but I feel like I'm just wasting time spinning my wheels: is there any way to control how my class behaves in list/item/sink context? specifically I want a subclass of Array to not flatten 18:10
moritz raydiak: well, sink context simply calls method sink 18:11
controlling flattening isn't that easy, I fear 18:12
I'll think about it a bit; dinner first&
timotimo aye, that indeed seems like a problematic spot
raydiak moritz: thanks, I'll add that to my notes; I guess my question assumed the answer would be the same for any context...list is the one I have problems with
timotimo would "is Positional" be a big contributor to that?
18:13 rurban joined
timotimo i seem to recall at least one piece of code checking for istype Positional before flattening 18:13
raydiak cannot figure out what positional even does...the content of core/Positional.pm is not helpful
of course I mean "does" from an internals standpoint...I understand what the specs say about it 18:14
List and Array have methods and private attributes for flat and flattens and such, but overriding them in my class seems to have no effect
and reading the comments, it looks like $!flattens has more to do with whether it flattens it's contents, not whether it itself flattens 18:15
18:16 telex left, ajr joined 18:17 ajr is now known as Guest9937
timotimo well, accessing a private variable will never cross class boundaries 18:17
18:17 Guest9937 is now known as ajr_
timotimo if you access $!flattens in a subclass, you'll get an error, if you define $!flattens in your subclass, it'll be a separate attribute 18:17
you can nqp::bindattr(self, ParentClass, '$!flattens', 1) and see if that helps any 18:18
but that's rakudo-specific unfortunately
raydiak erm...duh; thank you...guess I'm losing track of the "little" stuff in the hunt for my big white whale :P 18:19
timotimo ;)
ajr_ apropos this morning's discussion of distribution tools, I have a little script for downloading & installing rakudo*
timotimo er, hold on
ajr_ If anyone wants it, they're welcome to it.
timotimo i seem to remember a discussion very recently about calling private methods in your parent (or child) class
i think it didn't work for attributes, though 18:20
raydiak yeah, using trusts
timotimo i thought it would work without trusts
raydiak oh that'd be neat
timotimo ah, no, that's only for if you're in the same class, but try to access a private method of a different instance of your same class
i think you're right
i think i ought to organise some dinner and maybe do some $dayjob afterwards 18:21
still benchmarking rakudo-jvm >_>
FROGGS I am done with $dayjob \o/
raydiak but again, I don't think $!flattens actually does what I want anyway, if I'm reading correctly 18:22
timotimo may be, aye
raydiak thank you for the advice timotimo, enjoy dinner :)
timotimo you can inspect instances with .DUMP, btw
it should display the value of flattens and other private attributes clearly
it's not too late to go to the less distant grocery store \o/ 18:23
i'ma gettin' me some cukes, aaaaaw yiss!
raydiak cool, I'll try DUMP while I'm poking around at things
nwc10 FROGGS: is qx{} the only pipe related thing that Panda needs? Or does it use others, but only for rare things?
18:26 SamuraiJack joined 18:31 SamuraiJack left 18:38 smls left
raydiak r: class Foo is Array { method mkfoo(|a) { my $self = self.new(|a); nqp::bindattr($self, List, '$!flattens', False); return $self; } }; my @foo = (^3).map: {Foo.mkfoo($_,$_)}; say @foo.perl; 18:40
camelia rakudo-moar e4e862: OUTPUT«P6opaque: no such attribute '$!flattens'␤ in method mkfoo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot e4e862: OUTPUT«Can not bind attribute '$!flattens' declared in class 'List' with this object␤ in method mkfoo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm e4e862: OUTPUT«java.lang.RuntimeException: No such attribute '$!flattens' for this object␤ in method mkfoo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
18:41 zakharyas joined
raydiak what am I doing wrong? 18:41
18:47 araujo joined
timotimo does Array derive from List? 18:53
p: say Array.mro;
camelia rakudo-parrot e4e862: OUTPUT«No such method 'mro' for invocant of type 'Array'␤ in block at /tmp/leSYYYnZaK:1␤␤»
timotimo p: say Array.^mro;
camelia rakudo-parrot e4e862: OUTPUT«(Array) (List) (Iterable) (Cool) (Any) (Mu)␤»
timotimo ah, indeed.
huh.
raydiak I can at least feel good that I didn't waste all this time on an easy problem :) sometimes I get in these jams and when I finally ask, someone has the answer in 5 seconds 18:56
timotimo i know that feel 18:57
i also often feel bad for nagging other perl6ers with my problems ;)
TimToady trying to make a non-flattening array type by derivation from Array just feels all wrong to me 18:58
arrays naturally are itemized by the itemizing process of putting them in a $ container
18:59 nsh joined
TimToady that's a user decision, not the class decision 18:59
18:59 nsh left, nsh joined
TimToady at best, you could do a has instead, possibly delegation to an Array 18:59
19:00 grondilu joined
raydiak when I put it in a $, that works fine...just not when I do @ary.push: DontFlattenMe.new() 19:00
grondilu std: say { { $a ~ $^b }($^a) }("foo");
camelia std 09dda5b: OUTPUT«===SORRY!===␤Variable $a is not predeclared at /tmp/E6fDSa03vD line 1:␤------> say { { ⏏$a ~ $^b }($^a) }("foo");␤Check failed␤FAILED 00:01 126m␤»
TimToady functions and methods (such as new()) return parcels, which are officially uncommitted 19:01
grondilu std: say { .($^a) given { $a ~ $^b } }("foo"); 19:02
camelia std 09dda5b: OUTPUT«ok 00:01 126m␤»
grondilu rn: say { .($^a) given { $a ~ $^b } }("foo");
TimToady you could have the constructor itemize self, but then it'd probably leak out other places
raydiak wait, what if I just tack '.item' on to the return from the constructor...or all the methods?
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862, niecza v24-109-g48a8de3: OUTPUT«foofoo␤»
raydiak right
TimToady well, it's not "self" to the constructor, but what bless returns 19:03
skids r: say uint111.^mro # on non-ICU star this gives "no ICU lib loaded" for any bogus uint size, but not for int.
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ uint111 used at line 1␤␤»
TimToady that'd be more or less what [...] returns
of course, you could also just return an ordinary array, put .item on where it's called, and then it's documented to the user :) 19:05
raydiak this is true :)
TimToady or define a .push-items
which just push with a ** instead of a * 19:06
or, if lol were implemented, push lol ...
raydiak I know we already had this discussion, but is there something more appropriate than Array, which does not flatten? 19:07
TimToady what do you want it for?
raydiak vectors and matrices
japhb's Math::ThreeD proposal...I've put a lot of work in on it 19:08
TimToady when *do* you want to trate them as plural rather than singular? 19:09
*treat
raydiak probably no time, except when they do a zen slice explicitly or something 19:10
TimToady there are lots of objects that are mostly singular on the outside, and plural on the inside
we don't generally try to force them into the Array mold
19:11 darutoko left
raydiak it also needs to be fast and use native types when they are more fully working 19:11
TimToady these guys sound like items that happen to have shaped arrays on the inside, but it's a has-a relationship, not an is-a relationship
sure, I have no problem with speed :)
the compiler is supposed to be smart about native attributes 19:12
timotimo .o( he doesn't have a problem with drugs^Wspeed, he just doesn't get them^Wit )
raydiak :)
TimToady I think this will all become much clearer when we actually have shaped arrays 19:14
timotimo i'm looking forward to that. and native/packed arrays
TimToady anyone wanna implement S09 this weekend? :D
raydiak that'd be great...right now the matrices are just implemented as a single array with overloaded subscripting to make it "look" 2D 19:15
PerlJam I sometimes wonder how hard it would be to wire the C bits of PDL to rakudo
timotimo i wonder if we could do better than that :P
TimToady raydiak: well, that's basically all APLish languages ever do :)
timotimo (though all i know about PDL is that it's basically the NumPy equivalent in Perl land)
PerlJam timotimo: you mean NumPy is the PDL equivalent in python-land :) 19:16
raydiak TimToady: thanks; I feel less like it's an ugly hack, then
timotimo PerlJam: whatever :) 19:17
TimToady typical data in, say, J, is a number of dimensions, followed by the sizes of each dimension, followed by a flat list of all the values
timotimo i'm up to nqp-jvm now \o/ 19:18
TimToady so a map over such a shaped array doesn't even have to consider the dimensionality, it just skips dimensional info and maps the flat part 19:19
raydiak hmmm...that sort of structure might be good to put reusably in a separate module from this math stuff I'm working on
TimToady it is a view that is very antithetical to laziness, but we've already said that shaped arrays are probably not lazy at all
it might be what we actually want under shaped arrays most of the time 19:20
timotimo i'm expecting the underlying data structure to look kind of like that
numpy has a concept of "strides"
which i believe will allow you to map any data ordering (C style or Pascal style, for example) without much extra code 19:21
TimToady yes, well, that's a way to optimize a dim map into a C-ish pointer-increment notion
timotimo you seem to already know more about it than i do :D 19:22
so i'll shut up and start cooking
TimToady when you think about it, the strides are just really cumulative dimensions small than this one
raydiak save me a piece of cucumber :)
timotimo cucumber is for breakfast tomorrow :)
raydiak well fine then...I seem to end up here every day lately anyway 19:23
TimToady shaped arrays with extensible dimensions will, of course, need different treatment
we can still do the full arrays of arrays thing internally at need, with loss of efficiency 19:24
but the *semantics* of shaped arrays stay the same
such as it being the natural leaf mapping for hypers
TimToady is writing like his fever is going back up...which it probably is...
raydiak idk how fast it'd be, but you could do the same mapping over a variable-length list, and splice things in/out...would just have to keep track of where the dimension breaks are as they move 19:25
TimToady sounds much slower than an appropriate AoA structure internally 19:26
would probably save memory though
but that approach doesn't allow for ragged dimensions either
raydiak it'd get messy, that's for sure 19:27
what are arrays, internally? linked lists? lookup tables? or I suppose that's up to the specific backend...???... 19:28
skids I always wonders if DFAs for translating indices to scattered pointer/addresses could be compiled with JIT-like speed and reliable performance bounds.
Where it matters of course is when you pass that array to a library with a continuous memory model for arrays. 19:29
(last sentence IRT raydiak) 19:30
raydiak oh, right...I always forget that we have all these FFI/nativecall considerations 19:31
skids Well, it also matters if you're compiler/JIT is mature enough to tackle SIMD instructions. 19:32
moritz I'm pretty sure the parrot backend implements arrays as a continuous chunk of memory
but if you don't use a natively typed array, the elements in there are containers, which means pointers 19:33
raydiak got it
TimToady pointers are just native containers :) 19:35
19:35 jnap left
TimToady well, C native, not JVM native :) 19:35
PerlJam Is there a way to get a space in a character class? I thought <[ ' ' A..Z ]> might work, but it appears not. Do I have to use a different representation like hex or something? 19:38
moritz \ maybe?
r: say ' ' ~~ /<[\ ]>/
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«「 」␤␤»
PerlJam doh! Overlooked the obvious again 19:39
thanks moritz++
raydiak note to self: '\ ' is not an unspace in a regex
raydiak goes to splatter '.item' all over the Math::ThreeD branch of Pray 19:42
timotimo test 19:43
FROGGS ok 1 -
moritz plan 1..1;
FROGGS s/;//
:P
19:45 Sqirrel joined, kst joined
dalek kudo/wip-openpipe: 90b3d61 | jnthn++ | tools/build/create-jvm-runner.pl:
Fix JVM runner install on Win32.
19:47
kudo/wip-openpipe: 2ce599a | raydiak++ | docs/architecture.html:
Fix typo
kudo/wip-openpipe: e4e8625 | moritz++ | docs/architecture.html:
Merge pull request #251 from raydiak/nom

Just a trivial typo fix
kudo/wip-openpipe: cdb7dfa | (Tobias Leich)++ | / (2 files):
Merge branch 'nom' of github.com:rakudo/rakudo into wip-openpipe
19:49 jnap joined 19:51 nsh_ joined 19:52 nsh_ left
timotimo wat. 19:53
i thought my connection w
yeah. it was.
./bench time rakudo-moar/e4e8625 rakudo-parrot/e4e8625 rakudo-jvm/e4e8625 20070,57s user 499,63s system 155% cpu 3:40:35,32 total
>_<
19:53 nsh left 19:55 nsh_ joined 19:56 nsh_ left, nsh_ joined 19:57 colomon left, nsh_ left
FROGGS video.fosdem.org/2014/K3201/Saturday/ 20:03
20:04 xenoterracide_ left
dalek Heuristic branch merge: pushed 465 commits to rakudo/eleven by FROGGS 20:08
20:08 nsh_ joined, nsh_ left, nsh_ joined
dalek nda/eleven: 41a73f3 | tadzik++ | / (2 files):
Merge pull request #60 from FROGGS/master

use $*EXECUTABLE_NAME instead of hard-coded 'perl6'
20:09
20:09 dalek left, nsh_ left
FROGGS sorry dalek 20:09
20:10 nsh_ joined, dalek joined, ChanServ sets mode: +v dalek 20:13 grep0r joined
vendethiel hahahaha 20:13
20:14 xenoterracide joined
dalek kudo/eleven: 1e9716d | (Tobias Leich)++ | tools/build/Makefile- (2 files):
build CompUnitRepo on moarv/jvm too
20:16
20:17 regreg left
dalek nda/eleven: 2085f7b | (Tobias Leich)++ | lib/Panda/Fetcher.pm:
moar does not like to take a substr OOB
20:24
20:24 rjbs joined
rjbs Whoops, I never came back after freenode's ddos! 20:25
Anyway, I just wanted to note that there's a .cool TLD now, and perl6.cool is probably available...
dalek nda/eleven: f1b0035 | (Tobias Leich)++ | lib/Panda/Common.pm:
fix spello
20:26
timotimo rjbs: that's not bad! 20:29
rjbs: is it prohibitively expensive?
rjbs I'm afraid I don't know any .cool registrars offhand.
moritz knows a registrar that will try to sign up for any TLD 20:30
timotimo www.donuts.co/tlds/ - these people have .cool
dalek nda/eleven: 659b62b | (Tobias Leich)++ | lib/Panda/ (2 files):
add comptarget(), and also moarvm fileext/target
rjbs Oops, a few weeks left.
Well, now you've got the info to get in line!
timotimo it seems like the "sunrise" thing is an auction kind of deal
i'd hazard a guess that if we go to the auction and say "we want perl6" someone's going "hey! someone wants perl6! i should get it for as expensive as they are willing to pay, add a bunch more and then offer them an even worse price for it!" 20:31
20:32 zakharyas left 20:33 treehug88 left 20:36 treehug88 joined 20:38 xenoterracide left
FROGGS funny, panda fails on moar like it did once or twice on parrot 20:40
20:41 SamuraiJack joined
moritz "spectacularly"? 20:45
FROGGS no
it does not compile to mbc when invoked via bootstrap.pl
but it does when I do the steps manually
shell() return non-zero in the failing case 20:46
but I don't know why yet
20:49 nsh_ left, nsh_ joined, nsh_ is now known as nsh 20:50 xenoterracide joined 20:56 colomon joined, Timbus left 20:58 Timbus joined, xinming_ left 20:59 virtualsue joined 21:01 stevan_ joined, rindolf left, jnap left 21:02 Timbus left
itz grrr many (most?) of the FOSDEM videos are unwatchable 21:06
btyler itz: for jnthn's the sound sorts itself out after 5 minutes or so 21:07
timotimo yup
after half an hour, there's some buzzing again
btyler also: jnthn - awesome FOSDEM presentation. a small request to repeat audience questions into the mic in the future :) 21:08
21:09 Timbus joined
itz I was at jnthn's talk and it was excellent and shall watch again 21:09
21:11 beastd joined
grondilu rn: say { .($^a) given { $a ~ $^b } }("foo"); 21:11
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862, niecza v24-109-g48a8de3: OUTPUT«foofoo␤»
21:11 regreg joined
grondilu oops, bad history call 21:12
timotimo ... huh?
i don't understand that. 21:13
grondilu I pressed "upper-arrow + return" in the wrong screen window :/
sorry 21:14
timotimo i mean i don't understand why it doesn't complain about improper number of arguments
i mean
oh
given actually sets the $_ to a block
grondilu yeah that's related to something I wanted to try for runge-kutta on RC 21:15
it won't work, though
timotimo mh
21:16 regreg left, treehug88 left
grondilu because apparently I can't put self-declared parameters at a non-first place 21:17
timotimo huh?
grondilu std: say { $a + $^a }
camelia std 09dda5b: OUTPUT«===SORRY!===␤Variable $a is not predeclared at /tmp/wg6uDlfNl9 line 1:␤------> say { ⏏$a + $^a }␤Check failed␤FAILED 00:01 125m␤»
timotimo well, there you just don't have a $a
$^a will not cause a $a to plop into existence 21:18
21:18 treehug88 joined
timotimo but you can write $^a as many times as you like 21:18
grondilu std: say { $^a + $a }
camelia std 09dda5b: OUTPUT«ok 00:01 125m␤»
timotimo er ... huh?
that doesn't seem sensible to me.
grondilu you don't have to use $^ several times. Only once is required 21:19
timotimo i don't like that :(
grondilu well, it saves some characters
timotimo at other times, the twigil doesn't change so readily
jercos well there's the whole $.a/$!a thing... 21:20
timotimo yes, but that's not just "removing a twigil"
grondilu the ^ is for declaring. You usually declare things only once, don't you? 21:21
lue grondilu: where does it say that $^a is only needed once?
timotimo those are implicitly declared, though
lue note that say { $a + $^a } will never work, because one-pass parsing I believe.
grondilu lue: I don't know where it is specced, but that's how it currently works 21:22
TimToady needing to repeat a parameter is a very good sign that it's time to declare a formal sig
timotimo hmm.
lue r: say {$^a + $a}(3)
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«6␤»
lue ew
r: my $a = 5; say {$^a + $a}(3) 21:23
grondilu I could have used pointy block, but calling them requires parenthesis
21:23 virtualsue left
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«6␤» 21:23
jercos r: say {[+] $^a x 2}(3)
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«33␤»
jercos erm
r: say {[+] $^a xx 2}(3)
lue r: my $b = 5; say {$^a + $b}(3)
grondilu r: say (-> $a { $a + $a })(2)
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«6␤»
rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«8␤»
rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«4␤»
grondilu ??
lue r: my $b = 5; say {$^a + $b}(3)
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«8␤»
jercos or, y'know... 21:24
r: my $a = 5; say {$_ + $a}(3)
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«8␤»
jercos but that would be too easy >.>
lue TimToady: I really don't like how $^a clobbers outside $a vars.
grondilu jercos: that would not have worked with what I had in mind of runge-kutta
jercos lue: clobbers? 21:25
lue r: my $a = 5; say {$^a + $a}(3); say {$^b + $a}(3);
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«6␤8␤»
jercos ^
timotimo agreed.
jercos Looks clobberless to me...
timotimo it ... does? 21:26
jercos Ideantical to -> $a {}
lue if $^a were spelled my $a then I'd be fine, but that's a nasty side effect for a twigil
$^a should always need to be spelled $^a, in my opinion.
jercos In my mind for it to "clobber", the second example there would have to return 6.
timotimo i agree with lue, fwiw
lue jercos: it does clobber what the name "$a" refers to 21:27
jercos But only within the scope of that block.
grondilu that's fine, imho
timotimo there's a certain amount of WAT to that
jercos I mean, I can see what you're saying, but the term "clobber" doesn't seem like it applies here.
timotimo especially if perl6 doesn't warn if you repeat the $^a form
lue jercos: previous meaning replaced with new one unintentionally. Sounds like clobbering to me. 21:28
21:28 jnap joined
lue to me the ^ twigil means "implicit parameter", not "implicit declaration of parameter" 21:28
TimToady if it hurts, DON'T DO THAT! 21:29
timotimo i'm 100% with lue so far
lue don't imitate no strict when I didn't ask for it :)
timotimo TimToady: i think finding the cause of the hurt if you didn't run after every single line you've added to your program can be frustrating
TimToady don't use ^ parameters where they don't make complete sense, that's not what they're for 21:30
timotimo oh well.
vendethiel agreed with lue 21:31
to me, it seems $^ and $ and two different variables
lue r: say {$:foo + $foo}(:foo(5)) 21:32
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«10␤»
lue at least rakudo's consistent
n: say {$:foo + $foo}(:foo(5))
camelia niecza v24-109-g48a8de3: OUTPUT«10␤»
TimToady look, both : and ^ say "autogen me a signature 21:33
they have to be smart about the signature in question
std: sub foo() { $^a }
camelia std 09dda5b: OUTPUT«===SORRY!===␤Placeholder variable $^a cannot override existing signature () at /tmp/U9fdb6USi1 line 1:␤------> sub foo() { ⏏$^a }␤Check failed␤FAILED 00:01 125m␤»
vendethiel and that could be called $^a, simply 21:34
TimToady the "upness" of ^ is to hoist $a into the sig
lue fwiw I could see why you'd want the current behavior, though I'm not a fan of the twigil not being a distinct type of variable (same reason for the lesser degree to which I dislike $.foo)
TimToady std: sub foo($^a) { ... }
camelia std 09dda5b: OUTPUT«===SORRY!===␤You may not use the ^ twigil in a signature at /tmp/SIF1jh66XD line 1:␤------> sub foo($⏏^a) { ... }␤ expecting twigil␤Parse failed␤FAILED 00:01 123m␤»
TimToady not that simple
vendethiel TimToady: user restrictions doesn't impose compiler restrictions 21:35
timotimo jnthn: i enjoyed your talk a whole lot :)
aside from the buzzing, but that's not your fault 21:36
lue TimToady: my only objection to it is that I wouldn't expect {$^a} to have the same effects as sub foo($a){}; I expect $^a to always have to be referenced as $^a
TimToady well, it's a WAT either way you do that, so I have little sympathy here 21:37
there's lot's of other WATs as soon as you start abusing placeholders too
they are in there specifically for a + b kinds of stuff 21:38
they are not meant to be a general replacement for siggies
grondilu I whish there was a version of the pointy block where the arrow is inside the block. 21:39
something like: { -> $a, $b: $a + $b } 21:40
PerlJam grondilu: why?
TimToady Ruby envy?
grondilu because then it could be called without parenthesis
TimToady I think you work to hard sometimes to avoid parens :)
*too
lue TimToady: agree with you on the WAT business, I just like my twigils to be a distinct kind of variable :) [$foo != $!foo != $~foo ...]
grondilu :) yeah, maybe
TimToady as long as I'm in a complete bitchy mood, I also don't like when you put whitespace on one side of infix:<*> and not the other 21:42
vendethiel m: my @a = (); say $a.perl;
camelia rakudo-moar e4e862: OUTPUT«===SORRY!=== Error while compiling /tmp/p33aGhvHau␤Variable '$a' is not declared. Did you mean '@a'?␤at /tmp/p33aGhvHau:1␤------> my @a = (); say $a.perl⏏;␤ expecting any of:␤ method arguments␤»
TimToady lessee, anything else I can complain about...
vendethiel If that doesn't work, I don't think $^a should work for $a
lue vendethiel: this isn't P5 :)
vendethiel lue: of course it isn't ! But it's all about consistency 21:43
skids
.oO(mmmm. hobgoblins.)
lue sigils refer to a type of container, the twigils refer to other details about the variable.
PerlJam skids++ my thoughts too
lue I don't agree entirely with how <[.^:]> operate, though I can live with it :) 21:44
TimToady twigils usually mean "strange scoping"
vendethiel lue: definitely. It doesn't mean we can have a bit of consistency between var prefixes
TimToady note that $*ENV might end up finding PROCESS::ENV, where'd your * go? 21:45
skids thinks that the use of ^ (hat) is an adequate reminder that some masquerading is about to occur.
lue TimToady: obviously we need to invent package twigils: PROCESS:*:ENV , OUTER:~:RREGEX :P 21:46
TimToady there's no consistency to achieve here, and $^a meaning $a in the sig is a very simple rule
21:46 berekuk joined
TimToady std: my $a; { $a + $^a } 21:47
camelia std 09dda5b: OUTPUT«===SORRY!===␤$a has already been used as a non-placeholder in the surrounding block,␤ so you will confuse the reader if you suddenly declare $^a here at /tmp/pEH0v23tZh line 1:␤------> my $a; { $a + ⏏$^a }␤Check fai…»
vendethiel now that's nice 21:48
TimToady it's a general thing
std: my $a; { $a + 42; my $a = 43 }
timotimo that sounds like an LHF to port to rakudo
camelia std 09dda5b: OUTPUT«===SORRY!===␤Lexical symbol '$a' is already bound to an outer symbol (see line 1);␤ the implicit outer binding at line 1 must be rewritten as OUTER::<$a>␤ before you can unambiguously declare a new '$a' in this scope at /tmp/r1onRgAtlS l…»
lue rakudo needs to do that :)
21:49 kurahaupo_mobile left
lue std: my $a; { $^a + $a } 21:49
camelia std 09dda5b: OUTPUT«ok 00:01 126m␤»
TimToady yes, we treat it as declaration, so all the other declarational mechanism works
including "Oh, you changed the meaning of $a from earlier in this block" 21:50
we don't allow much in the way of retroactive declaration
only for things that can be parsed as listop functions
21:51 stevan_ left
TimToady because mutual recursion is pertty darn useful, but we do it be reserving a syntax at the front, not by retroactively changing anything 21:51
lue
.oO(use retcons;)
21:52
TimToady ss/do it be/do it by/ 21:53
clsn I could have sworn I saw something in the spec that said that you had to use ^ on all instances of the parameter, not just the first. Can't find it now. 21:54
TimToady if anything, it says the opposite, or it says "You *may* use ^ on all instances" 21:55
dalek nda/moar-support: 359402d | (Tobias Leich)++ | lib/Panda/Fetcher.pm:
moar does not like to take a substr OOB
nda/moar-support: 3c47a06 | (Tobias Leich)++ | lib/Panda/Common.pm:
fix spello
nda/moar-support: 1c97f0c | (Tobias Leich)++ | lib/Panda/ (2 files):
add comptarget(), and also moarvm fileext/target
TimToady S06:Placeholder_variables is the section 21:56
S06:2006 is the specific paragraph 21:57
synopsebot Link: perlcabal.org/syn/S06.html#line_2006
TimToady ah, it even gives a justification for leaving out the ^ in the real variable
TimToady forgets that he was sane once 21:58
21:58 SamuraiJack left
timotimo oh! 21:58
that justification *is* sane, definitely
PerlJam catches an odd bit he'd never noticed before
std: { $^A + 5 } 21:59
camelia std 09dda5b: OUTPUT«===SORRY!===␤Unsupported use of $^A variable; in Perl 6 please use Form module at /tmp/8BTRtB7lCa line 1:␤------> { $^A ⏏+ 5 }␤Parse failed␤FAILED 00:01 123m␤»
TimToady And Because I Said So!!! :)
PerlJam std: { $^X + 5 }
camelia std 09dda5b: OUTPUT«===SORRY!===␤Unsupported use of $^X variable; in Perl 6 please use $*EXECUTABLE_NAME at /tmp/Rh6dkKIX68 line 1:␤------> { $^X ⏏+ 5 }␤Parse failed␤FAILED 00:01 123m␤»
PerlJam nice
r: { $^A + 5 }
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unsupported use of $^A variable; in Perl 6 please use Form module␤at /tmp/tmpfile:1␤------> { $^A⏏ + 5 }␤»
lue timotimo: ^^^ another case for no P5 warnings :) 22:01
timotimo that's not a warning, though 22:02
PerlJam lue: I conclude exactly the opposite.
timotimo should it *allow* that as a variable if you no warnings :p5?
TimToady it's not something people run into often enough to worry about, I suspect 22:03
most people naturally use lowercase placeholders by preference
plus there's always the workaround of using a real sig, or using more than one char 22:04
22:05 skids left
TimToady I do expect a lot of Perl 5 programmers to come over eventually, and confuse themselves 22:05
22:05 Rotwang joined
timotimo i'm thinking no warnings :perl5 should only remove warnings, no errors 22:06
TimToady r: ./viv -e 'say "$0 foo bar"'
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Bogus statement␤at /tmp/tmpfile:1␤------> .⏏/viv -e 'say "$0 foo bar"'␤ expecting any of:␤ dotty method or p…»
TimToady r: say "$0 foo bar" 22:07
PerlJam I'm thinking we can wait until Perl 6.2 or so before we have to worry about "no warnings :perl5" :-)
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT« foo bar␤»
TimToady r: print "$0 foo bar\n"
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT« foo bar␤»
TimToady no undefined warning?
that would be a good one to catch, if we could 22:08
lue std: say "$0 bar"
camelia std 09dda5b: OUTPUT«ok 00:01 123m␤»
lue r: say $0.WHAT;
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«Nil␤»
TimToady r: say $/.WHAT
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«Nil␤»
lue PerlJam: What I meant was that it's another thing to put in the "I don't know P5, don't act like I do" command I want :) 22:09
22:09 bluescreen10 left
TimToady r: $/ := Match; say "$0 foo" 22:09
lue (Though I suppose one possible implementation of such a command could be Perl 6.1 ...) 22:10
camelia rakudo-moar e4e862: OUTPUT«Invocant requires an instance, but a type object was passed␤ in method at_pos at src/gen/m-CORE.setting:6679␤ in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2361␤ in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2325␤ in block at /tm…»
..rakudo-jvm e4e862: OUTPUT«Cannot look up attributes in a type object␤ in method at_pos at gen/jvm/CORE.setting:6681␤ in sub postcircumfix:<[ ]> at gen/jvm/CORE.setting:2361␤ in sub postcircumfix:<[ ]> at gen/jvm/CORE.setting:2325␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot e4e862: OUTPUT«Invocant requires an instance, but a type object was passed␤ in method at_pos at gen/parrot/CORE.setting:6683␤ in sub postcircumfix:<[ ]> at gen/parrot/CORE.setting:2365␤ in sub postcircumfix:<[ ]> at gen/parrot/CORE.setting:2329␤ in block a…»
22:10 itz__ joined, itz left 22:11 itz_ left
timotimo i've got a maybe LHF; in perl6-bench, fix nqp/richards so that it works on moarvm; there's some native int/list/object/whatever confusion going on 22:12
might have to replace all list_i with list or something? 22:13
22:13 itz joined
TimToady --> Dr to hopefully cure his grumpiness 22:20
FROGGS :/
PerlJam There's a cure for grumpiness?!?
TimToady depends on the cause :)
& 22:21
PerlJam TimToady: good luck!
22:27 benabik joined
timotimo hm, maybe i ought to take up the weekly perl6 changes blog 22:29
ashleyde1 timotimo++ 22:30
22:30 ashleyde1 is now known as ashleydev, FROGGS left, btyler left
vendethiel timotimo++ 22:31
timotimo well, i guess that's settled then :P 22:32
vendethiel as a perl (6) beginner, that seems to be a very valuable resource
timotimo i already have a blog that i could post to ... hmm ... 22:35
hm. should i start from where GlitchMr left off or from now? 22:41
lue timotimo: depends on when GlitchMr stopped :) 22:42
vendethiel long ago, IIRC
well, I guess it depends what you call long, actually ... 2011 or 2012 I'd say, from what I remember I've seen 22:43
timotimo er, no
he stopped at the end of last year, iirc
vendethiel oh, really ? my bad. I must confuse it with something else, then. 22:44
timotimo mayhaps
22:48 benabik left 22:49 kbaker left
vendethiel okay, just read about `sub (Mu:D) {}`, that's cool ":D". But sometimes, there's also a closing `:` 22:49
timotimo the closing : means "the thing on the left is the invocant" 22:50
you can use that to make type constraints on the self
like "only call this if the self is not a type object"
or "only call this if self.foobar equals 42"
22:50 benabik joined
vendethiel oh, that's the same `:` as in ($self:) ? 22:51
timotimo yes
vendethiel fair enough. timotimo++
perigrin hasn't seen a single Perl6 submission for YAPC::NA 22:53
perigrin stares at the space that should be occupied by diakopter
22:56 kaare_ joined 23:00 ashleydev left
timotimo i don't know how to work this jekyll thing :\ 23:01
this doesn't work at all. 23:07
23:17 BenGoldberg joined 23:22 treehug88 left
Util submits my Perl (5|6) talk from Perl Oasis for YAPC::NA, for perigrin. 23:26
s/my/his/
perigrin thank you! 23:29
timotimo p6weekly.wordpress.com/ ← this is where my work will live 23:30
i may want to build some tooling to get at the information more easily 23:31
dalek kudo-star-daily: 9d76a1a | coke++ | log/ (5 files):
today (automated commit)
rl6-roast-data: ae559b0 | coke++ | / (2 files):
today (automated commit)
23:32
23:33 Rotwang left 23:34 skids joined, dmol left
BenGoldberg p6: (~pi).Rat.say 23:37
camelia rakudo-jvm e4e862: OUTPUT«3.141592653589793␤»
..rakudo-parrot e4e862, rakudo-moar e4e862: OUTPUT«3.14159265358979␤»
..niecza v24-109-g48a8de3: OUTPUT«3.141593␤»
timotimo r: say 3.141592653589793 - 3.14159265358979 23:39
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«0.000000000000003␤»
timotimo r: say ~3.141592653589793 ~- ~3.14159265358979
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«3.141592653589793-3.14159265358979␤»
timotimo er ... right
r: say ~3.141592653589793 ~& ~3.14159265358979
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«3.14159265358979␤»
timotimo er ... that's not helpful either %) 23:40
r: .ords.join(",").say given ~3.141592653589793 ~^ ~3.14159265358979
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51␤»
timotimo there's probably better ways to do this m)
BenGoldberg r: (3.141592653589793 - 3.14159265358979).fmt("%f").say 23:44
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«0.000000␤»
BenGoldberg r: (3.141592653589793 - 3.14159265358979).fmt("%e").say
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«2.000000e-15␤»
BenGoldberg r: (3.141592653589793 - 3.14159265358979).WHAT.say
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«(Rat)␤» 23:45
BenGoldberg r: (3.141592653589793 - 3.14159265358979).nude.say
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«3 1000000000000000␤»
jnthn r: my $a; sub foo() { say $a; my $a; } 23:46
camelia rakudo-parrot e4e862, rakudo-jvm e4e862, rakudo-moar e4e862: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Lexical symbol '$a' is already bound to an outer symbol;␤the implicit outer binding must be rewritten as OUTER::<$a>␤before you can unambiguous…»
jnthn That's already working, so the palceholder fix should be quite easy :)
23:46 ajr_ left 23:49 daniel-s joined
timotimo oh well. 23:51
good night for now! :)
corecatcher: ^^ what jnthn just mentioned may be an LHF for you :) (it's actually about irclog.perlgeek.de/perl6/2014-02-07#i_8250030 )
23:52 regreg joined 23:56 nsh left 23:57 jnap left