»ö« 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.
jnthn The OSX issue will be a linkingone 00:03
(No, I don't know how linking on OSX works...)
00:04 kivutar left
raydiak I suspect I've hit an impletementation wall, but is there any efficient way to store millions of values in memory under JVM? I tried hashes and arrays (swelled up to gigs for a few megs of actual data), tried buffers/compact arrays (don't seem to work yet), and am currently using a big string, which is extraordinarily slow to access 00:04
timotimo buffers should work actually 00:05
raydiak can you show me an example of one being initialized with values?
timotimo r: say Buf[int8].new(1, 2, 3, 4, 5, 128, 255); 00:06
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«Buf:0x<01 02 03 04 05 -80 -1>␤»
raydiak r: my $a = Buf[uint8].new(1, 2, 3, 4, 5, 128, 255); say $a[0]; 00:07
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«1␤»
raydiak r: my $a = Buf[uint8].new(1, 2, 3, 4, 5, 128, 255); $a[0] = 2;
camelia rakudo-parrot 4f66ce: OUTPUT«Cannot modify an immutable value␤ in block at /tmp/thfLb3kAzA:1␤␤»
..rakudo-jvm 4f66ce: OUTPUT«Cannot modify an immutable value␤␤»
raydiak can I write to it? 00:08
r: my $a = Buf[uint8].new(1, 2, 3, 4, 5, 128, 255); $a[0] := uint8.new(2);
camelia rakudo-parrot 4f66ce: OUTPUT«Default constructor for 'uint8' only takes named arguments␤ in method new at gen/parrot/CORE.setting:812␤ in method new at gen/parrot/CORE.setting:807␤ in block at /tmp/F0la2K0H9E:1␤␤»
..rakudo-jvm 4f66ce: OUTPUT«Default constructor for 'uint8' only takes named arguments␤␤»
raydiak r: my $a = Buf[uint8].new(1, 2, 3, 4, 5, 128, 255); $a[0] := uint8.new(value => 2);
camelia rakudo-parrot 4f66ce: OUTPUT«No such method 'BUILDALLPLAN' for invocant of type 'Perl6::Metamodel::NativeHOW'␤ in method BUILDALL at gen/parrot/CORE.setting:832␤ in method bless at gen/parrot/CORE.setting:824␤ in method new at gen/parrot/CORE.setting:809␤ in method new a…»
..rakudo-jvm 4f66ce: OUTPUT«java.lang.NullPointerException␤ in method BUILDALL at gen/jvm/CORE.setting:905␤ in method bless at gen/jvm/CORE.setting:817␤␤»
raydiak r: my $a = Buf[uint8].new(1, 2, 3, 4, 5, 128, 255); $a[0] = uint8.new(value => 2);
camelia rakudo-jvm 4f66ce: OUTPUT«java.lang.NullPointerException␤ in method BUILDALL at gen/jvm/CORE.setting:905␤ in method bless at gen/jvm/CORE.setting:817␤␤»
..rakudo-parrot 4f66ce: OUTPUT«No such method 'BUILDALLPLAN' for invocant of type 'Perl6::Metamodel::NativeHOW'␤ in method BUILDALL at gen/parrot/CORE.setting:832␤ in method bless at gen/parrot/CORE.setting:824␤ in method new at gen/parrot/CORE.setting:809␤ in method new a…»
raydiak r: my $a = Buf[uint8].new(1, 2, 3, 4, 5, 128, 255); substr($a, *-1); 00:09
camelia rakudo-jvm 4f66ce: OUTPUT«Nominal type check failed for parameter '$s'␤␤»
..rakudo-parrot 4f66ce: OUTPUT«Nominal type check failed for parameter '$s'; expected Cool but got Buf[uint8] instead␤ in sub substr at gen/parrot/CORE.setting:3544␤ in block at /tmp/W85CvDb45c:1␤␤»
raydiak is there a way to write into an existing buffer? 00:10
timotimo r: my $a = Buf[uint8].new(1, 2, 3); $a[2] = 99; say $a; 00:11
camelia rakudo-jvm 4f66ce: OUTPUT«Cannot modify an immutable value␤␤»
..rakudo-parrot 4f66ce: OUTPUT«Cannot modify an immutable value␤ in block at /tmp/KQ44WsaOyR:1␤␤»
timotimo r: my $a = Blob[uint8].new(1, 2, 3); $a[2] = 99; say $a;
camelia rakudo-jvm 4f66ce: OUTPUT«Cannot modify an immutable value␤␤»
..rakudo-parrot 4f66ce: OUTPUT«Cannot modify an immutable value␤ in block at /tmp/nuLHEavk1J:1␤␤»
timotimo which one was the mutable one?
TimToady Buf, supposedly
jnthn Buf, but it's not yet mutable 00:12
Needs same work as native arrays do
timotimo Buf is supposed to, yeah :|
time to get that working ;)
TimToady
.oO("These Bufs are made for writin', and writin's what they do, and one of the days these Bufs are gonna write all over you...")
jnthn Yeah, it's pretty high on my post-Moar todo list :) 00:13
pmichaud thinks TimToday may have been in Texas too long.
jnthn Which, given we're at 98% or so... :)
TimToady r: my $a = Buf[uint8].new(1, 2, 3); $a.subbuf-rw(0,1) = 99; 00:14
camelia rakudo-jvm 4f66ce: OUTPUT«No such method 'subbuf-rw' for invocant of type 'Buf[uint8]'␤␤»
..rakudo-parrot 4f66ce: OUTPUT«No such method 'subbuf-rw' for invocant of type 'Buf[uint8]'␤ in block at /tmp/hvolO304jj:1␤␤»
timotimo jnthn: yeah, anything in particular keeping us from merging?
jnthn timotimo: We need to merge nom into moar-support, and then make sure Parrot and JVM don't regress on any tests over nom. 00:15
That's mostly "run tests, compare output" in the best case.
And "fix stuff" in the worst.
I'd *like* to fix the OSX build before we merge.
But there's no real reason we need to I guess.
TimToady you've got 15 minutes :)
[Coke] r: _~*.A # RT#77246
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77246
camelia rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/9N48XBBot6␤Undeclared name:␤ _ used at line 1␤␤» 00:16
..rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/OaGlbPW6V_␤Undeclared name:␤ _ used at line 1␤␤»
jnthn bah, I dunno how OSX links :P
dalek rl6-roast-data: 7aae641 | coke++ | / (6 files):
today (automated commit)
raydiak timotimo++ jnthn++ TimToady++ # thanks for the clarification 00:17
[Coke] 98.17%
jnthn Nob Bad
Not
timotimo gotta run 00:21
dalek ast: cff0104 | coke++ | integration/weird-errors.t:
add test for RT #77246
00:23
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77246
00:29 treehug88 joined
dalek ast: e776b42 | coke++ | S02-literals/string-interpolation.t:
add test for RT #78202
00:31
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=78202
raydiak out of interest in the deeper things I don't understand yet, what is occupying all that memory for the boxed values? seems like the inflation was 2-3 orders of decimal magnitude in my case 00:33
jnthn raydiak: What types of values have you got? 00:34
raydiak jnthn: mostly numbers in the 0-1 range
00:35 dmol left, treehug88 left
jnthn OK, so a boxed Num will be object header + the actual value, and then if you have an Array then each of those is in a Scalar container 00:35
00:36 Pleiades` left
timotimo a list would be smaller then? 00:37
jnthn Yes, but how'd you mutate it? :)
well, bind of course 00:38
timotimo yup
jnthn Actualy, using an array but binding instead of assigning would be faster :)
timotimo use nqp::list_n instead
dalek ast: 7be1983 | coke++ | S05-grammar/methods.t:
add test for RT#113552
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=113552
jnthn The answer when it's implemented will be "use my num @a" :)
timotimo maybe faster but less memory usage?
i would like that, yes 00:39
jnthn Well, my num @a will boil down to the same 6model REPR than nqp::list_n uses ;)
clsn Is a method supposed to have access to the private methods/attributes of an instance of the class other than self?
00:40 treehug88 joined
TimToady yes, which is why you have to use the $other!method syntax 00:40
timotimo oh
jnthn dinnerz & 00:41
TimToady likewize &
timotimo that could help japhb out a lot
[Coke] completes questhub.io/realm/perl/quest/52d435...3819000050 and immediately starts another one. 00:42
timotimo [Coke]++
clsn I think I tried that. Hmm.
00:43 btyler joined, Pleiades` joined
[Coke] r: my $a; my $c; ($a, $, $c) = 1..3; 00:44
camelia rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/_8CZwy0Onq␤Unsupported use of $, variable; in Perl 6 please use $*OUT.output_field_separator()␤at /tmp/_8CZwy0Onq:1␤------> my $a; my $c; ($a, ⏏$, $c) = 1..3;␤ expecti…»
..rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/ymoaMmnU4Z␤Unsupported use of $, variable; in Perl 6 please use $*OUT.output_field_separator()␤at /tmp/ymoaMmnU4Z:1␤------> my $a; my $c; ($a, ⏏$, $c) = 1..3;␤ expe…»
[Coke] std: my $a; my $c; ($a, $, $c) = 1..3;
camelia std 09dda5b: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at /tmp/knqlkgPTUP line 1:␤------> my $a; my $c; ($a, ⏏$, $c) = 1..3;␤Use of uninitialized value $first in string eq at STD.pm line 66778.␤Use of uninitialized v…»
00:44 araujo joined
clsn class A { has $!x=rand; method show(A $m) { say self!x ~ ", " ~ $m!x } }; my $a=A.new; my $b=A.new; $a.show($b) 00:46
r: class A { has $!x=rand; method show(A $m) { say self!x ~ ", " ~ $m!x } }; my $a=A.new; my $b=A.new; $a.show($b)
camelia rakudo-jvm 4f66ce: OUTPUT«No such private method '!x' for invocant of type 'A'␤␤»
..rakudo-parrot 4f66ce: OUTPUT«No such private method '!x' for invocant of type 'A'␤ in method show at /tmp/M2HIhMq7kH:1␤ in block at /tmp/M2HIhMq7kH:1␤␤»
[Coke] RT #118075 - sat without a test, so it broke again. :(
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118075
clsn Yeah... what am I missing here? Is it because it's an attribute and not a method?
Apparently so. Defining a method lets me get to it. 00:47
[Coke] p: say (;:[]) #RT #115284 00:48
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115284
camelia rakudo-parrot 4f66ce: OUTPUT«␤»
dalek ast: 018d397 | coke++ | integration/weird-errors.t:
add test for RT #115284
00:50
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115284
[Coke] timotimo: rt.perl.org/Ticket/Display.html?id=120753 - you still going to add that test? 00:53
00:54 treehug88 left 00:55 Timbus left
timotimo [Coke]: it would be splendid if you could do it for me 00:55
it's somewhat tricky
else i would have already done it :)
clsn How do I add a comment to a bug? 00:56
timotimo reply to the mail, for example
00:56 Timbus joined
timotimo otherwise, log in to the rt with your bitcard account 00:56
(or create it if you don't have one yet)
clsn: i have a local patch that makes the Nil show up in any("a", "b").match(/a/) 00:57
er. nope.
00:57 jnap left
clsn Great. I think my signature/parameter stuff is nearly ready to submit. Some notable holes still, some which require adding methods to Parameter, which I wasn't going to do. 00:58
And there are some we really can't do. There isn't much to be done with type variables, for example.
(there are a hell of a lot of weird corner cases, especially in .perl of Parameters. my code is a mess.) 00:59
01:03 Rix left, thou left
clsn hrmp. bitcard isn't letting me get back to rt... grumble... 01:03
01:04 Rix joined
raydiak r: say num.new: 1 01:04
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«1e0␤»
raydiak r: say int.new: 1 01:05
camelia rakudo-parrot 4f66ce: OUTPUT«Default constructor for 'int' only takes named arguments␤ in method new at gen/parrot/CORE.setting:812␤ in method new at gen/parrot/CORE.setting:807␤ in block at /tmp/ICaN32SNxl:1␤␤»
..rakudo-jvm 4f66ce: OUTPUT«Default constructor for 'int' only takes named arguments␤␤»
raydiak r: say int.new: :value(1)
camelia rakudo-jvm 4f66ce: OUTPUT«java.lang.NullPointerException␤ in method BUILDALL at gen/jvm/CORE.setting:905␤ in method bless at gen/jvm/CORE.setting:817␤␤»
..rakudo-parrot 4f66ce: OUTPUT«No such method 'BUILDALLPLAN' for invocant of type 'Perl6::Metamodel::NativeHOW'␤ in method BUILDALL at gen/parrot/CORE.setting:832␤ in method bless at gen/parrot/CORE.setting:824␤ in method new at gen/parrot/CORE.setting:809␤ in method new a…»
btyler back, saw jnthn++'s comment on it being a linking issue, sadly I don't know much about linking on OSX either...but I'm happy to help test theories
clsn there we are.
raydiak ^^^ how do I create a native int without a container, and why doesn't it work the same way as it does for num? 01:07
timotimo r: say (anon int8 = 5)
camelia rakudo-parrot 4f66ce: OUTPUT«===SORRY!===␤Type 'int8' is not declared. Did you mean any of these?␤ int␤ int1␤ int2␤ int4␤ uint8␤␤at /tmp/_x8rfmd5aO:1␤------> say (anon int8 ⏏= 5)␤Malformed anon␤at /tmp/_x8rf…»
..rakudo-jvm 4f66ce: OUTPUT«===SORRY!===␤Type 'int8' is not declared. Did you mean any of these?␤ int␤ int4␤ int1␤ int2␤ uint8␤␤at /tmp/v3f7Qtfoqg:1␤------> say (anon int8 ⏏= 5)␤Malformed anon␤at /tmp/v3f7Qtfo…»
timotimo r: say (anon uint8 = 5)
camelia rakudo-jvm 4f66ce: OUTPUT«===SORRY!===␤Type 'uint8' is not declared. Did you mean any of these?␤ int8␤ uint␤ uint1␤ uint2␤ uint4␤␤at /tmp/KqLuh4COHY:1␤------> say (anon uint8 ⏏= 5)␤Malformed anon␤at /tmp/KqL…»
..rakudo-parrot 4f66ce: OUTPUT«===SORRY!===␤Type 'uint8' is not declared. Did you mean any of these?␤ int8␤ uint␤ uint1␤ uint2␤ uint4␤␤at /tmp/w4Aao0MfxL:1␤------> say (anon uint8 ⏏= 5)␤Malformed anon␤at /tmp/…»
timotimo that's bollocks
r: say (anon uint8 :: = 5)
camelia rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/IM5kfBqdGz␤Cannot use :: as a type name␤at /tmp/IM5kfBqdGz:1␤------> say (anon uint8 :: ⏏= 5)␤ expecting any of:␤ scoped declarator␤»
..rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/Ty0STPeni2␤Cannot use :: as a type name␤at /tmp/Ty0STPeni2:1␤------> say (anon uint8 :: ⏏= 5)␤ expecting any of:␤ scoped declarator␤»
[Coke] GAH 01:08
... says the man who has been spamming the channel all night with RT stuff.
timotimo r: say { my uint8 $ = 10 }
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«Block.new()␤»
timotimo r: say { my uint8 $ = 10 }()
:P
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«10␤»
[Coke] wonders why S05-mass/rx.t has a bunch of comments describing every test. 01:10
[Coke] assumes it's from a p5 rx test file. 01:11
raydiak r: sub int ($val) { my uint8 $ = $val }; my @vals := int $_ for ^10; say @vals.perl;
camelia rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/sA3Tdl20k0␤Two terms in a row␤at /tmp/sA3Tdl20k0:1␤------> { my uint8 $ = $val }; my @vals := int ⏏$_ for ^10; say @vals.perl;␤ expecting any of:␤ postfix␤…»
..rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/rca1HQncDw␤Two terms in a row␤at /tmp/rca1HQncDw:1␤------> { my uint8 $ = $val }; my @vals := int ⏏$_ for ^10; say @vals.perl;␤ expecting any of:␤ postfix…»
raydiak r: sub makeint ($val) { my uint8 $ = $val }; my @vals := (makeint $_ for ^10); say @vals.perl;
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(0, 1, 2, 3, 4, 5, 6, 7, 8, 9).list␤»
raydiak r: sub makeint ($val) { my uint8 $ = $val }; my @vals := List.new(makeint $_ for ^10); say @vals.perl; 01:12
camelia rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/yUJJ8jEfW1␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/yUJJ8jEfW1:1␤------> $val }; my @vals := List.new(makeint $_ ⏏for ^10); say @vals.perl;…»
..rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/5lQsrFKkC3␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/5lQsrFKkC3:1␤------> $val }; my @vals := List.new(makeint $_ ⏏for ^10); say @vals.pe…»
raydiak erm, sorry, I'll stop with the flooding
dalek ast: 1b0aa36 | coke++ | S05-mass/rx.t:
Add test for RT #120753
01:13
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120753
clsn Do I need to have my account validated or something on RT? Now that I'm logged in, I can't see any tickets. 01:14
[Coke] What's your login? 01:18
clsn [email@hidden.address]
[Coke] try now. 01:19
clsn Hm. I feel like redoing my Signature mapping a whole new way.
Shows me the tickets I submitted now, but I can't see other tickets.
[Coke] note that comments are not automatically sent to the mailing list, you may have to click "toggle send to perl6..." or something.
clsn: start at rt.perl.org. upper RHS, click on "perl6" in the table. 01:20
under "quick search"
clsn rt.perl.org redirects me to rt.perl.org/SelfService/, which lists my tickets (only). Clicking the camel on upper RHS does not help. 01:21
[Coke] rt.perl.org/Search/Results.html?Qu...'stalled')
clsn Back at SelfService. Let me check cookies again; I thought I was accepting them. 01:22
Yeah, accepting cookies. 01:23
[Coke] try logging out and back in?
dalek ast: 62e02f8 | coke++ | S32-exceptions/misc.t:
add test for RT #116547
01:24
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116547
clsn No luck.
01:24 yoleaux left
[Coke] JS disabled? 01:25
timotimo [Coke]: i'm glad you're spending time killing testneeded bugs :)
[Coke] timotimo: I hate this job. :P
er, you're welcome. :) 01:26
timotimo haha
clsn I didn't disable JS.
[Coke] ok.
timotimo teh fok?
what does teh fok say? 01:27
[Coke] clsn: might be worth opening a ticket with the rt admins for perl
clsn Heh. Maybe. 01:28
01:28 treehug88 joined 01:31 thou joined 01:34 jnap joined
[Coke] only needs 4 more to close his second set of 10 quest, which doesn't even have any likes, timo! 01:43
timotimo oh, that's weird
[Coke] well, i did just create it. 01:45
timotimo obviously a bug in questhub 01:46
i see one like!
01:47 raiph joined
[Coke] is adding some tests that are introspecting exception messages because their types are LTA. Coke hopes this is better than no tests. 01:51
dalek ast: 9c0a20d | coke++ | S12-class/augment-supersede.t:
add test for RT #117163
01:52
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117163
[Coke] ^^ that is for "is also", which isn't tested anywhere in roast other than the failure mode I just tested. 01:53
er, "also is". 01:54
timotimo oh, huh.
01:56 bjz left
[Coke] r: .say for (1, 2, 3)<<~>>"!" # RT # 117045 01:57
camelia rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/4yeHzovIpJ␤Two terms in a row␤at /tmp/4yeHzovIpJ:1␤------> .say for (1, 2, 3)<<~>>⏏"!" # RT # 117045␤ expecting any of:␤ postfix␤ shell-quote word…»
..rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/0zCbgIh98g␤Two terms in a row␤at /tmp/0zCbgIh98g:1␤------> .say for (1, 2, 3)<<~>>⏏"!" # RT # 117045␤ expecting any of:␤ postfix␤ shell-quote words…»
02:00 bjz joined
clsn There. Isn't it neater to make an ACCEPTS to compare Parameters, and use that in the Signature comparison, as opposed to matching up parameters in the signature comparison? I hope it works. 02:01
Let's see if it compiles; that's 15m. 02:02
timotimo that does sound sensible, yeah
15 minutes!?
[Coke] p: role A[::T?] {}; class B does A[] {}; say "alive" 02:03
camelia rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/Jsd0XX9SPz␤Unable to parse expression in generic role; couldn't find final ']' ␤at /tmp/Jsd0XX9SPz:1␤------> role A[::T⏏?] {}; class B does A[] {}; say "alive"␤ exp…»
[Coke] r: use Test; eval_lives_ok '1<&1' 02:04
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«not ok 1 - ␤# Error: Whitespace required before < operator␤»
[Coke] Do we have any tests for Test.pm ? 02:05
rt.perl.org/Ticket/Display.html?id=77650 is working these days, just need a test for it. 02:06
away for a bit. 02:08
02:10 rurban2 left 02:11 treehug88 left
timotimo beds 02:19
02:22 treehug88 joined 02:26 treehug88 left 02:36 colomon left 02:38 colomon joined 02:44 ilbot3 left 02:47 bjz left, lucs joined
dalek t--IRC/concurrency: a74094e | (Geoffrey Broadwell)++ | lib/Net/IRC/Logger.pm:
Add a basic concurrency-safe logger class, Net::IRC::Logger
02:47
t--IRC/concurrency: 87acc1c | (Geoffrey Broadwell)++ | lib/Net/IRC/SocketConnection.pm:
Add a basic concurrent socket I/O class, Net::IRC::SocketConnection
02:47 bjz joined
japhb takes a mental break to catch up with backlog 02:49
colomon japhb: are threads already working in Moar? 02:51
jnthn colomon: no
[Coke]: 99-test-basic.t in sanity tests exercises Test.pm 02:52
clsn: Yes, making Parameter compare each one makes sense
colomon darn 02:53
02:54 bjz left 02:55 bjz joined 03:00 bjz left 03:01 bjz joined, bjz left, bjz joined 03:02 kbaker joined 03:06 bjz left 03:09 bjz joined
japhb Yeah, that error message is written that way so that by the time I merge, it will hopefully be correct, and I won't forget to update it. 03:09
colomon :)
03:10 stevan_ joined 03:11 stevan_ left 03:12 stevan_ joined 03:16 yoleaux joined, ChanServ sets mode: +v yoleaux
raydiak in case anyone tries to do the too-many-numbers thing with jvm like I was talking about earlier, I'm having success with arrays (1 per row of a square dataset) of strings (though haven't tested the lists of native nums yet) 03:23
03:25 treehug88 joined
japhb Doesn't repr CArray work? Did someone try that? 03:26
raydiak I didn't...hadn't heard of CArray before 03:27
just got a stack overflow with a 1e7 list of uint1s, so I guess thats out 03:29
japhb Come to think of it, I don't remember if CArray works on JVM yet, may be parrot only right now. :-/
raydiak once bufs/compact arrays are writable, it'll be a moot point anyway...I've just been going in circles for a couple days, trying to figure out how to effectively buffer our output so I can move forward with concurrency 03:31
but rendering is done in hilbert(ish) order now, or will be when the concurrency branch is merged...so will also be able to add effective caching like you were talking about 03:41
TimToady I see ilbot3 crashed again
03:44 dayangkun left 03:47 kbaker left 03:51 bjz left 03:54 jnap left
timotimo has trouble falling asleep again :| 03:55
japhb: did you see the $other!private = foo trick TimToady mentioned earlier?
03:57 dayangkun joined, colomon left 04:03 thou left 04:04 raiph left 04:05 colomon joined
[Coke] jnthn: should Test.pm be tested as part of roast? 04:05
r: my @methods = { say "hello" }.^methods 04:07
camelia ( no output )
04:12 bjz joined
[Coke] does eval_dies_ok trap segfaults or just normal rakudo exceptions? 04:13
04:14 preflex_ joined, ChanServ sets mode: +v preflex_, jeffreykegler left
[Coke] ... reading that outloud, sounds like I'm insane. nevermind. 04:14
dalek ast: 8400bc9 | coke++ | S04-exception-handlers/catch.t:
add test for RT #115184
04:15
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115184
04:15 preflex left 04:16 preflex_ is now known as preflex 04:22 thou joined 04:24 jnap joined 04:27 treehug88 left 04:28 skids joined
dalek ast: c9ea846 | coke++ | S11-modules/require.t:
add a test (sort of) for RT#113956
04:29
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=113956
04:30 jnap left
[Coke] ok, that's 20 tickets in 2 days. 04:32
mostly testneeded, some that were open when the should ahve been closed. Easy peasy, folks. Step right up! 04:33
timotimo nobody stepped up to the challenge i made in my advent calendar post
... it was still better than having nothing on that day, though 04:34
04:54 bjz left, bjz joined
timotimo merged nom into moar-support for fun 05:05
05:07 bjz left, bjz joined 05:08 eternaleye left
timotimo huh, Missing test file: t/spec/S04-operators/brainos.t 05:17
t/spec/S02-types/deprecations.rakudo.parrot aborted due to "no such method defined in Hash" 05:19
i guess that's fine? we've been deprecating that and now we've removed it?
jnthn No, the test should pass 05:23
timotimo some explosions here and there
timotimo reviews the merge commit
05:23 [Sno] left
timotimo er ... isn't there a way i can do that? 05:24
05:25 jnap joined
timotimo oh, No such method 'defined' for invocant of type 'Hash' comes from a nqp::defor 05:25
t/spec/S06-other/main-usage.rakudo.parrot has some strange failures, one of which comes down to the same defor i think 05:27
05:27 Alina-malina left
timotimo t/spec/S11-modules/require.rakudo.parrot - has one failing test for the same reason 05:27
05:27 Alina-malina joined
timotimo yeah, that seems to cause most if not all of the test failures; it's the one in the BUILD method of Capture 05:28
05:28 BenGoldberg left 05:30 jnap left
timotimo can't tell what's gone wrong in the mean time 05:35
oh, wait, that could have been an nqp change actually?
05:36 jeffreykegler joined
timotimo i see nothing obvious there at least :| 05:36
05:41 thou left 06:12 kaleem joined 06:13 SamuraiJack joined 06:21 eternaleye joined 06:22 jeffreykegler left 06:24 bjz left 06:26 jnap joined 06:30 [Sno] joined 06:31 jnap left 06:32 ilbot3 joined 06:35 filly joined
moritz good omrning 06:37
raydiak morning moritz 06:38
06:44 darutoko joined 06:47 ilbot3_beta joined 06:51 FROGGS left 06:58 ilbot3_beta left 06:59 ilbot3_beta joined, ilbot3_beta left, ilbot3_beta joined, ilbot3_beta left 07:00 ilbot3_beta joined 07:10 berekuk_ joined 07:12 ilbot3_beta left 07:22 mdxi joined 07:24 berekuk_ left 07:27 jnap joined 07:31 jnap left 07:52 FROGGS joined 08:00 mdxi left 08:05 zakharyas joined
FROGGS [Coke]++ 08:09
awesome RT work!
08:13 mberends left 08:17 pecastro joined 08:25 bjz joined 08:27 jnap joined 08:30 dmol joined 08:32 jnap left 08:46 bjz left
hoelzro morning #perl6 09:01
FROGGS morning hoelzro 09:02
09:02 wtw joined 09:06 bjz joined 09:23 denis_boyun joined
grondilu rn: my @a; my $sum; say $sum += @a.push(7); 09:24
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«1␤»
..niecza v24-109-g48a8de3: OUTPUT«Use of uninitialized value in numeric context␤ at /home/p6eval/niecza/lib/CORE.setting line 1389 (warn @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 301 (Any.Numeric @ 8) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/WIN1_gChNK l…»
grondilu realizes that @a.push($x) returns the modified @a, not $x 09:25
09:28 jnap joined 09:33 jnap left
moritz p: try EVAL q[/ /]; say $!.perl 09:44
camelia rakudo-parrot 4f66ce: OUTPUT«X::Syntax::Regex::NullRegex.new(filename => "eval_0", line => 1, column => Any, modules => Array.new(), is-compile-time => 1, pre => "/ /", post => "<EOL>", highexpect => Array.new())␤»
09:44 dakkar joined 09:51 btyler left
dalek ast: 73208bf | moritz++ | S32-exceptions/misc.t:
RT #78404: Error reporting on Null regexes
09:59
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=78404
moritz p: /a | / 10:00
camelia rakudo-parrot 4f66ce: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter | (must be quoted to match literally)␤at /tmp/zXzH2EnbDL:1␤------> /a | ⏏/␤Unable to parse regex; couldn't find final '/'␤at /tmp/zXzH2EnbDL:1␤------> /…»
moritz has anybody reported this as a bug?
10:00 kaleem left 10:02 sqirrel joined
moritz does so 10:03
tadzik moritz++
10:03 bjz left 10:04 kaleem joined
moritz std: /a | / 10:05
camelia std 09dda5b: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/bw6vpvA5Z0 line 1:␤------> /a | ⏏/␤Parse failed␤FAILED 00:01 122m␤»
10:08 kivutar joined 10:16 hummeleBop joined
moritz p: say 'non-existent-copy'.IO.e 10:22
camelia rakudo-parrot 4f66ce: OUTPUT«False␤»
moritz t/spec/S32-io/copy.t fails two tests on rakudo-parrot for me 10:24
and reports a few deprecation warnings
tadzik do we have an often-running module smoketester? 10:26
moritz tadzik: colomon++ had something, at some time, but I have no idea how often it runs, and if still
dalek ast: 25873dc | moritz++ | S32-io/copy.t:
test .path.copy instead of deprecated .IO.copy
10:27
tadzik I'd like to see if zavolaj/reduce-overhead broke something, and if not, I'd like to merge it :)
10:29 jnap joined 10:32 daniel-s joined 10:33 jnap left 10:35 fhelmberger joined 10:43 filly left 10:44 filly joined 11:07 hummeleBop left 11:10 pecastro left 11:11 bjz joined
colomon moritz: it tries to run every night, pretty reliably. The uptime for the Dancer app to view the results is more variable. 11:23
and ooo, we got a number of failures in the last two days.
tadzik good, I only pushed something yesterday :P 11:24
colomon: does it have a rememberable domain?
colomon Template::Mojo and Bailador are both on the failure list.
FROGGS ohh
colomon tadzik: nope, it's just running on the machine in my basement
tadzik and/or, can we link to it from modules.perl6.org and/or feather.perl6.nl:3000
FROGGS colomon: might that be due to s/eval/EVAL/ ? 11:25
tadzik colomon: how about we give it one? :)
colomon if we were smart, we'd probably copy the smoke results to feather (or something) and run the Dancer script there. 11:26
tadzik we can arrange that
feather.perl6.nl:3000/ is, unsurprisingly, Dancer app :P
colomon 75.134.170.198:3001/report is where it is this morning. :) 11:27
11:30 jnap joined
FROGGS colomon: how recent is your rakudo? 11:30
11:30 pecastro joined
FROGGS colomon: because it does not support EVAL 11:31
colomon FROGGS: pulled and rebuilt every night
its part of the smoke
FROGGS hmmm
tadzik colomon: I linked to it from the feather modules page :)
FROGGS colomon: because Template::Mojo fails for two days because of this patch: github.com/tadzik/Template-Mojo/co...bf919b21d3 11:32
tadzik colomon: can we put an Atom feed on that page too? Preferably per-repo-owner :)
colomon tadzik: I don't know how?
tadzik colomon: I can implement that for you
colomon tadzik: note you can already do 75.134.170.198:3001/report/tadzik 11:33
tadzik ooh, that's fantastic
colomon++
colomon FROGGS: it's running This is perl6 version 2013.12-8-g53c60ca built on parrot 5.9.0 revision RELEASE_5_9_0
tadzik colomon: anyway, if you give me access to the code I'll add Atom feeds to that pages 11:34
colomon … which is wildly out of date. huh.
tadzik so people can subscribe to them and get nagged when something breaks
11:34 jnap left
moritz colomon: maybe some uncommitted changes block a 'git pull' in rakudo? 11:37
11:40 V_S_C joined
FROGGS or it needs to adjusted to fit our build system changes 11:40
colomon tadzik: github.com/colomon/SmokeResults (you are now a contributor) 11:44
11:45 V_S_C left
tadzik colomon: thanks! 11:46
colomon moritz: I just blew away my rakudo (on that account) and started a fresh build 11:47
11:49 pecastro left 11:58 pecastro joined
raydiak why would I be getting a stack overflow trying to build perl6-j if I added the suggested '-Xms500m -Xmx2g', activated 2 gigs of swap, and have almost 1 gig ram free? 11:58
moritz maybe the OS doesn't want to swap the stack? 12:04
no idea
try with a smaller stack size?
raydiak yeah I'm thinking swap isn't helping...trying reduced stack size 12:10
no luck 12:12
moritz :( 12:13
raydiak I haven't tried building jvm on this machine before
12:14 jeffreykegler joined
raydiak it's a laptop with 1 gig ram and no hard drive...os and swap are on a flash drive that writes at like 5 megs/sec :P 12:14
but I got it to build on my vps with half the ram...must be the laptop won't swap for some reason 12:15
raydiak wishes Actions.nqp (whatever that is) were split up into smaller files 12:17
moritz that won't help much; the real bottleneck is the setting 12:18
12:19 hummeleBop joined
raydiak guess restarting the gui is in order, since the memory savings doesn't seem to be helping 12:21
ought to go to bed anyways...maybe I'll go at this fresh tomorrow 12:24
g'night moritz++ (thanks for the suggestions) and #perl 12:25
*#perl6
12:25 atroxaper joined
arnsholt tadzik: Could you send me/gist the code you've been using to profile Zavolaj? 12:27
tadzik arnsholt: use NativeCall; sub strlen(Str) is native { * }; my $start = pir::time__N(); for 1..50000 { strlen("") }; say pir::time__N() - $start 12:28
I hope there's no typo there :) 12:29
star: use NativeCall; sub strlen(Str) is native { * }; my $start = pir::time__N(); for 1..5 { strlen("") }; say pir::time__N() - $start
camelia star 2013-09: OUTPUT«0.00651907920837402␤»
tadzik yeah, looks good :)
dalek ast: 89cce2b | (Elizabeth Mattijsen)++ | S02-types/bool.t:
Don't need "done" when we have a plan
tadzik arnsholt: well, actually I was profiling it on the test.pl from that gist from the-day-before-yesterday 12:30
but that was a stupid move, because it basically has a sleep() inside :P
12:30 erkan left
tadzik and all we really cared about is bothered by that one-liner here 12:30
s/bothered/covered/
12:31 jnap joined, erkan joined
arnsholt Yeah 12:32
arnsholt goes to investigate some more
12:34 jeffreykegler left 12:35 jnap left 12:42 sqirrel left 13:01 dakkar left
timotimo o/ 13:08
tadzik hey hey 13:09
arnsholt tadzik: I don't get quite the same speedup you saw, I think. But still a factor of 2 13:10
tadzik hm
that's very low :)
arnsholt Goes from 2.0080349445343 to 1.05001401901245 13:11
tadzik for how many calls?
I was testing it on 50k
arnsholt 50000
tadzik hm
timotimo tadzik: Task::Star seems to still depend on File::Tools, wasn't that merged into some other package?
tadzik timotimo: oh, it was unmerged into 2 packages
timotimo ah, right
tadzik arnsholt: what if you increase it tenfold, or more? 13:12
it'll probably be the same
arnsholt 9.65457582473755 on new 13:13
20.0757520198822 on old
tadzik hm 13:14
yeah, I get similar results on my work machine 13:15
weird :)
perhaps my laptop is very bad or very good at something
timotimo tadzik: for portability reasons, consider using nqp::time_n instead of pir::time__N() 13:16
tadzik backlog indicates that it was 14 secs vs 0.8 yesterday
timotimo: oh, that's even easier to type :) Thansk 13:18
13:18 skids left 13:19 SamuraiJack left
tadzik arnsholt: that's weird :| 13:20
I'm now having trouble to reproduce the speedup, and it makes me sad
timotimo tadzik, cannot reproduce your crazy improvements when replacing returns with equivalent fall-out-of-end-of-block: gist.github.com/timo/ec2834b28ebf27d15416 13:22
tadzik timotimo: oh, that didn't impact stuff very much 13:23
that had about 5% improvement
timotimo ah, right
tadzik caching return type helped a lot in my case
timotimo yeah 13:24
i misunderstood you perhaps :)
tadzik well, it's weird anyway 13:25
I'll repeat tests on my laptop today
perhaps it was some pathological case 13:26
or I commited something else than what I was testing :P
13:26 woolfy joined 13:27 woolfy1 left
tadzik but it looks alright 13:28
oh-oh 13:30
add sync-local.opera.com to /etc/hosts?
whoops, ww
you didn't see that
13:30 kaleem left 13:31 mtk left, jnap joined 13:34 mtk joined 13:35 kaare_ left 13:36 jnap left 13:46 bjz left 13:47 dakkar joined 13:48 bjz joined 13:49 kivutar left 13:54 treehug88 joined 14:02 ajr joined 14:03 ajr is now known as Guest77085
grondilu r: say 2 R/ my $ += 1 14:04
camelia rakudo-jvm 4f66ce: OUTPUT«use of uninitialized value of type Any in numeric context␤Cannot modify an immutable value␤ in block at gen/jvm/CORE.setting:16328␤␤»
..rakudo-parrot 4f66ce: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/lNVbR_6zjB:1␤␤Cannot modify an immutable value␤ in block at gen/parrot/CORE.setting:16601␤ in block at /tmp/lNVbR_6zjB:1␤␤»
grondilu r: say 2 R/ (my $ += 1)
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«0.5␤»
moritz the / has tighter precedence than + 14:05
and the R doesn't change that
grondilu ok
14:07 Guest77085 is now known as ajr_
grondilu in order to avoid parenthesis, I wish we could write something like : '2 R/: 1 + 1' , kind of like method calls can be done with ':' : .method: @args 14:09
a metoperator that transform an infix operator into the same operator but with lowest precedence. 14:10
*metaoperator
grondilu hates prenthesis to death 14:11
moritz there's another solution
split it into two statements
my $x = 1 + 1; $x / 2
timotimo r: say infix:</>: 6, 2
camelia rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/0tHmUAN1Ze␤Two terms in a row␤at /tmp/0tHmUAN1Ze:1␤------> say infix:</>⏏: 6, 2␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤…»
..rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/iOyRXlPpVA␤Two terms in a row␤at /tmp/iOyRXlPpVA:1␤------> say infix:</>⏏: 6, 2␤ expecting any of:␤ argument list␤ postfix␤ infix stopper…»
grondilu moritz: that's no fun 14:12
moritz p: say infix:</> 6, 2
camelia rakudo-parrot 4f66ce: OUTPUT«3␤»
timotimo oh, of course
r: say infix:<R/> 6, 2
camelia rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/F2TT0OG6g8␤Undeclared routine:␤ infix:<R/> used at line 1. Did you mean '&infix:<//>', '&infix:<~>>', '&infix:<||>', '&infix:<∋>'?␤␤»
..rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/5cJca1UxjX␤Undeclared routine:␤ infix:<R/> used at line 1. Did you mean '&infix:<>>', '&infix:<>=>', '&infix:<+&>', '&infix:<+|>', '&infix:<+^>'?␤␤»
timotimo i kind of wish this would work, too
r: say Rinfix:</> 6, 2
camelia rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/hn1ux3PW3s␤Undeclared name:␤ Rinfix:</> used at line 1␤␤»
..rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/Rw_0NnOLuK␤Undeclared name:␤ Rinfix:</> used at line 1␤␤»
timotimo r: say R&infix:</> 6, 2
camelia rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/2FiNRe19M_␤Undeclared name:␤ R used at line 1␤␤»
..rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/nOce9ifymi␤Undeclared name:␤ R used at line 1␤␤»
moritz r: say 1 R/ 2; say infix:<R/> 1, 2 14:13
camelia rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/CT9bPkPsqt␤Undeclared routine:␤ infix:<R/> used at line 1. Did you mean '&infix:<//>', '&infix:<~>>', '&infix:<||>', '&infix:<∋>'?␤␤»
..rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/zqAQPz7oCs␤Undeclared routine:␤ infix:<R/> used at line 1. Did you mean '&infix:<>>', '&infix:<>=>', '&infix:<+&>', '&infix:<+|>', '&infix:<+^>'?␤␤»
moritz I thought the first usage might create it :/
timotimo no, afaict those are not installed anywhere
though it may be a nice idea to cache the result of metaops?
FROGGS no it just dispatches to &METAOP_REDUCE or so
timotimo no, not reduce 14:14
14:24 kbaker_ joined 14:27 atroxaper left 14:32 kaleem joined, jnap joined 14:37 jnap left, jnap joined 14:41 jnap left 14:43 kaleem left 14:46 kivutar joined 14:47 jnap joined, bluescreen10 joined
timotimo oh, on the JVM the difference between return and no return is much bigger 14:48
or maybe that's JIT side-effects
FROGGS should be easy enough to strip the return of the last statement of a block, right? 14:49
that could be a good first step
timotimo yeah, could be
much more interesting to automatically transform returns inside an if into having an else-if branch for the rest. maybe.
er, not elseif. else.
sub multi_return($a) { ... }
3.38700008392334
sub no_return($a) { ... }
2.818000078201294
TimToady r: say 2 R/ do my $ += 1
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«0.5␤» 14:50
arnsholt I think there's more overhead to control exception handling on JVM than on Parrot
14:50 btyler joined
timotimo i think so, too. at least it's not a dramatic difference 14:50
and i think it's crazy cheap on moarvm
arnsholt Well, yeah. Aren't all algorithms O(1) on MoarVM? O=) 14:51
FROGGS *g*
I wish
moritz including the Halting problem
timotimo :)
14:53 skids joined
tadzik O(1) or better :) 14:54
moritz O(0.1) :-) 14:56
nwc10 I like FROGGS' suggestion. But I'm not an expert. Transforming return inside an if into an else block around the rest of the function sounds reasonable. But technically isn't this the same as "goto the final ; of the function and then fall off the end naturally?" 15:01
nwc10 guesses that structured programming is easier for subsequent optimiser steps to deal with
timotimo right. i don't know how to do that, though :) 15:02
also, i *think* i need to be aware of control exception catching blocks all around
15:04 thou joined
TimToady then they have a different final ; 15:06
but yeah, you can only replace return with a goto at the same level
and if that level is a routine rather than a block 15:07
timotimo sure
FROGGS and a proper routine, not a pointy
timotimo righto 15:08
TimToady pointies are counted as blocks
breakfast &
FROGGS hmpf, if I could remember what I wanted to ask TimToady++...
15:09 daniel-s left
skids nwc10: generally optimizers are written to work on code that isn't just structured, but normalized to some form on which fancy properties hold true. 15:12
I don't think that form has been determined yet in this case, though :-) 15:13
timotimo that's true, the current optimizer transforms the code on the QAST level 15:14
lizmat r: my @a=0; say @a[@a].WHAT # how bad would it be if this would say (Int) ? 15:17
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Parcel)␤»
lizmat TimToady: I feel that the number of values *returned* from a slice should determine whether a Parcel is returned or not 15:18
currently it is more or less determined by the slice specification: anything looking like it could return more than 1 element 15:19
r: my @a=0; say @a[*-1].WHAT # another example
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Int)␤»
lizmat hmmm 15:20
r: my @a=0; say (@a[*-1]:v).WHAT # another example
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Parcel)␤»
lizmat I think it would be safe to have the number of returned values from a slice determine: if there is one element, then it should return that rather than a Parcel returning that element 15:21
since we can subscript [0] on everything anyway, the cases assuming a Parcel being returned, would still work
but maybe this should be specced also 15:22
or is it already?
grondilu TimToady++ for the 2 R/ do stuff 15:23
15:26 rindolf joined
grondilu hum... are state variables supposed to be associated to a 'do' block? 15:28
see: gist.github.com/grondilu/8438249 for why I ask this.
japhb jnthn: About? 15:30
grondilu r: sub count { do ++state $ }; say count xx 3
camelia rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/O8MEmD2mRO␤Undeclared routine:␤ xx used at line 1␤␤»
..rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/s1IPgkQwgz␤Undeclared routine:␤ xx used at line 1␤␤»
grondilu r: sub count { do ++state $ }; say count() xx 3 15:31
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«1 2 3␤»
grondilu I guess not.
timotimo hm, can we figure out that the routine is an infix operator and the one before could have been meant to have () around it?
grondilu that would be nice indeed 15:32
FROGGS and then, what is "count + 3" supposed to mean? 15:34
skids lizmat: I do notice S02-types/autovivification.t referenced in the S09 autoviv section seems to require a \ to guarantee a Parcel 15:35
FROGGS count() + 3 or count(+3) ?
timotimo prefix operators may not have spaces between the op and the argument
FROGGS p: say - 3 15:36
camelia rakudo-parrot 4f66ce: OUTPUT«-3␤»
timotimo also, i'm asking that for making a better error mesasge, not for making that code work as-is
FROGGS I see
timotimo but you're right, i was wrong about the space requirement
FROGGS +3 for better error message :o)
timotimo haha :) 15:37
FROGGS + 3, even
timotimo postfix ops can have spaces before them, too?
grondilu still, it's bit silly to die when there is no other correct interpration. I mean, xx is not a prefix, so count(xx 3) does not mean anything. But count(+3) does. So I get that count + 3 could be an error, but not count xx 3 15:38
timotimo std: sub count { do ++state $ }; say count xx 3;
camelia std 09dda5b: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'xx' used at line 1␤Check failed␤FAILED 00:01 126m␤»
timotimo TimToady should decide about that :) 15:39
japhb preflex: ask jnthn Would you mind giving me a ping when you've got some time to talk concurrent design? I need some implementor-sanity-checking on a design direction I'm considering. 15:40
preflex Consider it noted.
lizmat skids: I'm not sure where there is a test for Parcelness in S02-types/autovivification.t ?
the word Parcel does not even occur in that file?
cycling& 15:45
skids lizmat: it was using static indices anyway, so nevermind. 15:50
dalek kudo-star-daily: dc902f0 | coke++ | log/ (5 files):
today (automated commit)
grondilu btw, I've noticed that there are very few warnings in Perl 6. Is that on purpose? Maybe expressions such as count xx 3 could trigger one.
[Coke] that just means you're doing it right.
FROGGS we will have warnings when we get lax mode I guess :o) 15:51
rindolf Hi all, why am I getting this with Niecza? pastie.org/8635970
FROGGS but atm the code is eitehr right and does not spit out warnings or it is wrong and dies
grondilu yeah, no warning in strict mode makes sense indeed. 15:52
PerlJam Perl 6 is just trending towards more black/white figure/ground/ solution/precipitate models ;)
[Coke] rindolf: looks right to me. what is surprising you?
skids r: my @a = 0; @a[(0,)].WHAT.say; 15:53
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Parcel)␤»
japhb PerlJam: Perl 6 is the solution, and we're all the precipitate?
FROGGS rindolf: does that work for you? "Hello".substr(*-1)
[Coke] you ask for substr's that don't exist, so you get an undef Str; you concat that with "He", you get "He".
rindolf [Coke]: "Hello".substr(-1) should be "o".
FROGGS rindolf: no
[Coke] rindolf: nope. see FROGGS++ ^^
rindolf Like substr("Hello", -1) in Perl 5.
PerlJam rindolf: nope, see FROGGS
FROGGS p: "Hello".substr(-1)
camelia rakudo-parrot 4f66ce: OUTPUT«Start argument to substr out of range. Is: -1, should be in 0..Inf; use *-1 if you want to index relative to the end␤current instr.: 'throw' pc 410274 (src/gen/p-CORE.setting.pir:171926) (gen/parrot/CORE.setting:10748)␤called from Sub 'sink' pc 44636…»
FROGGS p: "Hello".substr(*-1)
camelia ( no output )
rindolf [Coke], FROGGS , PerlJam : thanks.
FROGGS rindolf: you have to tell it that you want to wrap around
PerlJam Though maybe that's a case where a warning would have helped. "Warning: attempting to take substr() beyond the bounds of the string" or something 15:54
FROGGS well, rakudo does that 15:55
PerlJam oh, indeed it does
rakudo++
FROGGS and I could imagine that in a (certain?) lax mode it would automagically wrap around without the whatever-*
but I dunno how lax lax will be 15:56
PerlJam p5 mode? :)
FROGGS :o)
no problemo
PerlJam rindolf: hey, is there a specific reason you're playing with niecza and not rakudo?
FROGGS speed 15:57
15:58 Psyche^_ joined 16:00 SHODAN left
rindolf PerlJam: yes, speed. :-) 16:00
16:00 treehug88 left
colomon PerlJam: when I was messing around with some of the stuff rindolf++'s been working on, I found niecza to be six times faster than Rakudo JVM. And JVM ran out of stack space, even when I gave it several M to play with. 16:01
16:02 SHODAN joined
PerlJam yeah, I've run out of stack space a few times myself. 16:02
16:02 xenoterracide left, Psyche^ left
rindolf colomon: thanks for the karma. 16:03
PerlJam misses sorear
colomon feels guilty about not doing blog posts on this stuff. but then, colomon also feels guilty for not getting enough $work done and not doing enough for his family, too.
colomon also misses sorear++
PerlJam rindolf: want to take up the niecza mantle? :) 16:04
rindolf PerlJam: maybe. 16:06
japhb colomon: I've seen a lot of JVM out-of-stack-space reports recently. Seems like we need someone who knows Java well (a requirement that I do not fulfill) to figure out why that is happening so often. Barring explicit recursion, a Perl 6 implementation ought to be heap-heavy, not stack-heavy .... 16:07
16:07 SHODAN left
japhb And yes, the return of sorear++ would be very nice indeed. 16:07
colomon japhb: it happened to me while I was doing a big X+ -- makes me wonder if it's recursion in the List implementation causing the problem.
rindolf Wow, this Niecza program takes 9.1% of my 8GB of RAM. 16:08
Finished finally - yielding the correct result. 16:09
skids r: my constant @a = 0; @a[@a].WHAT.say; # lizmat
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Int)␤»
rindolf Maybe it's due to the bigints.
16:10 treehug88 joined
hoelzro who else is on QuestHub? 16:12
hoelzro already follow [Coke] and timotimo
*follows
japhb colomon: I wouldn't be surprised a bit to hear that -- it would explain why so many people are hitting it, especially those working with big list-like things.
hoelzro many spelling misteak
wow.
PerlJam hoelzro: I am, but not active really.
rindolf bitbucket.org/shlomif/project-eule...at=default - any ideas on how I can optimise it?
PerlJam (as perlpilot)
16:13 xenoterracide joined
colomon japhb: I know at one point lazy lists conceptually involved recursion. no idea about the current implementation, but yeah, it would explain a lot. 16:13
hoelzro PerlJam: neither am I, but I'm going to give it another shot 16:15
rindolf It grows to about 10% of my 8GB of RAM and takes a long time. 16:17
TimToady r: my constant @a = 0; say @a.WHAT 16:20
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Int)␤»
TimToady ^^
skids: ^^ 16:21
16:21 araujo left 16:25 [Sno] left
TimToady n: my constant @a = 0; say @a.WHAT 16:28
camelia niecza v24-109-g48a8de3: OUTPUT«(List)␤»
TimToady rakudo doesn't honor @ on constants yet
[Coke] is there a way to find out who follows me on questhub? 16:31
16:31 SHODAN joined
hoelzro I'd bet there's an RPC call 16:34
[Coke] opened a quest. 16:35
almost beat hoelzro++ on qh. :)
16:36 SHODAN left
rindolf Anyone? <rindolf> bitbucket.org/shlomif/project-eule...at=default - any ideas on how I can optimise it? 16:39
japhb rindolf: In lines 72 and 73, you shouldn't need to //= before +=, numbers should auto-viv to 0 when added to. 16:44
skids rindolf: not optimization, just idiom: 1 ..^ $wanted_h
rindolf japhb: they don't. 16:45
japhb ur?
rindolf skids: OK.
japhb: what?
japhb r: my $a; $a += 5; say $a
16:45 ajr_ left
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«5␤» 16:45
PerlJam japhb: I think he means that they don't on Niecza
rindolf n: my %h; $h{'a'}{'b'} += 100; %h 16:46
japhb r: my %foo; %foo<a> += 5; say %foo<a>
camelia niecza v24-109-g48a8de3: OUTPUT«===SORRY!===␤␤Variable $h is not predeclared (did you mean %h?) at /tmp/UlfpFM09el line 1:␤------> my %h; ⏏$h{'a'}{'b'} += 100; %h␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/l…»
rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«5␤»
rindolf n: my %h; %h{'a'}{'b'} += 100; %h
camelia niecza v24-109-g48a8de3: OUTPUT«Use of uninitialized value in numeric context␤ at /home/p6eval/niecza/lib/CORE.setting line 1389 (warn @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 301 (Any.Numeric @ 8) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/LzkpWWtfeI l…»
japhb Yeah, nieczabug
rindolf japhb: ah.
16:46 ajr joined 16:47 ajr is now known as Guest8450, Guest8450 is now known as ajr_ 16:49 denis_boyun left
skids rindolf: why cram all the variables into %data? 16:49
16:50 jeffreykegler joined
rindolf skids: well, that is a relic of the original design of the Perl 5 program which had an array of such values. 16:50
16:51 ajr_ left 16:52 FROGGS left, araujo joined, araujo left, ajr_ joined 16:58 fhelmberger left 16:59 ajr_ left, SHODAN joined 17:01 gfldex left 17:02 treehug88 left
skids rindolf: if l_colors is never modified, maybe use array or where {} instead of hash? 17:02
erm s/where/when/
rindolf skids: neither is colors.
skids: but it lookups based on a string. 17:03
17:04 treehug88 joined
skids right but the string has numeric meaning, and depending on how fast rakudo can convert between substrings pulled out of the string and the desired index, might be faster than hashing. 17:05
rindolf skids: I use Niecza. 17:06
skids oh right. Might be worth a try doing a full array conversion, I dunno. Depends how fast the underlying constructs are, relatively. 17:09
e.g. when you do $seq.substr(*-1) that could involve a strlen, or might not, depending on the Str implementation. 17:11
Whereas an array almost certainly is implemented to store its own length.
Being able to precalc and premalloc the required space also might help, instead of letting things grow. 17:13
17:17 erkan left 17:18 denisboyun joined 17:22 bjz left
rindolf skids: precalc and premalloc? 17:30
17:32 locsmif joined 17:36 bjz joined 17:37 bjz left, bjz joined 17:42 [Sno] joined, berekuk joined 17:47 zakharyas left 18:02 treehug88 left 18:04 dakkar left
skids rindolf: if you can, from the input parameters, determine the size of a structure needed to fit the state stored during the calculation, it could be created and the values in it altered, rather than creating new objects on the fly. Further look at the code, probably not beneficial here. 18:06
rindolf skids: ah.
skids: I think part of the problem is that the Niecza program uses bigints all over the place, while in perl 5 they are machine integer limited to 64-bit. 18:07
18:08 treehug88 joined 18:11 araujo joined 18:21 FROGGS joined
hoelzro [Coke]: for points, or # quests? =P 18:22
18:25 treehug88 left
[Coke] hoelzro: points. we're tied, I'll be closing out at least one next week. 18:26
18:26 treehug88 joined 18:27 erkan joined, erkan left, erkan joined
[Coke] jnthn: you have some 404s on slides from www.jnthn.net/articles.shtml 18:28
e.g. Perl 6 for da n00b
18:28 SamuraiJack joined, darutoko left
hoelzro whoa, I gotta hustle 18:30
timotimo rindolf: may i suggest using <1 2> instead of ['1', '2']? i find it easier on the eyes 18:32
18:32 xinming_ joined
timotimo r: say 00 => 'hi' 18:32
camelia rakudo-parrot 4f66ce: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if you mean that␤ at /tmp/vFn5LKuGag:1␤ ------> say 00⏏ => 'hi'␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if …» 18:33
..rakudo-jvm 4f66ce: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if you mean that␤ at /tmp/sf5lh6B99T:1␤ ------> say 00⏏ => 'hi'␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if you…»
18:33 Rotwang joined
rindolf timotimo: OK. 18:33
timotimo r: say (00 => 'hi')
camelia rakudo-jvm 4f66ce: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if you mean that␤ at /tmp/aFnyO847Eq:1␤ ------> say (00⏏ => 'hi')␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if y…»
..rakudo-parrot 4f66ce: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if you mean that␤ at /tmp/WJsKcdbWol:1␤ ------> say (00⏏ => 'hi')␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 i…»
timotimo r: say (00 => 'hi') # OK
camelia rakudo-parrot 4f66ce: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if you mean that␤ at /tmp/Juzwey8mHC:1␤ ------> say (00⏏ => 'hi') # OK␤ Leading 0 does not indicate octal in Perl 6; please use …»
..rakudo-jvm 4f66ce: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if you mean that␤ at /tmp/T3k6_q_bv8:1␤ ------> say (00⏏ => 'hi') # OK␤ Leading 0 does not indicate octal in Perl 6; please use 0o0…»
timotimo dude.
r: (00 => 'hi').say
camelia rakudo-jvm 4f66ce: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if you mean that␤ at /tmp/495Ap_E1vm:1␤ ------> (00⏏ => 'hi').say␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if y…»
..rakudo-parrot 4f66ce: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if you mean that␤ at /tmp/TFM2UkZh2m:1␤ ------> (00⏏ => 'hi').say␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 i…»
timotimo that doesn't stringify properly. i think it'd be nice if it did (via IntStr semantics) 18:34
18:34 spider-mario joined 18:35 treehug88 left 18:36 xinming left 18:37 treehug88 joined
FROGGS std: (00 => 'hi').say 18:38
camelia std 09dda5b: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o0 if you mean that at /tmp/1JFO8AJA2F line 1:␤------> (00⏏ => 'hi').say␤ok 00:01 125m␤»
FROGGS hmmm
I would just special case the fat arrow 18:39
18:40 SamuraiJack left, SamuraiJack joined
FROGGS nr: say "abc".split(/./).perl 18:41
camelia niecza v24-109-g48a8de3: OUTPUT«["", "", "", ""].list␤»
..rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«("", "", "", "").list␤»
FROGGS weird
ohh, I think it makes sense
timotimo yeah, it does 18:43
nr: say "abc".comb(/<!>/).perl
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«().list␤»
..niecza v24-109-g48a8de3: OUTPUT«[].list␤»
timotimo nr: say "abc".comb(/<?>/).perl
camelia niecza v24-109-g48a8de3: OUTPUT«["", "", ""].list␤»
..rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«("", "", "", "").list␤»
timotimo :P
er ... that's three in one and four in the other
FROGGS :o) 18:44
timotimo masak: i pullrequest'd something in xml-writer :)
rindolf: in $this_seqs and $prev_deriveds you can leave out the ' ' around the single-digit numbers 18:45
rindolf timotimo: how so? 18:47
timotimo r: say (1 => "hello").perl # autoquoting
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«1 => "hello"␤»
timotimo ...
rindolf timotimo: then they will be integers instead of strings.
timotimo r: say (1 => "hello").key.perl
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«1␤»
timotimo r: say (1 => "hello").key.WHAT
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Int)␤»
timotimo ... huh?
rindolf :-)
timotimo i thought that autoquotes for some reason o_O
moritz pairs can have non-string keys
hashes not, by default 18:48
timotimo ah!
that's the missing piece :)
that makes the LHS-of-=>-turns-leading-zero-digits-into-IntStr a bit more wonky, doesn't it?
FROGGS yeah :/ 18:49
18:49 SamuraiJack left
FROGGS p: say rx:P5// === rx:P5// # how do I check that I got an empty regex? 18:51
camelia rakudo-parrot 4f66ce: OUTPUT«False␤»
FROGGS I need to special-case that in v5
18:51 kivutar left
timotimo p: say (rx:P5//).^methods 18:54
camelia rakudo-parrot 4f66ce: OUTPUT«<anon> <anon> <anon> <anon> <anon> <anon> ACCEPTS Bool gist <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> of returns rw onlystar assuming candidates cando multi soft wrap unwrap yada package perl <anon> add_ph…»
timotimo p: say (rx:P5//).candidates
camelia rakudo-parrot 4f66ce: OUTPUT«␤»
19:03 raiph joined
timotimo ah dang 19:13
i was about to say "look! github has p6 syntax highlighting now!" and then i noticed it's actually bitbucket
>_<
FROGGS but github has p6 syntax highlighting 19:20
except for gists 19:21
dalek pan style="color: #395be5">perl6-examples: 562a9b2 | (Shlomi Fish)++ | euler/prob189-shlomif.pl:
[Euler] Add a solution for Problem #189.
19:23
FROGGS rindolf: don't use #!/usr/bin/perl when it is Perl 6 19:24
hoelzro: there is an error in the highlighting of the hash: github.com/rakudo-p5/v5/blob/maste...nfigure.p6 19:27
rindolf FROGGS: OK, sorry.
FROGGS np
hoelzro FROGGS: thanks for pointg that out 19:28
19:28 vky joined
hoelzro FROGGS: lines 10-17, you mean? 19:28
FROGGS especially 12, 14 and 16, yes 19:29
ohh, and 13 and 15, at least the first two chars
hoelzro yeah, I saw that 19:30
dalek pan style="color: #395be5">perl6-examples: 35eff2f | (Shlomi Fish)++ | euler/prob189-shlomif.pl:
Remove #!/usr/bin/perl from a Perl6 example.

Thanks to FROGGS.
hoelzro I'll take a look
timotimo i don't think #!perl6 makes a whole lot of sense 19:32
moritz #!/usr/bin/env perl6 # what I usually use
19:33 vky left 19:37 panchiniak joined 19:45 treehug88 left
[Coke] /usr/bin/perl6 makes as much sense as /usr/bin/perl, no? 19:46
FROGGS sort of :o)
19:47 treehug88 joined
timotimo moritz: it seems like you could merge my pull request to xml-writer as well 19:51
20:02 DarthGandalf left
moritz timotimo: done, thanks 20:04
20:06 vky joined 20:09 treehug88 left 20:10 DarthGandalf joined
timotimo <3 20:14
lizmat r: my constant @a = 0; @a[@a].WHAT.say # skids: the optimizer turns that into: 20:16
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Int)␤»
lizmat r: my @a = 0; @a[0].WHAT.say # so it becomes a single element fetch
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Int)␤» 20:17
skids lizmat: per TimToady it's actually that constant treats the @ into a $ as a NYI on rakudo. 20:19
The case of (0,) one would think would be pretty optimizable though. 20:20
lizmat r: my @a = 0; @a.WHAT.say # hmmm.... appears to work?
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Array)␤»
lizmat r: my constant @a = 0; @a.WHAT.say # with the constant of course
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Int)␤»
skids n: my constant @a = 0; @a[@a].WHAT.say 20:21
camelia niecza v24-109-g48a8de3: OUTPUT«(Parcel)␤»
skids n: my @a = 0; @a[(0,)].WHAT.say 20:22
camelia niecza v24-109-g48a8de3: OUTPUT«(Parcel)␤»
masak lizmat: IIRC, 'constant' doesn't do typechecking, and so it stores a 0 directly in a @-sigil variable. 20:27
r: constant Int $f = "OH HAI"; say "alive"
camelia rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/WovA19_W3e␤Missing initializer on constant declaration␤at /tmp/WovA19_W3e:1␤------> constant Int ⏏$f = "OH HAI"; say "alive"␤ expecting any of:␤ statement lis…»
..rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/lc9IFHrA0d␤Missing initializer on constant declaration␤at /tmp/lc9IFHrA0d:1␤------> constant Int ⏏$f = "OH HAI"; say "alive"␤ expecting any of:␤ statement …»
masak hm.
r: constant %f = "OH HAI"; say "alive" 20:28
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«alive␤»
masak there, that shows my point, I think.
r: constant %f = "OH HAI"; say %f.WHAT
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Str)␤»
20:31 treehug88 joined 20:32 jeffreykegler left 20:33 DarthGandalf left 20:34 hummeleBop left 20:35 wsri left
lizmat masak: my point was *not* about constant 20:38
masak oh.
lizmat but rather what a one element slice is supposed to return 20:39
currently this can either be a Parcel or the thing itself
r: my @a=0; @a[@a].WHAT
camelia ( no output )
lizmat r: my @a=0; @a[@a].WHAT.say
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Parcel)␤»
lizmat my point is that this should return (int) 20:40
because it is a one element slice, even though an array was specified as the index
moritz agrees 20:41
all the list-y method are in Any anyway
so we make it safe to return non-lists when lists are expected, kinda
PerlJam r: my @a=0; @a[0,].WHAT.say
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Parcel)␤»
moritz whereas boolification (for example) for a list is surprising when people expect a non-list 20:42
20:43 DarthGandalf joined
skids r: my $a := (("brown", "fox"),("jumps"), ("over","shark")); $a.perl.say; my @words = $a; @words.perl.say; sub foo($subject, $verb, $adverb) { $adverb.say; }; foo(|$a); # learning to love Parcels.through use cases. 20:50
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(("brown", "fox"), "jumps", ("over", "shark"))␤Array.new("brown", "fox", "jumps", "over", "shark")␤over shark␤»
20:52 bjz left 20:55 bjz joined
masak r: my @a = 0; say !@a[@a] 20:56
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«False␤»
masak r: my @a = 0; say !@a[0] 20:57
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«True␤»
20:57 araujo left
masak we're basically feeling out the WAT that comes from DWIM-ing scalars and lists. 20:57
masak .oO( so monoidal ) 20:58
xfix github.com/perl6/perl6-examples/bl...fuck.p6.pl
It would be interesting to see Brainfuck implementation that would use grammars.
skids r: say !(0,), !(0), !(0,0), !() 20:59
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«FalseTrueFalseTrue␤»
21:01 dayangkun left
FROGGS r: say ?(0,), ?(0), ?(0,0), ?() # easier to read for me 21:01
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«TrueFalseTrueFalse␤»
21:02 Mouq joined
skids n: say ?(0,), ?(0), ?(0,0), ?() 21:04
camelia niecza v24-109-g48a8de3: OUTPUT«TrueFalseTrueFalse␤»
lizmat please remember that the comma is really what builds a Parcel
skids r: ().WHAT.say #except 21:05
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«(Parcel)␤»
lizmat ah, yes, the exception to the rule :-)
FROGGS p: say ?(0=>) # only joking
camelia rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/QiBef2Yq8h␤Bogus statement␤at /tmp/QiBef2Yq8h:1␤------> say ?(0=>⏏) # only joking␤ expecting any of:␤ postfix␤ infix stopper␤ infix or me…»
21:06 treehug88 left 21:07 treehug88 joined
skids r: my @a = 0; @a[(Nil,)].perl.say 21:15
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«()␤»
skids call me pathological. 21:16
FROGGS Nil vanishes in lists, 21:17
-,
21:17 stevan_ left
skids "The Nil value represents the absence of a value where there should be one, so it does not disappear in list context" S02 21:18
FROGGS p: say Nil xx 42 21:19
camelia rakudo-parrot 4f66ce: OUTPUT«␤»
FROGGS p: say (Nil xx 42).perl
camelia rakudo-parrot 4f66ce: OUTPUT«().list␤»
FROGGS skids: I guess this sentence might be out of date since the failed-match-rework
lizmat not sure about that
21:20 virtualsue joined, dayangkun joined
Mouq p: my @a = ^42; say +@a; @a = Nil xx 42; say +@a 21:21
camelia rakudo-parrot 4f66ce: OUTPUT«42␤0␤»
Mouq oh, no, bad example 21:22
skids Was abut to say :-)
lue r: my Str $string = "Hello"; say $string.^name;
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«Str␤»
lue Huh, I'd've thought for sure ^name would give me the variable name, not the type name. 21:23
Mouq p: my @a = ^12; say @a; @a[^*] = (Nil xx 12); say @a
camelia rakudo-parrot 4f66ce: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11␤(Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any)␤»
FROGGS hi lucs
21:23 panchiniak left
FROGGS hi lue 21:23
lue somehow got into perusing perl6-examples and such.
FROGGS r: my Str $string = "Hello"; say $string.VAR.name 21:24
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«$string␤»
FROGGS lue: .^somthing is about its HOW
Mouq r: my $a = 42; my $b := $a; say $b.VAR.name
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«$a␤»
lue I feel like .^name isn't what you should be using for a typename anyway; I wouldn't immediately call Str the object's "name". (In any case, .WHAT is far more common for the same purpose.)
But whatever, I thought I stumbled onto an old-ism, and clearly I haven't :) 21:25
FROGGS p: multi foo(Mu \a) { say a.VAR.name }; my $a; foo($a[0]) 21:26
camelia rakudo-parrot 4f66ce: OUTPUT«$v␤»
lue r: say q:raw/No escaping or anything, suspiciously like Q!/ 21:27
camelia rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/mlRLjpngJ7␤Unrecognized adverb: :raw␤at /tmp/mlRLjpngJ7:1␤------> say q:raw⏏/No escaping or anything, suspiciously l␤ expecting any of:␤ colon pair (restri…»
..rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/ZnoGjA2NK6␤Unrecognized adverb: :raw␤at /tmp/ZnoGjA2NK6:1␤------> say q:raw⏏/No escaping or anything, suspiciously l␤ expecting any of:␤ colon pair (restricte…»
lue r: say q:0/No escaping or anything, suspiciously like Q!/
camelia rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/tSnM3BTaGt␤Colons may not be used to delimit quoting constructs␤at /tmp/tSnM3BTaGt:1␤------> say q:⏏0/No escaping or anything, suspiciously ␤ expecting any of:␤ …»
..rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/CtssDz4l5A␤Colons may not be used to delimit quoting constructs␤at /tmp/CtssDz4l5A:1␤------> say q:⏏0/No escaping or anything, suspiciously ␤ expecting any of:␤ …»
FROGGS p: multi foo(Mu \a) { say a.VAR.name }; my $a = Array.new; foo($a[0])
camelia rakudo-parrot 4f66ce: OUTPUT«<element>␤»
lue p: say q0/No escaping or anything, suspiciously like Q!/
camelia rakudo-parrot 4f66ce: OUTPUT«␀␀␀[␀␀␀3␀␀␀1␀␀␀m␀␀␀=␀␀␀=␀␀␀=␀␀␀␀␀␀[␀␀␀0␀␀␀m␀␀␀S␀␀␀O␀␀␀R␀␀␀R␀␀␀Y␀␀␀!␀␀␀␀␀␀[␀␀␀3␀␀␀1␀␀␀m␀␀␀=␀␀␀=␀␀␀=␀…»
21:28 kaare_ joined
lue All of those things are in this old perl6-examples file. I think it's spelled Q// nowadays. 21:28
FROGGS has a Deja-Q 21:29
Mouq p: say q:!b/No escaping or a\nything, suspiciously like Q!/
camelia rakudo-parrot 4f66ce: OUTPUT«No escaping or a\nything, suspiciously like Q!␤»
lue There's also q:1 (q1) for q//, and q:2 (q2) for qq// 21:30
Mouq lue: ^^
lue I get the sense that perhaps Q// didn't always exist :)
r: say Q/The true no-special-handling quoter!/
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«The true no-special-handling quoter!␤»
lue needs to update his compose file with the quotes used for Q 21:31
r: say 「Q, the \t\r\u\e no-handling quote form!\」 21:32
camelia rakudo-parrot 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/UnElkxFZgx␤Two terms in a row␤at /tmp/UnElkxFZgx:1␤------> say ⏏「Q, the \t\r\u\e no-handling quote form!␤ expecting any of:␤ argument list␤ pref…»
..rakudo-jvm 4f66ce: OUTPUT«===SORRY!=== Error while compiling /tmp/7qkMk6uhHV␤Two terms in a row␤at /tmp/7qkMk6uhHV:1␤------> say ⏏「Q, the \t\r\u\e no-handling quote form!␤ expecting any of:␤ argument list␤ prefix …»
lue If I were to try and accept a pull request (about a year old), would you all prefer I tried to fast-forward it if possible, or do you not care if I press the big "Merge Pull Request" button? 21:35
21:36 wsri joined
[Coke] I would prefer fewer merge commits. 21:36
21:36 wsri left
[Coke] but I am apparnetly not a normal git user. 21:36
21:36 wsri joined
[Coke] (in the end, I'd rather have the feature, probably. ) 21:36
lue Well, if github does "git merge", which the manual instructions give, then the default behavior of that command is --ff (fast-forward if possible). 21:37
(so pressing the big button wouldn't be much different from the manual option)
21:38 wsri left
lizmat I found one problem with @a[@a] not returning a Parcel: 21:38
$ perl6-p -e 'my @a=0; my @s := @a.keys.sort'
Type check failed in binding; expected 'Positional' but got 'Int'
perl6-p -e 'my @a=0; my $s := @a.keys.sort' #no problem 21:39
21:39 treehug88 left
lizmat so, if we have one element (which apparently .sort is returning), then binding to an array fails 21:40
21:40 berekuk left 21:42 daxim left
lizmat ah, sort returns self[$index] at the end 21:42
21:42 berekuk joined
lizmat and if that is a single element, it would return that element 21:43
21:48 daxim joined
dalek pan style="color: #395be5">perl6-examples: 6f46c61 | abcxyzp++ | cookbook/01strings/01-00introduction.pl:
Update cookbook/01strings/01-00introduction.pl

The code:
  <code>my $string = "1" ~ "1" + 10;</code>
will actually output "111" in Perl6.
Since in Perl5, "~" (actually ".") is the same precedence as "+", but in Perl6, numeric operations have higher precedence. So the "1" + 1 part will be evaluated first, giving "111" as the result.
Just a small modification here. :)
21:52
pan style="color: #395be5">perl6-examples: 5e49096 | abcxyzp++ | cookbook/01strings/01-00introduction.pl:
Update cookbook/01strings/01-00introduction.pl
pan style="color: #395be5">perl6-examples: f016b1c | lue++ | cookbook/01strings/01-00introduction.pl:
Merge pull request #12 from ghost/patch-1

Update cookbook/01strings/01-00introduction.pl
21:54 treehug88 joined
lizmat r: my @a; my $b=0; my @b := @a[$b]; # so is this a bug in the binding, or what [$b] returns ? 21:55
camelia rakudo-parrot 4f66ce: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Any'␤ in block at /tmp/Oq2OEKW2dl:1␤␤»
..rakudo-jvm 4f66ce: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Any'␤␤»
lizmat or is this a case of: when you're not sure what you'll get back, don't bind to an array ?
21:56 spider-mario left
lue r: my @a = 1, 2, 3; my $b=0; my @b := @a[$b]; say @b.perl 21:57
camelia rakudo-jvm 4f66ce: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Int'␤␤»
..rakudo-parrot 4f66ce: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Int'␤ in block at /tmp/_Ka8tuXdCJ:1␤␤»
lue r: my @z := 5; say @z.perl
camelia rakudo-parrot 4f66ce: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Int'␤ in block at /tmp/pALvV1Z5w0:1␤␤»
..rakudo-jvm 4f66ce: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Int'␤␤»
lue lizmat: I think that's a problem with binding a non-positional to a @var.
lizmat lue: so one could consider with binding
indeed
lue Whether or not you think @z := 5 should work (I think it should), and thus if current behavior is a bug, is the thing here. 21:58
lizmat wonder if this could be fixed in src/core/Array:bind_pos 22:00
by adding 2 more candidates 22:01
22:03 bluescreen100 joined 22:04 bluescreen__ joined 22:05 bluescreen10 left 22:06 DarthGandalf left
lizmat hmmm... apparently not :-( 22:08
22:08 bluescreen100 left
skids r: my (*@a) = 5; @a.say; # S02 "Parcels, parameters, and Captures" would imply assignment follows parm binding rules. 22:08
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«5␤»
lizmat hopes that TimToady will be able to shine some light as to whether "my @a := 5" should work
skids just my *@a = 5 probably NYI. 22:09
OOps forgot the colon. But still same results. 22:10
oh wait.
r: my (*@a) := 5; @a.say; @a.perl.say; # not the same. 22:11
camelia rakudo-parrot 4f66ce: OUTPUT«␤Array.new()␤»
..rakudo-jvm 4f66ce: OUTPUT«Flattening named argument must have VMHash REPR␤␤»
colomon :\
lue r: sub foo { }; my $bar = &foo; say $bar.VAR.name; # how do I get "foo" out of $bar, if possible ? 22:12
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«$bar␤»
lizmat r: sub foo { }; my $bar := &foo; say $bar.VAR.name; 22:13
22:13 vky left
camelia rakudo-parrot 4f66ce, rakudo-jvm 4f66ce: OUTPUT«foo␤» 22:13
lizmat aka by binding ? 22:14
lue The function's actually getting assigned via for @funcs -> $f { though. 22:15
22:17 DarthGandalf joined 22:19 locsmif left
skids lizmat: so my read is that if it wouldn't work for sub foo (@a) { } ; foo (*); it won't work for @a := *. And in that case a slurpy is currently needed. 22:22
22:25 BenGoldberg joined 22:27 cognominal left
skids decommute. So much for seeing sunlight today. 22:28
22:28 cognominal joined 22:30 DarthGandalf left 22:31 BenGoldberg left 22:33 skids left, Rotwang left 22:36 bjz left
raiph .tell hoelzro questhub.io/realm/perl/quest/52bca7...e15d0000ca 22:37
yoleaux raiph: I'll pass your message to hoelzro.
22:37 DarthGandalf joined 22:39 bjz joined 22:40 kbaker_ left 22:46 kbaker_ joined 22:48 rindolf left 22:50 treehug88 left
Mouq how do I run perl6-j with increased stack size / so that it doesn't die with java.lang.StackOverflowError 22:50
?
22:52 Pleiades` left, Pleiades` joined
lizmat Mouq: by manually tweaking parameter in perl6-j ? 22:59
mine starts with: exec java -Xms100m....
23:00 kbaker_ left
lizmat BTW, did someone forget to commit S04-operators/brainos.t to roast ? 23:03
spectest now starts with: Missing test file: t/spec/S04-operators/brainos.t
sleep& 23:05
timotimo i can specify more than one --vmlibs for nqp, right?
23:07 panchiniak joined 23:12 Ulti_ joined
lue I'm not wrong in thinking this can be merged with no additional changes, right? github.com/perl6/perl6-examples/pull/14 23:12
23:13 slavik1 joined
dalek rl6-roast-data: be6299a | coke++ | / (6 files):
today (automated commit)
23:13
23:13 virtualsue left 23:14 daxim_ joined
japhb lue: Well, it could certainly be idiomized a bit. But is that something we expect in that repo? 23:15
lue japhb: I couldn't say. Wouldn't hurt though, seeing as it is the examples repo :)
23:15 rom1504_ joined
lue Unlike the other two PRs, this one's only a month old, so I don't feel bad about letting it sit a while longer and asking for improvments. What idiomizations come to mind, by the way? 23:16
23:16 c1sung_ joined 23:17 slavik left, ilbot3 left, Ulti left, daxim left, go|dfish left, rom1504 left, yoleaux left, c1sung left, REPLeffect left, dbrock left, REPLeffect joined, ilbot3 joined 23:18 go|dfish joined 23:19 dbrock joined
Mouq lizmat: Ohhhh, thank you 23:20
lue japhb: maybe you can add your idiomization concerns to the PR ? 23:22
23:23 labster_ left 23:24 Ben_Goldberg joined
lue Waitaminute, are the 99-problems named with the name of the person who wrote them? Hmm.. 23:24
23:25 dmol left 23:29 berekuk left 23:31 hmk joined, berekuk joined
lue japhb: scratch that, if you can tell me I'll put them into a comment I'm about to leave. 23:32
23:32 hmk left
lue japhb: Are you talking about using Test.pm? That's the only thing I could spot semi-immediately. 23:37
23:39 btyler left
lue First glance at perl6-examples/best-of-rosettacode tells me we should get rid of it in favor of leaving rosettacode stuff in one location, but I won't touch it for now. 23:51
What The‽ "Replaced erroneous use of .WHAT with .^name" I don't even. 23:55
23:56 berekuk left
lue If someone could please explain to me how .WHAT is ever "erroneous" with respect to .^name, I'd love to hear it. 23:58