»ö« 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:01 dmol left
BenGoldberg r: say nqp::rand_I(2, Int) xx 40 00:01
camelia rakudo-jvm a6b2af: OUTPUT«(timeout)» 00:02
..rakudo-parrot a6b2af: OUTPUT«0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 1 1␤»
..rakudo-moar a6b2af: OUTPUT«0 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0␤»
00:02 ssutch left, ventica left, ConanTheBrbrian is now known as hoverboard
timotimo yeah, that seems more healthy 00:02
carlin linux has a sane rand() it seems 00:03
so the fix for this would be for moar to use something like arc4random on openbsd instead of rand ? 00:04
BenGoldberg Personally, I think it would be good if the random sequence were entirely pluggable. Let the user set $*RANDOM or whatever to some object which supplies random numbers, and have rand() and srand() call methods on that object. 00:07
00:08 noganex_ left, noganex joined
timotimo that would be nice, but it's not that easy to plug into the tommath pieces 00:08
00:09 ssutch joined
timotimo though we could certainly have something on moarvm that registers two callables that would just "do it for you"; but that would make those big int ops invokey ... hmm. 00:09
00:11 chenryn joined 00:13 rurban1 joined, chenryn left 00:18 Psyche^ joined
carlin > say nqp::rand_I(2, Int) xx 40 00:19
0 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0
^ using random() instead of rand()
I'm glad for the spetest that caught this, digging through moar's source to see what was going on has been an interesting adventure 00:20
00:22 Psyche^_ left
itz_ oh anyone who hasn't seen tig(1) - ncurses based git log viewer its quite nice 00:28
00:31 ssutch left, ssutch joined 00:36 ssutch left 00:42 rurban1 left 00:51 thou joined 00:56 thou left 01:05 nbrown joined 01:08 FROGGS_ joined 01:09 nbrown left 01:12 FROGGS left
timotimo yup, it's pretty neat 01:30
grondilu noticed a clear decrease in performance after update today 01:31
This is perl6 version 2014.07-44-ga6b2af7 built on MoarVM version 2014.07-15-gb6a4250
timotimo oh? 01:32
give us more details? 01:33
can you also look at the git reflog and see what revisions you had built before that? 01:42
01:43 jack_rabbit joined
colomon itz_: agreed, I've been using tig for about a month now, and I love it. 01:43
grondilu timotimo: I often try something like say [+] rand xx 100_000 and today it took twice as long
though to be honest I should check that there is not something wrong on my PC. I suspect there is. 01:44
timotimo part of me hopes there is, part of me hopes there isn't ;)
grondilu so if the decrease in perf is not confirmed by something else, I'll blame my computer.
s/something/someone/ 01:47
rjbs- TimToady: www.nntp.perl.org/group/perl.perl5....18145.html ;) 01:49
01:50 klapperl_ joined 01:53 klapperl left 02:05 Util joined
Util Just released: hpmor.com/chapter/102 02:08
02:08 noganex left 02:12 noganex joined 02:13 ssutch joined 02:17 ventica joined 02:19 ventica left 02:20 rurban1 joined 02:25 rurban1 left
gtodd say nqp::rand_I(2, Int) xx 40 02:27
oopsi
e
02:39 thou joined 02:44 thou left
jack_rabbit I've been looking, but I can't seem to find documentation on what exactly '>>' means in this context. I think I understand what it does, but can't find any docs: ["hello", "world"]>>.substr(1); 03:06
03:07 hoverboard left
BenGoldberg m: ["hello", "world"]>>.substr(1); 03:11
camelia ( no output )
BenGoldberg m: ["hello", "world"]>>.substr(1).say;
camelia rakudo-moar 506aae: OUTPUT«ello orld␤»
03:12 chenryn joined
jack_rabbit m: my @arr = ["hello", "world"]>>.substr(1); say @arr; 03:15
camelia rakudo-moar 506aae: OUTPUT«ello orld␤»
gtodd oh my problem is the ChoHag problem described here: irclog.perlgeek.de/perl6/2014-06-10 ... parrot dynacall -fPIC etc etc 03:16
ermm dyncall that is ... 03:19
Util jack_rabbit: see perlcabal.org/syn/S03.html#Unary_hyper_operators , but the better examples are further down, after:
"When using a unary operator" ...
gtodd ChoHag: from the look of that log it was a frustrating morning ;-\ how did you fix it ? get dyncall to build with -fPIC? or ....
03:20 [Coke]_ is now known as [Coke] 03:21 rurban1 joined
Util jack_rabbit: LIST>>.method is the same as map { .method }, LIST , but without the surety of execution order. (Result order *is* assured, though). 03:22
jack_rabbit Util, thanks!
I'll read that.
Util jack_rabbit: yw 03:24
gtodd ChoHag: only asking asking since my rakudo won't build issue seems similar to yours paste.scsys.co.uk/409550?tx=on&...rmat+it%21 down to the FreeBSD/clang and dyncall ... parrot builds on its own but perl6-p won't 03:27
seems the conclusion back then (June) was that "the version of dyncall bundled with nqp for the parrot backend is out of date" 03:31
03:35 hoverboard joined 03:36 hoverboard left 03:39 xiaomiao left 03:59 rurban1 left 04:00 Akagi201 joined 04:01 ventica_desktop joined 04:02 Akagi201 left 04:07 Akagi201 joined 04:09 Akagi201 left 04:11 ssutch left, Akagi201 joined, ssutch joined 04:12 ssutch left 04:14 ssutch joined 04:15 BenGoldberg left, Akagi201 left 04:16 chenryn left
ventica_desktop m: my @a = 'a' .. *; say @a[290]; 04:18
camelia rakudo-moar 506aae: OUTPUT«ke␤»
ventica_desktop hrm ... i see what u did there... 04:19
m: my @a = 'A' .. *; say @a[290];
camelia rakudo-moar 506aae: OUTPUT«KE␤»
ventica_desktop mhmm
m: my @a = '1' .. *; say @a[290];
camelia rakudo-moar 506aae: OUTPUT«291␤»
ventica_desktop m: my @a = '!' .. *; say @a[290];
camelia rakudo-moar 506aae: OUTPUT«!␤»
ventica_desktop hmmm
interesting
very DWIMmy 04:20
right on the border of too DWIMmy :P
04:24 dwarring left 04:25 xiaomiao joined 04:27 rindolf joined 04:28 thou joined 04:32 thou left 04:35 araujo left 04:36 robinsmidsrod left 04:37 kurahaupo_ left, robinsmidsrod joined 04:41 gamo joined
gamo Hi. Is rakudo star usable? 04:41
ventica_desktop m: my $usable=1; say "Rakudo Star is usable" if ($usable); 04:42
camelia rakudo-moar 506aae: OUTPUT«Rakudo Star is usable␤»
gamo tahnks. About how is the speed of the compiled programs? 04:43
rindolf Hi all. 04:45
ventica_desktop Depends on the backend and depends on what you're trying to run. I think all the basic operators and "normal" code (Perl5-like or C-like code) are respectably fast
o/
gamo But perl5 and C are much different 04:46
ventica_desktop mumbles something about a Perl 6 web toy in light of the latest inquiries...
gamo: Indeed. I just mean all the straightforward operators, function calls, basic I/O, etc. 04:47
It's mostly done and perf is respectable
m: my @array = 1..10; say @array; #basic stuff works and is not slow at all 04:48
camelia rakudo-moar 506aae: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
gamo ok 04:50
I will ask about a package for ubuntu, for not screwing up perl5 04:52
ventica_desktop u mean u think perl 6 will screw up perl 5?
gamo yes
ventica_desktop i don't see why it would affect perl 5 at all... 04:53
grondilu the executable is different, for a start.
ventica_desktop perl 6 is not literally perl 6.0, as in, an upgrade of the latest perl 5.whatever
gamo I don't know how is ubuntuish thing in either case 04:54
grondilu there already is a rakudo package on debian sid
so it's probably not too hard to use it on ubuntu
gamo it's older than april version
grondilu well, yeah, if you want the lastest (and you do), it's not perfect. 04:55
s/lastest/latest/
ventica_desktop
.oO(What is perfect?)
ChoHag gtodd: dyncall needs -fPIC 04:56
ISTR compiling it by hand.
04:57 Akagi201 joined 05:00 rurban1 joined 05:04 rurban1 left
xinming gamo: perl6 and perl5 are both great, They both worth learning, and I belive even perl 6 is out, perl 5 and perl 6 will coexist for a long time. 05:06
ventica_desktop m: my @arr=1..10; say [+] @arr;
camelia rakudo-moar 506aae: OUTPUT«55␤»
xinming perl 6 won't affect perl 5 much, perl 5 is still adopting new features from perl 6 with minimal change on the language itself. 05:07
ventica_desktop my @arr=1..10; say [<] @arr; 05:08
m: my @arr=1..10; say [<] @arr; #derp
camelia rakudo-moar 506aae: OUTPUT«True␤»
ventica_desktop m: my @arr=1..10,9; say [<] @arr;
camelia rakudo-moar 506aae: OUTPUT«False␤»
ventica_desktop thinks the meta-cross should die... 05:11
my @arr='a'xx5; say @arr;
m: my @arr='a'xx5; say @arr; #sigh 05:12
camelia rakudo-moar 506aae: OUTPUT«===SORRY!=== Error while compiling /tmp/A8mf1vxzGQ␤Two terms in a row␤at /tmp/A8mf1vxzGQ:1␤------> my @arr='a'⏏xx5; say @arr; #sigh␤ expecting any of:␤ postfix␤ infix stopper␤ inf…»
ventica_desktop m: my @arr='a' xx 5; say @arr; #sigh
camelia rakudo-moar 506aae: OUTPUT«a a a a a␤»
ventica_desktop i see why... but... :\
m: my @arr='a' xx 5; say [eq] @arr; 05:13
camelia rakudo-moar 506aae: OUTPUT«True␤»
ventica_desktop m: my @arr='a' xx 5,'b'; say [eq] @arr;
camelia rakudo-moar 506aae: OUTPUT«False␤»
ventica_desktop m: my @arr='a' xx 5,'b'; say [.] @arr; 05:14
camelia rakudo-moar 506aae: OUTPUT«===SORRY!=== Error while compiling /tmp/C1KttihNzd␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/C1KttihNzd:1␤------> my @arr='a' xx 5,'b'; say [.]⏏ @arr;␤»
ventica_desktop oops
m: my @arr='a' xx 5,'b'; say [~] @arr;
camelia rakudo-moar 506aae: OUTPUT«aaaaab␤»
ventica_desktop yummy
05:17 noganex left
gamo thanks, xinming 05:19
05:20 kaare__ joined
ventica_desktop m: say ([X] (1,2),(3,4),(5,6)).tree # help! 05:22
camelia rakudo-moar 506aae: OUTPUT«1 3 5 1 3 6 1 4 5 1 4 6 2 3 5 2 3 6 2 4 5 2 4 6␤»
ventica_desktop i assume it got flattened before the outer parens got ahold of it.. 05:23
Timbus m: say ([X] (1,2),(3,4),(5,6)).tree.perl 05:26
camelia rakudo-moar 506aae: OUTPUT«([1, 3, 5], [1, 3, 6], [1, 4, 5], [1, 4, 6], [2, 3, 5], [2, 3, 6], [2, 4, 5], [2, 4, 6]).list␤»
ventica_desktop hrmmm O.o
ok, i get it 05:27
m: my @a = ([X] (1,2),(3,4),(5,6)).tree; say @a[0];
camelia rakudo-moar 506aae: OUTPUT«1 3 5␤»
ventica_desktop there we go 05:28
m: my @a = ([X] (1,2),(3,4),(5,6)); say @a[0];
camelia rakudo-moar 506aae: OUTPUT«1␤»
ventica_desktop correcto
in other words [X] is transpose
as long as you put .tree suffix
Timbus or.. hm 05:29
m: say ([X] (1,2),(3,4),(5,6)).lol.perl
camelia rakudo-moar 506aae: OUTPUT«LoL.new(ListIter.new())␤»
Timbus nevermind
ventica_desktop no, ur right its not
Timbus use it to generate.. probability trees or something.. 05:32
ventica_desktop yeah, it's a cross-product with shape preserved
Timbus m: say ([\X] (1,2),(3,4),(5,6)).tree.perl
camelia rakudo-moar 506aae: OUTPUT«((1,), [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6]).list␤»
Timbus woa 05:33
ventica_desktop haha
05:33 cognome left, cognominal left 05:34 cognome joined
ventica_desktop m: my @m = (1,2,3), (4,5,6); my @t; for ^@m X ^@m[0] -> $x, $y { @t[$y][$x] = @m[$x][$y] }; say @t.tree; 05:36
camelia rakudo-moar 506aae: OUTPUT«1 2 3 4 5 6␤»
ventica_desktop RosettaCode lied! >:-(
05:37 rurban1 joined
ventica_desktop m: my @m = (1,2,3), (4,5,6); my @t; for ^@m X ^@m[0] -> $x, $y { @t[$y][$x] = @m[$x][$y] }; say @t.tree.perl; 05:37
camelia rakudo-moar 506aae: OUTPUT«([1, 2, 3, 4, 5, 6],).list␤»
05:38 cognome left 05:42 rurban1 left 05:51 xinming left 05:52 xinming joined 06:01 cognome joined 06:12 rindolf left 06:16 thou joined 06:20 rindolf joined, fling joined
fling Hello. 06:20
06:21 thou left 06:29 woolfy joined 06:30 figoe left 06:31 ssutch left 06:33 ssutch joined 06:35 figoe joined 06:37 ssutch left 06:38 rurban1 joined, hoverboard joined 06:42 rurban1 left 06:51 gfldex joined 06:57 ventica_desktop left 07:02 ssutch joined 07:06 ssutch left 07:15 ssutch joined 07:19 ssutch left 07:22 lizmat joined, cognominal joined 07:25 darutoko joined 07:31 Alula_ joined
timotimo hi 07:33
07:33 rindolf left
Woodi o/ 07:34
timotimo i wonder what ventica's problem with meta-cross is
07:34 rindolf joined 07:37 woolfy left, jack_rabbit left 07:38 rurban1 joined 07:39 FROGGS[mobile] joined
Woodi um, could it be used to simulate SQL joins ? free CPU cycles on backends :) 07:39
FROGGS[mobile] m: say "ba,a,a,aabbb" ~~ / a ** { 2..5 } % "," / 07:41
camelia rakudo-moar 506aae: OUTPUT«「a,a,a,a」␤␤»
FROGGS[mobile] \o/
timotimo yays again
FROGGS[mobile] well, last time I broke the build 07:42
07:43 rurban1 left
FROGGS[mobile] ahh, I need to push the unfudged spectests 07:45
07:47 mr-foobar left 08:04 thou joined 08:09 thou left, SamuraiJack__ joined
dalek ast: d90cfb6 | (Tobias Leich)++ | S05-m (2 files):
RT #121306 unfudge tests about /a**{}/
08:12
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121306
08:16 ssutch joined
vendethiel o/ 08:20
08:20 ssutch left 08:25 xinming_ joined 08:29 xinming left, SamuraiJack__ left, SamuraiJack__ joined
TimToady [Coke], masak: re irclog.perlgeek.de/perl6/2014-07-20#i_9053071 the 0 behavior is defined in S03:562 08:30
synopsebot Link: perlcabal.org/syn/S03.html#line_562
masak good antenoon, #perl6 08:37
sergot hi o/ 08:38
08:38 jack_rabbit joined 08:39 rurban1 joined 08:42 noganex joined
itz_ why does $*DISTRO exist? seems a little linux specific? 08:43
08:43 rurban1 left 08:45 SamuraiJack__ left, SamuraiJack joined
itz_ I suppose pragmatically it probably does make things easier since they are so different 08:46
08:48 kivutar joined
masak TimToady: ah, then that spectest was actually correct. 08:48
[Coke]: ^ 08:49
08:52 Ven joined 08:54 molaf left 08:57 avuserow_ is now known as avuserow 09:01 hoverboard left
avuserow hi all. I've taken a stab at summarizing (what I believe to be) the important rakudo changes since the previous star release, so please check out the release notes and offer feedback 09:08
github.com/avuserow/star/blob/78b9...2014.07.md
09:08 mr-foobar joined
avuserow also I've decided to upload a RC1 for testing. there is one module failing for parrot (and many for JVM). You can get this at www.dropbox.com/s/qrx89mnavx7euee/...RC1.tar.gz 09:09
itz_ avuserow: I was experimenting with * builds last night and will take a look 09:10
avuserow when I get back online today, I'll have the core dump for the parrot failure in jsonrpc, and I'll see about filing the bug. I'm not sure whether that is a blocker or not but we do have time in which to look at it
also let me know if there is a better place for uploading stuff than dropbox. I don't have webspace handy at the moment, and wasn't sure if I could make github serve it without putting it in the git repo 09:12
09:16 ssutch joined
FROGGS_ itz_: well, we need to provide a superset of needed information, not a subset 09:19
avuserow: I know more about the jsonrpc failure... 09:20
itz_ avuserow: there are minor issues with p6doc .. for a start it doesn't work :) eval -> EVAL needed (I opened an issue about it)
09:20 ssutch left
itz_ neither does the example in the help work .. it's now "Type/Str" 09:22
09:24 itz_ is now known as itz 09:26 jack_rabbit left 09:27 SamuraiJack left
FROGGS_ itz: can you file a PR? 09:27
itz I filed a PR for the first issue not the second 09:28
Actually I'll just do a pull request
FROGGS_ itz++ 09:29
then we just need to bug the commit bit holder(s)
09:36 rindolf left 09:37 dmol joined 09:39 tgt joined 09:40 rurban1 joined
itz the Str thing is odd . may be a * path build issue 09:41
09:43 spider-mario joined 09:44 rurban1 left
itz github.com/perl6/doc/pull/24 09:45
hmm no not * specific 09:48
09:53 thou joined, rindolf joined
tgt Hi. Is there a nice way to write a grammar that will match a set of tokens once each, but not care about the order? 09:55
A very simplified example could be checking that a string only contains one occurance of each of a, b and c, whilst not caring about the order.
09:58 thou left
itz d'uh Type::Str would be better 09:58
need coffee
tgt [<a> | <b> | <c>]*, but with the added constraint that once a token has been matched it can't be matched again. 10:00
FROGGS_ m: say "acbdefaefbc".match(/ ( a | b | c ) /, :g).list>>[0]>>.Str.uniq # tgt: is that an option? 10:12
camelia rakudo-moar 506aae: OUTPUT«a c b␤»
10:17 ssutch joined
tgt The important thing is that it fails to match if the token is found multiple times. My current grammar is gist.github.com/tgt/f8b6c57675938b702f2c 10:20
FROGGS_ yeah, I thaught so ...
10:20 hoverboard joined
FROGGS_ m: my @a = <a b c>; say "abc" ~~ / | @a / # that might be interesting for you 10:21
camelia rakudo-moar 506aae: OUTPUT«「a」␤␤»
FROGGS_ with the | bar before the array it will also do LTM 10:22
10:22 ssutch left
FROGGS_ without the | bar or with || it will match sequentially 10:22
psch m: my $rx = /:my @cache; (.)+! <!{ $/.values.grep($0) > 1 }> $ /; say "aabc" ~~ $rx; # been fiddling with something like this, but it doesn't quite work 10:23
camelia rakudo-moar 506aae: OUTPUT«「aabc」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「c」␤␤»
psch because im treating $/ wrong in the regex, clearly
but .Bag doesn't do what it'd need there either
m: my $rx = /:my @cache; (.)+! <!{ $/.values.Bag.grep($0) > 1 }> $ /; say "aabc" ~~ $rx; say "abc" ~~ $x 10:24
camelia rakudo-moar 506aae: OUTPUT«===SORRY!=== Error while compiling /tmp/w2KmCMV0Ww␤Variable '$x' is not declared␤at /tmp/w2KmCMV0Ww:1␤------> $ /; say "aabc" ~~ $rx; say "abc" ~~ $x⏏<EOL>␤ expecting any of:␤ postfix␤»
psch m: my $rx = /:my @cache; (.)+! <!{ $/.values.Bag.grep($0) > 1 }> $ /; say "aabc" ~~ $rx; say "abc" ~~ $rx
camelia rakudo-moar 506aae: OUTPUT«「aabc」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「c」␤␤「abc」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「c」␤␤»
psch :/
FROGGS_ m: my %found; my @a = <a b c>; say "acbdefaefcb".match(/ <found={ (@a (-) %found.keys).list }> { %found{$<found>} = 1 } /, :g).list 10:25
camelia rakudo-moar 506aae: OUTPUT«「a」␤ found => 「a」␤ 「c」␤ found => 「c」␤ 「b」␤ found => 「b」␤ 「a」␤ found => 「a」␤ 「c」␤ found => 「c」␤ 「b」␤ found => 「b」␤␤»
FROGGS_ hmmm
psch m: my $rx = /:my @cache; (.)+! <!{ $/.values.Bag.values.grep($0) > 1 }> $ /; say "aabc" ~~ $rx; say "abc" ~~ $rx
camelia rakudo-moar 506aae: OUTPUT«「aabc」␤ 0 => 「a」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「c」␤␤「abc」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「c」␤␤»
psch just noticed he left that array declared 10:30
10:36 Ven left
FROGGS_ m: my %found; my @a = <a b c>; "aa" ~~ m:g/ (<{ say %found.keys; say(set(<a b c>) (-) set(%found.keys)); (@a (-) %found.keys).list }>) { %found{~$0}++ } /; say %found 10:36
camelia rakudo-moar 506aae: OUTPUT«Nil␤set(a, b, c)␤a␤set(a, b, c)␤a␤set(a, b, c)␤("a" => 2).hash␤»
FROGGS_ I don't get it
psch m: my $rx = / (.)+! <!{ $0.values>>.Str.Bag.grep: { $^a.values > 1 } }> /; say "aabc" ~~ $rx; say "abc" ~~ $rx
camelia rakudo-moar 506aae: OUTPUT«「c」␤ 0 => 「c」␤␤「c」␤ 0 => 「c」␤␤»
psch i think i want that to work :P
haha 10:37
FROGGS_ after the first match there is an "a" in %found, but the set operation returns still a b c
moritz oh hai
FROGGS_ hi moritz
psch hi moritz
moritz I've now implemented the changes to the "owners" team on github
which means that masak++, FROGGS_++ and timotimo++ are now in there, and sorear++ is gone 10:38
psch m: my $rx = / ^ (.)+! <!{ $0.values>>.Str.Bag.pairs.grep: { $^a.value > 1 } }> $ /; say "aabc" ~~ $rx; say "abc" ~~ $rx # !!
camelia rakudo-moar 506aae: OUTPUT«Nil␤「abc」␤ 0 => 「a」␤ 0 => 「b」␤ 0 => 「c」␤␤»
psch tgt: that does it, apparently
FROGGS_ thanks moritz
psch first match gives Nil, second gives the Match
10:42 rurban1 joined 10:43 Ven joined
tgt Interesting, thanks. I'll see what I can do with that. 10:43
psch of note might be that dropping the anchors only gives you a connected substring that has no duplicates 10:44
10:46 rurban1 left
tgt Is there a way to disable parts of a grammar? (e.g. in the gist I posted above I'd like to be able to disable the unknown-tag rule if I passed :strict to the grammar.) 10:46
psch you could make the rule never match if some $strict is set, similarly to what i did above 10:50
but i don't think you can actually remove the rule from the grammar 10:51
FROGGS_ tgt: put these tokens in a role, and mix it in conditionally
tgt Aha, good idea. Thanks for your help psch and FROGGS_ :) 10:52
11:00 Ven left 11:01 Ven joined 11:11 dmol left 11:15 spider-mario left 11:18 ssutch joined
itz linus doesn't seem to like gcc 4.9 (new in debian sid)! 11:18
Woodi yea, just learned that too... lkml.org/lkml/2014/7/24/584 11:20
also spotted libressl today :)
11:22 ssutch left
Woodi btw. Marcus Ranum years ago was making jokes about ppls going mad when OpenSSH patch was released, eg. ppls leaving conference rooms in hurry :) 11:24
grondilu is confused as it so happens he's currently upgrading his debian sid system and there is gcc 4.9 :/ 11:29
itz I'm just trying gcc 4.9 with rakudobrew and it looks OK to me so far 11:30
BinGOs apt-get install clang-3.4 # problem solved
Woodi Linus was talking about in-kernel special code or something. and probablly 4.9 is passing their test :) 11:32
*tests
11:33 Ven left
BinGOs you could go the whole hog and install FreeBSD 10, then not worry about a shitty compiler or shitty kernel :) 11:33
Woodi BinGOs: but dpkg/apt/aptitude is perfect ! 11:34
BinGOs except on debian kfreebsd port it isn't 11:35
Woodi when you have problem then scratch thing you changed lastly ;)
BinGOs I have to alias apt-get to apt-get -o Dpkg::Use-Pty=False 11:36
itz why not just use aptitude?
11:36 ssutch joined
BinGOs otherwise Bad Things™ happen 11:36
itz specifically on kfreebsd? 11:37
BinGOs aptitude will use dpkg still no?
Woodi BinGOs: what is correct, native equivalent of ap* on FreeBSD ?
BinGOs yes, it is kfreebsd specific
Woodi: pkg
Woodi everything is use dpkg ?
itz I use pkgsrc on linux which is sort of kfreebsd in reverse :) 11:38
BinGOs well it is known as pkgng
Woodi *using
BinGOs I tend to use ports versus binary packages
11:38 ssutch_ joined, ssutch left
BinGOs gcc version 4.9.1 (Debian 4.9.1-2) Target: x86_64-kfreebsd-gnu :( 11:39
itz is dtrace in the nonfree repos? 11:40
BinGOs for which platform are we talking now?
itz kfreebsd 11:41
11:41 thou joined
BinGOs I haven't got nonfree in my sources.list 11:42
and apt-cache search dtrace doesn't find it.
it's /usr/sbin/dtrace on my FreeBSD 10 box.
Woodi found in systemtap-sdt-dev
11:42 rurban1 joined 11:43 ssutch_ left
itz via apt-cache find strace? 11:43
errr
via apt-file find strace? even
11:45 thou left 11:46 mr-foobar left
Woodi "apt s dtrace" :) 11:46
11:46 mr-foobar joined 11:47 rurban1 left
Woodi sid main probably 11:47
BinGOs no strace.
You can install ktrace though
itz oh I have a JSON::Tiny test failure with moar and gcc 4.9 11:50
wonder if that's related
BinGOs right, set off the update of 44 CPAN tester perls, going to hang the laundry out. 11:51
11:55 Ven joined 12:07 Ven left 12:08 kivutar left 12:43 rurban1 joined 12:47 rurban1 left 12:50 denis_boyun joined 12:52 nbrown joined 12:53 cooper__ left 12:56 kivutar joined 12:59 nbrown left 13:11 hoverboard left
FROGGS_ avuserow: your RC builds parrot 6.5.0 when it should build 6.6.0 13:21
13:29 thou joined 13:32 kivutar left 13:34 thou left
dalek c: a6270f3 | (Steve Mynott)++ | bin/p6doc:
eval to EVAL to fix p6doc
13:43
c: de171af | (Steve Mynott)++ | / (2 files):
Str has moved under Type - fix docs and example
c: a869400 | (Steve Mynott)++ | / (2 files):
Str has moved under Type - fix docs and example better
c: b9e3791 | (Tobias Leich)++ | / (2 files):
Merge pull request #24 from stmuk/master

fix 1 reported issue with p6doc eval breakage and fix p6doc under star
13:44 rurban1 joined, kivutar joined
moritz gives stmuk aka Steve Mynott push acccess 13:47
13:48 rurban1 left
FROGGS_ (aka itz) 13:51
moritz itz++ 13:52
13:54 kurahaupo joined
moritz Juerd: feather is Xen, right? 13:58
13:59 kivutar left 14:14 beastd joined, pmurias_ joined 14:15 pmurias_ is now known as pmurias
pmurias hi 14:15
why does nqp-moar use a incorrect sub MAIN signature?
FROGGS_ pmurias: what do you mean? 14:17
# XXX FIX ME
sub MAIN(@ARGS) {
?
moritz should be *@ARGS I guess 14:18
but I guess that nqp is less fancy than real Perl 6, and simply passes the arguments in as a single array
pmurias FROGGS_: yes 14:21
it's inconsitent across backends
moritz j: say 42 14:22
camelia rakudo-jvm 506aae: OUTPUT«(timeout)»
14:22 Ven joined
moritz j: say 23 14:23
camelia rakudo-jvm 506aae: OUTPUT«(timeout)»
FROGGS_ pmurias: you can try to change it... I'm not sure if it still needs to be that way 14:24
moritz j: say 1 14:25
camelia rakudo-jvm 506aae: OUTPUT«(timeout)»
moritz j is now officially borked. I've restarted the evalserver twice, and it still spooks around. 14:26
Ven 2spooky
moritz I've started to create github.com/perl6/infrastructure-doc . Patches and feedback welcome! 14:29
tadzik: ^^ it would be nice if you could document the panda meta data server there
colomon: ^^ it would be nice if you could document the emmentaler setup there 14:31
dalek p-js: 4c31fee | (Pawel Murias)++ | / (5 files):
Cross compile more of the compiler.
FROGGS_ ohh! 14:32
pmurias++
pmurias it's not yet the whole thing ;) 14:43
14:44 zakharyas joined 14:45 rurban1 joined
tadzik moritz: will do 14:45
moritz++ 14:46
14:48 denis_boyun left 14:49 denis_boyun joined, rurban1 left 15:05 denis_boyun left
[Coke] pmurias++ !! 15:09
dalek kudo-star-daily: 6204311 | coke++ | log/ (14 files):
today (automated commit)
15:11
rl6-roast-data: e1735ca | coke++ | / (5 files):
today (automated commit)
15:17 thou joined 15:22 xenoterracide_ joined 15:23 thou left 15:25 xfix left, xfix joined, xfix left, xfix joined, ab5tract joined
ab5tract hey folks. i was wondering whether there is an idiomatic way to get the current index value while iterating over an array using a for loop 15:27
Ven ab5tract: for @a.kv -> $k, $v { say $k, $v }
ab5tract thanks Ven. in retrospect that is pretty obvious :) 15:28
psch an alternative would be using loop instead of for, if the index matters to you anyway
although i'd probably go with Ven's solution as well
15:30 rurban1 joined
Ven doesn't want to hear of c-like for loops ever again :) 15:30
we're in 2014, it's pretty terrible we're still teaching them
psch hey, i'm not advocating it, i'm just saying it exists :P
15:31 slavik joined
ab5tract my specific use case is the (probably relatively common one) of keeping track of the line number while for'ing over it 15:31
it being the list in $fh.IO.lines
15:32 silug left
ab5tract so using .kv is <3 15:32
15:33 BenGoldberg joined
psch there is $fh.ins, which replaces $. 15:35
m: for lines() { .say; last if $*IN.ins() > 2 }
camelia rakudo-moar 506aae: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall␤Agus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;␤Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí␤I mo dhiaidh bhí gleanntáin ghlas’ G…»
psch wonders how long lines are in camelias STDIN
ab5tract: that's S28:187, fyi 15:37
synopsebot Link: perlcabal.org/syn/S28.html#line_187
timotimo m: lines>>.chars.Bag.say
camelia rakudo-moar 506aae: OUTPUT«bag(50, 70, 74, 78(2), 0(3), 72, 65(3), 84, 62, 64(2), 46, 37, 67, 73)␤»
timotimo psch: -^
psch timotimo: neat, so the s/\n/{ whatever that unicode symbol is}/ screwed me over there?
timotimo er, i don't know? 15:38
i don't know what ins() does
BenGoldberg m: for lines() { $*.ins().say }
camelia rakudo-moar 506aae: OUTPUT«===SORRY!=== Error while compiling /tmp/i7sEpaMB86␤Unsupported use of $* variable; in Perl 6 please use ^^ and $$␤at /tmp/i7sEpaMB86:1␤------> for lines() { ⏏$*.ins().say }␤ expecting any of:␤ stat…»
timotimo heh. 15:39
BenGoldberg m: for lines() { $*IN.ins().say }
camelia rakudo-moar 506aae: OUTPUT«0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤»
psch well, it works locally :)
timotimo: $fh.ins() does what $. did in perl5, which is "current line number for the last file handle accessed" 15:40
apparently not quite in some cases :)
timotimo i've never done any perl5 :)
BenGoldberg Well, if lines() reads the whole file (due to something being too eager), we reach the EOF and then (perhaps) the line number gets reset.
xfix r: gist.github.com/xfix/eac92872f14546c90996 15:41
camelia rakudo-{parrot,jvm,moar} 506aae: OUTPUT«gist not found»
xfix orly?
Hm, so it fails because KeySet was removed.
psch BenGoldberg: locally, even closing the handle doesn't reset .ins() 15:42
xfix What is KeySet these days?
BenGoldberg Ehh, beats me, then :)
xfix SetHash. 15:43
timotimo could be SetHash or MixHash
xfix Thanks.
timotimo hi xfix :)
xfix timotimo:++
I mean, timotimo++
15:44 silug joined
xfix What was the difference between SetHash and MixHash? 15:44
Both work, so I assume I should use SetHash. 15:45
Ven yeah, camelia gisting is borked
timotimo i think one has Num values, the other Int? 15:46
xfix SetHash has booleans.
Which is what I want.
ab5tract honestly, the .kv approach feels more idiomatic 15:47
colomon moritz: did you have a notion where the smoke test docs could go in the layout there? I can't get at it now, but maybe this evening....
ab5tract as the pattern holds regardless of whether its a file handle
15:47 lizmat left
colomon KeySet is now SetHash 15:47
psch ahh 15:48
nvm the "it works locally", i didn't test with $*IN but with an explicit filehandle
so camelia does what it does locally, which is not getting the line number from $*IN.ins()
where "it" is "perl6", not camelia 15:49
timotimo colomon: it would be cool if the smoker overview website would let us look at the build log to figure out what's going wrong without having to reproduce locally 15:50
15:50 gamo left
colomon timotimo: it's more about what emmentaler does; my code just automates running it every and then. 15:52
timotimo OK 15:53
colomon timotimo: though hmmm, I do appear to have commit privledge to it… ;)
15:54 xenoterracide_ left, xenoterracide_ joined
colomon * automates running it every day and then provides a web interface to see the results 15:54
15:54 FROGGS[mobile] left
colomon is being distracted around here at the moment -- prepping to take to little guy to visit his cousin for a couple of days. 15:55
15:56 Ven left 15:57 xenoterracide_ left, nbrown joined
psch duhs 15:57
m: for lines() { .say; last if $*ARGFILES.ins() > 2 }
camelia rakudo-moar 506aae: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall␤Agus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;␤Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí␤»
psch huhs
15:57 FROGGS[mobile] joined 16:01 nbrown left
psch nevermind the huhing, that actually works 16:01
FROGGS_ jnthn: the JSON::RPC fail on parrot is due to a PMC with data being NULL, so an STABLE access explodes...
jnthn: not sure yet how that happens, I guess the next thing I wanna try is to locate the Perl 6 code and object that does that
16:02 xenoterracide joined 16:08 pmurias left
ab5tract what is the significance of 'ARGFILES' here? 16:09
psch ab5tract: $*ARGFILES is commandline argument files
e.g. 'perl6 -e"say for $*ARGFILES.lines" onefile.txt secondfile.txt" 16:10
a bare "lines()" reads from $*ARGFILES 16:11
PerlJam perl6 16:13
ab5tract gotcha
16:14 figoe left 16:20 xenoterracide left 16:21 aoseki left, xenoterracide joined 16:24 kivutar joined 16:25 akaseki joined 16:26 rurban1 left 16:32 colomon left 16:33 rurban1 joined 16:36 Ven joined 16:37 xenoterracide left 16:39 kurahaupo left 16:42 zakharyas left 16:43 xenoterracide joined
Juerd moritz: No, kvm 16:51
moritz Juerd: ok, thanks 16:52
16:58 xenoterracide left, xenoterracide_ joined 17:03 xenoterracide_ left, ab5tract left 17:06 itz_ joined, ab5tract joined, thou joined 17:07 itz left
ab5tract psch: what is the way of using lines(), or something similar, with stdin (for piping a list to `perl6 -e`)? 17:07
i tried $*STDIN, because it seemed perlyish 17:08
17:10 thou left
psch ab5tract: STDIN from perl5 has been replaced with the dynamic variable $*IN 17:11
cf my previous blunder with calling .ins() on $*IN instead of $*ARGFILES
17:12 rurban1 left
ab5tract thanks 17:13
perl6++ 17:17
17:20 rurban1 joined 17:23 dmol joined
TimToady We don't have a C-like for loop; we only have a C-like loop. :) 17:30
dalek p: e885561 | jnthn++ | tools/build/MOAR_REVISION:
Bump to latest MoarVM.
17:31
kudo/nom: 765f321 | jnthn++ | / (2 files):
Update ext ops to use new improved extop API.

Specify that many are pure, so spesh's dead code elimination can take care of them. Also, allow a spesh function to be supplied. Implement a basic one to toss redundant p6decontrv operations. Bump NQP_REVISION to get a MoarVM supporting this stuff.
17:33
17:33 BenGoldberg left 17:36 kivutar left 17:41 Ven left
timotimo that sounds lovely 17:42
17:47 rindolf left 17:48 rindolf joined 17:58 SunilJoshi joined 18:00 SunilJoshi left 18:01 atroxaper joined
atroxaper Hello, #perl6 ! 18:05
timotimo hey you :) 18:06
atroxaper timotimo: o/ 18:07
I finished some repairing of my house and I'm going to continue Pod::SAX :) 18:08
psch atroxaper o/
atroxaper psch: hi!
18:13 hoverboard joined
dalek p: a0b93ce | (Timo Paulssen)++ | tools/build/MOAR_REVISION:
bump nqp's moar for new extop interface
18:15
Heuristic branch merge: pushed 178 commits to nqp/jvm_interop_dispatchers2 by timo
timotimo oops, i accidentally pushed that branch, too
i don't even know if i did anything with it in between 18:16
dalek kudo/nom: 0d19543 | (Timo Paulssen)++ | / (2 files):
new extop registration interface + nqp/moar version bump
Heuristic branch merge: pushed 626 commits to rakudo/jvm_interop_dispatchers by timo 18:17
timotimo ... ... ...
i should be using git push more carefully after this update.
atroxaper Is there better pattern for case: "my $var = @array[5] || 'value'; @array[5] = $var; $var = 'new value';"??
timotimo there is //= and ||= 18:18
atroxaper I mean I want to get some object from array of create it in case the object isn't exists. And after that i want to get the object in the next time.
timotimo: do you mean?: "@array[5] ||= "value"; my $var = @array[5];"? :) 18:19
timotimo maybe 18:20
i'm not 100% sure what you're looking for :)
that sounds like what you want; probably want //= instead
psch atroxaper: what i understand is that you want to check if @array[5] is defined, if not assign a new value, and afterwards assign a different new value to $var
timotimo (|| is truthy-or and // is definedness-or) 18:21
psch that'd be somewhat like: @array[5] //= 'value'; $var = 'new value'
the reuse of $var confuses me :)
atroxaper psch: in first time i want to initialize value and store it in array. And in second time i want to work with value 18:22
psch why do you need value in the first part?
or rather: do you have encompassing code that might make your intention clearer?
atroxaper It's for example. Some initial value. 18:23
psch m: my @arr = [1, 2, Nil, 4]; my $var = (@array[2] //= 10); say $var; my $var = 5; say $var; $var = (@array[3] //= 3; say @array[3]; say $var; 18:24
camelia rakudo-moar 506aae: OUTPUT«===SORRY!=== Error while compiling /tmp/Aln3NfO2cV␤Variable '@array' is not declared␤at /tmp/Aln3NfO2cV:1␤------> r = [1, 2, Nil, 4]; my $var = (@array[2]⏏ //= 10); say $var; my $var = 5; say $va␤ expecting…»
psch m: my @arr = [1, 2, Nil, 4]; my $var = (@arr[2] //= 10); say $var; my $var = 5; say $var; $var = (@arr[3] //= 3; say @arr[3]; say $var; 18:25
camelia rakudo-moar 506aae: OUTPUT«===SORRY!===␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at /tmp/IunuOigJpg:1␤------> = (@arr[3] //= 3; say @arr[3]; say $var;⏏<EOL>␤ expecting any of:␤ postfix…»
psch m: my @arr = [1, 2, Nil, 4]; my $var = (@arr[2] //= 10); say $var; my $var = 5; say $var; $var = (@arr[3] //= 3); say @arr[3]; say $var;
camelia rakudo-moar 506aae: OUTPUT«Potential difficulties:␤ Redeclaration of symbol $var␤ at /tmp/HG7ltdsJUa:1␤ ------> r = (@arr[2] //= 10); say $var; my $var ⏏= 5; say $var; $var = (@arr[3] //= 3); s␤10␤5␤3␤3␤»
psch atroxaper: i still don't really understand what exactly you're trying to achieve; i have a feeling of XY-yness
dalek p: ddebfec | (Timo Paulssen)++ | tools/build/MOAR_REVISION:
bump nqp's moar for new extop interface
timotimo is very naughty and force-pushes 18:26
dalek kudo/nom: 3ae17e5 | (Timo Paulssen)++ | / (2 files):
new extop registration interface + nqp/moar version bump
atroxaper psch: :) Maybe. I think i just need to use //=
psch: i was looking for shorter expression of my initial code :)
psch well, assuming you mean // instead of || (as timotimo said, truthiness vs definedness) the shorter code is: my $var = (@array[5] //= 'value'); $var = 'new value'; 18:28
my main hang-up is with the first assignment to $var
18:29 sjn_roadie joined
psch if you're after truthiness you can of course just replace the // with || 18:29
atroxaper psch: thank you. :) really 18:30
psch atroxaper: i just elaborated on timotimo++s response, really ;)
atroxaper Sure. timotimo++ was right! 18:31
ab5tract m: my @a; my $var = @a[5] = "some value?"; 18:34
camelia ( no output )
ab5tract m: my @a; my $var = @a[5] = "some value?"; $var.say;
camelia rakudo-moar 506aae: OUTPUT«some value?␤»
ab5tract something like that atroxaper? 18:35
m: my @a; my $var = @a[5] = "some value?"; $var.say; @a[5].say;
camelia rakudo-moar 506aae: OUTPUT«some value?␤some value?␤»
atroxaper Oh...
ab5tract m: my @a; my $var = @a[5] //= "some value?"; $var.say; @a[5].say; # forgot defined-or 18:36
camelia rakudo-moar 506aae: OUTPUT«some value?␤some value?␤»
18:36 zakharyas joined
atroxaper I've tried //= in REPL and found.... 18:36
m: my @array = ("v1', "v2"); my $var = (@array[5] //= 'value'); $var = 'new value'; say @array; 18:37
camelia rakudo-moar 506aae: OUTPUT«===SORRY!=== Error while compiling /tmp/7ST_Ozhmsx␤Two terms in a row␤at /tmp/7ST_Ozhmsx:1␤------> my @array = ("v1', "⏏v2"); my $var = (@array[5] //= 'value');␤ expecting any of:␤ postfix␤ …»
18:37 sjn_ joined
FROGGS[mobile] you mixed up the quotes 18:37
TimToady when in down, read the error message :) 18:38
*doubt
atroxaper m: my @array = ("v1", "v2"); my $var = (@array[5] //= 'value'); $var = 'new value'; say @array;
camelia rakudo-moar 506aae: OUTPUT«v1 v2 (Any) (Any) (Any) value␤»
FROGGS[mobile] don't read error messages when you are down :o)
atroxaper I wanted to change value of $var and corresponding @array element in the same time :) 18:39
I thought that is obvious :)
TimToady m: my @array = <v1 v2>; my $var := (@array[5] //= 'value'); $var = 'new value'; say @array;
camelia rakudo-moar 506aae: OUTPUT«v1 v2 (Any) (Any) (Any) new value␤»
FROGGS[mobile] well, it did that
atroxaper := ?! 18:40
TimToady you have to use := to make an alias
FROGGS[mobile] binding
18:40 sjn_roadie left
atroxaper TimToady: Oh... I didn't know that at all :) 18:40
timotimo hello TimToady!
atroxaper Many thanks all of you! 18:41
TimToady hel timo <-- only seeing out of my left eye :)
FROGGS[mobile] right Lynn, the other one is left unused 18:42
err
rightly*
TimToady no, it's my right that's unused :P
FROGGS[mobile] *g*
TimToady the cool thing is that as the eye approaches half full, I can shine a flashlight into my eye and see the water level :) 18:43
FROGGS[mobile] ohh wow
18:43 ab5tract left
TimToady if I look down at my laptop, I can't see it yet, but there's a band above horizontal that's starting to come into focus, superimposed on a strong internal reflection of the screen from the underside of the liquid 18:48
masak reminds me of a scene in "Quicksilver" where Isaac Newton sticks a needle under his eyeball in order to understand optics better. 18:49
FROGGS[mobile] ewww 18:50
TimToady so a few more days and I should be able to see pretty well looking horizontally, as the liquid covers the backside of the lens
masak FROGGS[mobile]: you say that now, but reading the chapter itself is... visceral.
FROGGS[mobile] I'll have no time to read it then 18:51
18:54 thou joined
TimToady Economics may be "the dismal science", but it makes for a pretty entertaining Baroque Cycle. 18:54
timotimo masak: "under" his eyeball? 18:55
TimToady sure, why not? I was making observations on the order in which my eye muscles became paralyzed before surgery, by noting which eye motions didn't actually change the image in both eyes :) 18:56
the left and right motion went first... 18:57
shortly followed by the rotational motion ('roll', to an airplane pilot) 18:58
up and down was the last to go :)
18:58 thou left 18:59 nbrown joined
TimToady it is a peculiar feeling, however, to look somewhere else on the ceiling, and realize the one image didn't track the other 18:59
18:59 Mouq joined
timotimo wait ... you can actually roll your eyeballs? 18:59
TimToady yes, look in a mirror and tilt your head to the left or right 19:00
you'll see your eyes rotating to keep level
assuming they work right
'course that doesn't mean what people usually mean by that phrase 19:01
I mean it as in "roll, pitch, and yaw"
timotimo yes, i understood you the first time, but looked up "Flight dynamics" on wikipedia just to make sure 19:02
but ... wow, i didn't know eyes did that
though it seems like the effect isn't very strong
TimToady yes, it's really just fine tuning, and gives up on large changes
I suspect the main purpose is to make sure your two images line up, not to keep your eyes level 19:03
19:03 nbrown left, raiph joined
timotimo fair enough 19:07
TimToady but having a cornea translant, cataract surgery, a retinal cryosurgery, and four laser procedures not including the latest retinal reattachement stuff...I know far too much about eyes
the opthamologist in the emergency room at UCLA kept exclaiming, "You talk just like an opthamologist!" :) 19:08
my paper file is about two inches thick now... 19:09
*opthalmologist
timotimo :) 19:10
TimToady was forgetting his greek...
timotimo eyes are really pretty fascinating
19:18 sjn_ left 19:19 darutoko left 19:21 xenoterracide_ joined 19:26 xenoterracide_ left 19:28 asterite joined, xenoterracide_ joined
dalek kudo/nom: eeb7c32 | (Timo Paulssen)++ | src/vm/moar/ops/perl6_ops.c:
discover a bunch of facts about p6 extops for moarvm
19:34
p-js: 9228766 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Fix bug when emitting js for cclass.
19:35
p-js: cd2f066 | (Pawel Murias)++ | src/vm/js/nqp-runtime-core/runtime.js:
Pass ctx to to_s in nqp::lc and nqp::uc.
p-js: 44f8c73 | (Pawel Murias)++ | TODO:
Start a TODO file.
19:35 pmurias joined
vendethiel pmurias++ 19:36
masak oooooh
pmurias++
dalek kudo/nom: 7e6dd3f | (Timo Paulssen)++ | src/vm/moar/ops/perl6_ops.c:
remove debug output, discover known type of p6bool.
masak I think a JS Rakudo would be non-trivially awesome.
timotimo aye. 19:37
vendethiel it'd be far more than non-trivially so :)
19:39 xenoterracide_ left, xenoterracide_ joined 19:40 rindolf left 19:42 raiph left 19:44 fling left 19:45 MilkmanDan left 19:46 MilkmanDan joined 19:49 colomon joined 19:51 xenoterracide_ left
dalek kudo/nom: 1d2bb62 | Mouq++ | src/Perl6/Actions.nqp:
Hack in @a[1;2] / %h{"a";"b"} support

Attempts to change semilist directly or use a different rule were breaking the build -- special-casing the behaviour in .[] and .{} is much simpler than tracking down all the faulty uses of <semilist> and making them all work with the change.
19:52
ast: d2d8343 | Mouq++ | S02-types/multi_dimensional_array.t:
Unfudge multidim sugar tests
20:00
jnthn Mouq++ 20:01
Mouq: Is the aim to converge on STDs handling in the end?
Mouq jnthn: Do you mean wrt semilist? 20:02
jnthn Yes
atroxaper Mouq++ 20:03
masak \o/
jnthn (I didn't look closely at how we're differing on semilist atm, just got the impression we are from the commit message)
Mouq jnthn: Because it appears that STD is incorrect there itself; it uses semilist where semilists don't make sense
jnthn Oh.
OK, Rakudo pushing STD changes is also fine :)
20:04 haroldwu left, clkao left
Mouq Yeah :/ I don't actually know what the problem was. I tried changing the semilist rule to statementlist where it made sense and having semilist make an LoL but it would cause impossible to debug compiler fails during setting. I tried adding a new rule <actually-semilist> and it made the build hang... so, maybe another day with that fix 20:05
20:06 zakharyas left
Mouq But after a few days of tweaking and compiling Rakudo trying to figure out what's wrong, it started to make more sense to me just to special case the semantically correct behaviour ;P 20:07
20:07 asterite left
Mouq FROGGS++ btw \o/ 20:07
vendethiel .u Trademark 20:10
yoleaux U+2122 TRADE MARK SIGN [So] (™)
vendethiel yoleaux++ # <3
Mouq .u copy 20:11
yoleaux U+00A9 COPYRIGHT SIGN [So] (©)
U+2117 SOUND RECORDING COPYRIGHT [So] (℗)
U+32A2 CIRCLED IDEOGRAPH COPY [So] (㊢)
20:12 Ven joined 20:15 molaf joined, haroldwu joined 20:16 clkao joined 20:20 kaare__ left 20:23 brother left, integral left 20:29 molaf left
masak m: sub foo { my $a will leave { say $a.abs } = 4; say "hi" }; foo 20:36
camelia rakudo-moar 3ae17e: OUTPUT«===SORRY!=== Error while compiling /tmp/siuETQ0_Ky␤Variable '$a' is not declared␤at /tmp/siuETQ0_Ky:1␤------> sub foo { my $a will leave { say $a.abs⏏ } = 4; say "hi" }; foo␤ expecting any of:␤ met…»
masak m: sub foo { my $a will leave { say "bye" } = 4; say "hi" }; foo
camelia rakudo-moar 3ae17e: OUTPUT«hi␤bye␤»
masak why doesn't that first one work? 20:37
no, more specifically: why isn't $a declared inside that block?
jnthn Because the "will" is part of the declaration
And so we didn't update the symbol table yet 20:38
FROGGS_ that is like using a routine wihtin the routine... which works
20:38 atroxaper left
jnthn But worse than that, I'm not sure the leave block there is working like a closure yet 20:38
masak using the variable itself from within the leave block feels like a very common use case. 20:39
jnthn You may have access to it with $_
masak m: sub foo { my $a will leave { say $_.abs } = 4; say "hi" }; foo
camelia rakudo-moar 3ae17e: OUTPUT«hi␤use of uninitialized value of type Nil in numeric context in sub foo at /tmp/DUnLOXZc70:1␤␤0␤»
jnthn bah, no
I'm not sure how var traits like that are done tbh 20:40
lizmat++ put them in, but I think ran into the fact that it's rather tricky to deal with the closure-ish semantics we want of them.
And I don't immediately have a good answer
masak ok.
jnthn Because traits are declarative things.
But here we want something to be per-variable at runtime, not per declaration. 20:41
20:42 thou joined
FROGGS_ I have no clue how to proceed with that jsonrpc@parrot problem :/ 20:45
20:46 thou left
jnthn FROGGS_: Is it a regression in Parrot (e.g. does it go away with an earlier Parrot version)? 20:48
FROGGS_ jnthn: I dunno, all three have changed (module+rakudo+parrot)
but it was good at some point
like, two months ago or perhaps three 20:49
but yeah, I could build an older parrot
20:53 Ven left 20:57 grondilu left, mr-foobar left 21:01 nbrown joined 21:03 telex left 21:04 telex joined 21:05 Sqirrel joined, nbrown left 21:08 kurahaupo joined 21:09 Alula_ left 21:14 aoseki joined, FROGGS[mobile] left 21:15 Alula_ joined 21:16 akaseki left 21:18 pmurias left 21:21 Ven joined
Mouq wonders why "compiling src/core/interp.o" always takes so long 21:28
jnthn Many lines. Epic switch statement. 21:29
timotimo it takes long? 21:30
Mouq I'm in "safe mode" with my comp, so everything takes really long '<
21:31 rurban1 left 21:33 akaseki joined 21:34 aoseki left 21:44 Rotwang left
Ven Mouq: it's giving you more time to consider how you want to shoot yourself in the foot :P 21:44
21:45 erdic left 21:46 erdic joined
dalek kudo/nom: 9a56a2c | jnthn++ | src/Perl6/Optimizer.nqp:
Disable an optimization on Moar that pessimizes.

What is on most backends a help gets in the way of spesh doing its thing with multi-dispatches and inlining. For now, just don't do it on Moar.
21:46
masak a first for me: using `given $obj -> (:$x, :$y, :$z) { ... }` to unpack an object's properties into a scope. 21:53
timotimo :3 21:54
masak idea stolen from some jnthn++ code, though he did `if SomeGrammar.parse($stuff) -> (:$x, :$y, :$z) { ... }`, which I also had not considered.
cognominal nice idioms. 21:56
timotimo aye 21:57
Ven takes note
jnthn tries to remember what code he did that in :)
timotimo is running a few monthly rakudo version benchmarks
masak jnthn: hint: I'm improving it because I said I would. 21:58
jnthn oh, cool :)
22:03 rurban1 joined 22:05 hoverboard left 22:07 rurban1 left
dalek p: 68ebbd3 | (Timo Paulssen)++ | tools/build/MOAR_REVISION:
bump moarvm for proper extop discovery and inlinable lexotics
22:18
kudo/nom: 8db87b5 | (Timo Paulssen)++ | tools/build/NQP_REVISION:
bump for MoarVM with inlinable lexotics
22:20
22:31 thou joined, Psyche^_ joined, raiph joined 22:34 Psyche^ left 22:35 thou left 22:41 firnsy left, firnsy joined
dalek blets: 8e84439 | (Herbert Breunung)++ | docs/tablet- (3 files):
linking some related chapters
22:49
23:04 rurban1 joined 23:08 rurban1 left
dalek blets: e3b2a65 | (Herbert Breunung)++ | docs/tablet- (2 files):
fixes by decasm++
23:10
23:11 tgt left 23:14 dmol left 23:19 apejens left, hoverboard joined, MilkmanDan left 23:20 MilkmanDan joined 23:21 apejens joined 23:23 Ven left 23:36 BenGoldberg joined 23:38 figoe joined
dalek blets: f0e7205 | (Herbert Breunung)++ | docs/ (6 files):
the other fixes by decasm++
23:40
23:42 xenoterracide_ joined 23:52 xragnar is now known as Guest82366, xragnar_ joined, Guest82366 left, xragnar_ is now known as xragnar