»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
dalek ast/glr: a3aa034 | skids++ | S02-types/whatever.t:
Add tests for "is rw" ("is parcel" actually) on WhateverCode params

  (And post/pre auto-increment/decrement of Whatever)
00:05
ugexe i've been getting an above average number of Proc's hanging and not being started in the last 24 hours 00:06
ugexe seemingly random though 00:07
japhb .tell timotimo I missed the GLR-prep work you did on perl6-bench last weekend. Thank you! 01:00
yoleaux japhb: I'll pass your message to timotimo.
ShimmerFairy please relay my messages after the tone, \c[BELL] 01:01
yoleaux 2 Sep 2015 16:43Z <japhb> ShimmerFairy: I do understand, and thank you. :-)
ShimmerFairy .tell TimToady that explanation makes perfect sense, and even though I may still say "I see no number", I can be content with the idea that Stringy nothing should lead to Numeric nothing :) 01:03
yoleaux ShimmerFairy: I'll pass your message to TimToady.
ShimmerFairy .tell TimToady: would you be fine with +" " (that is, numified non-empty 'blank' string) either die-ing like any other non-Numeric string, or at least warning about the return of 0 ? 01:04
yoleaux ShimmerFairy: What kind of a name is "TimToady:"?!
ShimmerFairy .tell TimToady would you be fine with +" " (that is, numified non-empty 'blank' string) either die-ing like any other non-Numeric string, or at least warning about the return of 0 ?
yoleaux ShimmerFairy: I'll pass your message to TimToady.
ShimmerFairy the bot should learn to check /»/ instead of /<?ws>/ :P 01:05
ShimmerFairy japhb: by the way, I would not be opposed to val() being a bit more permissive than actual literals, now that I think about it. (I was being pretty defensive about my choices yesterday.) The only place where I'd object is with :#() style adverbials, since you really might as well use EVAL at that point. 01:12
japhb ShimmerFairy: I am happy you're agreeing with permissive val(), but am curious what makes :#() special? Since they set the *default* radix, rather than setting the *actual* radix, you can't just do e.g. ('0x' ~ $number-string) instead of :16($number-string) and get the same behavior ... so it's not obvious to me why to push that complexity to the script writer 01:50
ShimmerFairy japhb: it's rather about +":16(\"0o8\")" ; esp. if the parens in that string contain a variable or something code-like, val() would have to run EVAL() on it if it parsed that kind of string. 01:51
japhb ShimmerFairy: (Err, assuming EVAL or .Numeric on that first one)
OMG SLOW NEWORK
ShimmerFairy: Oh, OK, I think I see what you're saying. 01:52
ShimmerFairy basically I think you should type EVAL(":16(\$stuff)") instead of val(":16(\$stuff)") , since the :#() is where you start wanting to eval arbitrary code.
:#<> and :#[] are just fine for val(), though :) . (However val() should probably force constants for :#[] ) 01:54
japhb I think I had mentally DWIMmed the user to be doing +':16(0o8)' rather than +':16("0o8")' -- or rather +":16($foo)" instead of +":16(\"$foo\")"
I saw the non-sensical behavior and went "What would be a sensible thing?" instead of "OH GOD MAKE IT STOP". ;-) 01:55
ShimmerFairy evaluating any kinds of constant strings is fine, it's just the arbitrary code bits where I think you want EVAL instead :)
japhb Fairy nuff. ;-)
japhb is reminded to get back to thinking about his GM's assistant code 01:56
colomon general motors? game master? 02:03
TEttinger grist mill 02:08
labster m: my class AB { method Str { "foo" } }; my $x = AB.new; sprintf($x, "%s")' 03:07
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_KTZue0BgK␤Two terms in a row␤at /tmp/_KTZue0BgK:1␤------> 3" } }; my $x = AB.new; sprintf($x, "%s")7⏏5'␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ …»
GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2H0aPOWlQw␤Two terms in a row␤at /tmp/2H0aPOWlQw:1␤------> 3" } }; my $x = AB.new; sprintf($x, "%s")7⏏5'␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ …»
labster m: my class AB { method Str { "foo" } }; my $x = AB.new; sprintf($x, "%s")
camelia rakudo-moar e6f360: OUTPUT«Type check failed in binding $format; expected 'Cool' but got 'AB'␤ in block <unit> at /tmp/TjfD7izgAA:1␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Type check failed in binding $format; expected 'Cool' but got 'AB'␤ in block <unit> at /tmp/IHoNM1LEz_:1␤␤»
colomon m: say Mu.perl 03:09
GLRelia rakudo-moar a6bb0b: OUTPUT«Mu␤»
camelia rakudo-moar e6f360: OUTPUT«Mu␤»
colomon m: say dd Mu
GLRelia rakudo-moar a6bb0b: OUTPUT«Mu␤Nil␤»
camelia rakudo-moar e6f360: OUTPUT«Mu␤Nil␤»
colomon m: dd Mu
GLRelia rakudo-moar a6bb0b: OUTPUT«Mu␤»
camelia rakudo-moar e6f360: OUTPUT«Mu␤»
labster dd returns Nil? 03:10
m: say dd 1
camelia rakudo-moar e6f360: OUTPUT«1␤Nil␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«1␤Nil␤»
colomon m: my @a = 1..2; my $i = @a.iterator; dd $i.pull-one; dd $i.pull-one; dd $i.pull-one
GLRelia rakudo-moar a6bb0b: OUTPUT«@a = 1␤@a = 2␤Mu.new␤»
camelia rakudo-moar e6f360: OUTPUT«Method 'pull-one' not found for invocant of class 'ListIter'␤ in block <unit> at /tmp/0i_faW9Nqi:1␤␤»
colomon m: say IteratorEnd.perl
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GRCuU8E_wD␤Undeclared name:␤ IteratorEnd used at line 1. Did you mean 'Iterator'?␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6Deypr2iSc␤Undeclared name:␤ IteratorEnd used at line 1. Did you mean 'Iterator'?␤␤»
colomon m: say IterationEnd.perl 03:11
GLRelia rakudo-moar a6bb0b: OUTPUT«Mu.new␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8ToGJhLkmq␤Undeclared name:␤ IterationEnd used at line 1␤␤»
colomon ah
labster m: my class AB { }; multi sub sprintf(AB $x, $format) { "foo" }; say sprintf("bar", "%s") 03:16
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rgokAT5eEm␤Calling sprintf(Str, Str) will never work with any of these multi signatures:␤ (AB $x, $format)␤at /tmp/rgokAT5eEm:1␤------> 3 sprintf(AB $x, $format) { "foo" }; say 7⏏5sprintf("bar",…»
GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JW047MNjEU␤Calling sprintf(Str, Str) will never work with any of these multi signatures:␤ (AB $x, $format)␤at /tmp/JW047MNjEU:1␤------> 3 sprintf(AB $x, $format) { "foo" }; say 7⏏5sprintf("bar",…»
colomon m: my @a = 1..2; my $i = @a.iterator; dd $i.pull-one; dd $i.pull-one; say $i.pull-one =:= IterationEnd;
GLRelia rakudo-moar a6bb0b: OUTPUT«@a = 1␤@a = 2␤True␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1HVaHVMVAi␤Undeclared name:␤ IterationEnd used at line 1␤␤»
colomon m: my @a = 1..2; my $i = @a.iterator; dd $i.pull-one; say $i.pull-one !=:= IterationEnd;
GLRelia rakudo-moar a6bb0b: OUTPUT«@a = 1␤True␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MQpsWunMxd␤Undeclared name:␤ IterationEnd used at line 1␤␤»
colomon m: my @a = 1..2; my $i = @a.iterator; loop { my $a = $i.pull-one; dd $a; last if $a =:= IterationEnd; } 03:23
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eE_fIHzBm1␤Undeclared name:␤ IterationEnd used at line 1␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(timeout)$a = 1␤$a = 2␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = …»
colomon m: my @a = 1..2; my $i = @a.iterator; loop { my \a = $i.pull-one; dd a; last if a =:= IterationEnd; } 03:26
GLRelia rakudo-moar a6bb0b: OUTPUT«@a = 1␤@a = 2␤Mu.new␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0VG1K249U2␤Undeclared name:␤ IterationEnd used at line 1␤␤»
skids m: my @a = 1..2; my $i = @a.iterator; loop { my $a := $i.pull-one; dd a; last if a =:= IterationEnd; } # sameish thing 03:28
GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QQww_qr6xj␤Preceding context expects a term, but found infix =:= instead␤at /tmp/QQww_qr6xj:1␤------> 3y $a := $i.pull-one; dd a; last if a =:=7⏏5 IterationEnd; } # sameish thing␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lrWoDT5xiA␤Preceding context expects a term, but found infix =:= instead␤at /tmp/lrWoDT5xiA:1␤------> 3y $a := $i.pull-one; dd a; last if a =:=7⏏5 IterationEnd; } # sameish thing␤»
skids oh
m: my @a = 1..2; my $i = @a.iterator; loop { my $a := $i.pull-one; dd $a; last if $a =:= IterationEnd; } # sameish thing
GLRelia rakudo-moar a6bb0b: OUTPUT«@a = 1␤@a = 2␤Mu.new␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1HecEdx2U1␤Undeclared name:␤ IterationEnd used at line 1␤␤»
colomon m: my @a = 1..2; my $i = @a.iterator; my \a = $i.pull-one; loop { a = $i.pull-one; dd a; last if a =:= IterationEnd; } 03:30
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MURVxI7dVH␤Undeclared name:␤ IterationEnd used at line 1␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(timeout)@a = 2␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤@a = Mu.new␤…»
colomon m: my @a = 1..2; my $i = @a.iterator; loop { my $a := $i.pull-one; dd $a; last if $a =:= IterationEnd; }
GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/v8yPofG6Nq␤Missing semicolon␤at /tmp/v8yPofG6Nq:1␤------> 3 { my $a := $i.pull-one; dd $a; last if 7⏏5$a =:= IterationEnd; }␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kjHavozGjn␤Missing semicolon␤at /tmp/kjHavozGjn:1␤------> 3 { my $a := $i.pull-one; dd $a; last if 7⏏5$a =:= IterationEnd; }␤»
colomon m: my @a = 1..2; my $i = @a.iterator; loop { my $a = $i.pull-one; dd $a; last if $a =:= IterationEnd; } 03:31
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AUwXRuNlQK␤Undeclared name:␤ IterationEnd used at line 1␤␤»
colomon m: my @a = 1..2; my $i = @a.iterator; loop { my $a := $i.pull-one; dd $a; last if $a =:= IterationEnd; } 03:31
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VtIHbCpY85␤Undeclared name:␤ IterationEnd used at line 1␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(timeout)$a = 1␤$a = 2␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = Mu.new␤$a = …»
rakudo-moar a6bb0b: OUTPUT«@a = 1␤@a = 2␤Mu.new␤»
colomon m: my @a = 1..2; my $i = @a.iterator; loop { my $a := $i.pull-one; dd $a; last if $a =:= IterationEnd; }
GLRelia rakudo-moar a6bb0b: OUTPUT«@a = 1␤@a = 2␤Mu.new␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/S1tgV3i6UC␤Undeclared name:␤ IterationEnd used at line 1␤␤»
colomon m: my @a = 1..2; my $i = @a.iterator; my $a; loop { $a := $i.pull-one; dd $a; last if $a =:= IterationEnd; }
GLRelia rakudo-moar a6bb0b: OUTPUT«@a = 1␤@a = 2␤Mu.new␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ydPhkfC9nr␤Undeclared name:␤ IterationEnd used at line 1␤␤»
colomon bingo
colomon \o/ 03:33
ugexe m: my $x = Buf.new; for $x.rotor(1,1) { say $_ } 05:25
camelia ( no output )
GLRelia rakudo-moar a6bb0b: OUTPUT«This type does not support elems␤ in block <unit> at /tmp/FKSI6ctc1_:1␤␤»
japhb .tell colomon Game Master. :-) 06:31
yoleaux japhb: I'll pass your message to colomon.
RabidGravy morning 06:35
moritz m: .say for Any.new.rotor(1, 1) 07:23
yoleaux 2 Sep 2015 23:37Z <skids> moritz: see roast/glr commit d6a9f7c
camelia rakudo-moar e6f360: OUTPUT«Any.new␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(Any.new)␤»
moritz .tell skids thanks for fixing s/say/is/; it was intentional that the test aborts; after all it's a GLR regression. If the test is skipped, we won't notice it 07:24
yoleaux moritz: I'll pass your message to skids.
lizmat good *, #perl6! 07:40
nine Good morning, liz! 07:41
Ven \o, #perl6!
lizmat o/ Ven nine :-)
RabidGravy erp 07:45
lizmat RabidGravy: bless you! 07:46
RabidGravy :)
FROGGS o/ 07:50
lizmat excellent keynote by Sawyer: Perl === Home :-) 08:20
moving&
RabidGravy how's the glr merging coming along? 08:40
TimToady ShimmerFairy: the problem with deferring to EVAL is that you open yourself to injection attacks; part of the motivation of val() is to restrict the input domain to the non-dangerous subset of EVAL 08:53
yoleaux 01:03Z <ShimmerFairy> TimToady: that explanation makes perfect sense, and even though I may still say "I see no number", I can be content with the idea that Stringy nothing should lead to Numeric nothing :)
01:04Z <ShimmerFairy> TimToady: would you be fine with +" " (that is, numified non-empty 'blank' string) either die-ing like any other non-Numeric string, or at least warning about the return of 0 ?
ShimmerFairy TimToady: that's true, though I can't imagine many cases where the :#() form would be used on a constant string, since there's :#<> :) 08:54
cognominal m: .say for CORE.WHO 08:55
camelia rakudo-moar e6f360: OUTPUT«SIGSEGV => (Mu)␤WhateverCode => (Mu)␤bit => (Mu)␤&FILETEST-X => (Mu)␤&callframe => (Mu)␤Pair => (Mu)␤SIGHUP => (Mu)␤&flat => (Mu)␤utf8 => (Mu)␤&TRANSPOSE => (Mu)␤&MAKE-DIR-LIST => (Mu)␤&infix:<∖> => (Mu)␤CurrentThreadScheduler => …»
GLRelia rakudo-moar a6bb0b: OUTPUT«SIGSEGV => (Mu)␤WhateverCode => (Mu)␤bit => (Mu)␤&FILETEST-X => (Mu)␤Slip => (Mu)␤&callframe => (Mu)␤Pair => (Mu)␤SIGHUP => (Mu)␤&flat => (Mu)␤PromiseStatus => (Mu)␤&RETURN-LIST => (Mu)␤utf8 => (Mu)␤&TRANSPOSE => (Mu)␤&MAKE-DIR-LI…»
TimToady space is notionally trimmed, so I think +" " should be the same as +""
cognominal Why the Mus?
TimToady no kloo 08:56
ShimmerFairy Yeah, that's how it was in Str.Numeric; the string was trimmed and then emptiness was checked. I'm just not quite sure if a blank string should be the same as an empty string. 08:57
cognominal m: say CORE.WHO.WHAT 08:58
camelia rakudo-moar e6f360: OUTPUT«(PseudoStash)␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(PseudoStash)␤»
TimToady m: say CORE.WHO.values 08:58
camelia rakudo-moar e6f360: OUTPUT«(Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (…»
GLRelia rakudo-moar a6bb0b: OUTPUT«((Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) (Mu) …»
TimToady m: say CORE.WHO.^name 08:59
camelia rakudo-moar e6f360: OUTPUT«PseudoStash␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«PseudoStash␤»
TimToady well, CORE is a lexical scope; not quite sure why it would have an associated package anyway...
m: say CORE 09:00
camelia rakudo-moar e6f360: OUTPUT«(CORE)␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(CORE)␤»
TimToady m: say CORE.pairs
camelia rakudo-moar e6f360: OUTPUT«␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«()␤»
TimToady odd
cognominal metamodel and macros are great as architecure but as a pedagical tool, they regularly disappoint me
moritz m: say CORE::.keys
camelia rakudo-moar e6f360: OUTPUT«SIGSEGV WhateverCode bit &FILETEST-X &callframe Pair SIGHUP &flat utf8 &TRANSPOSE &MAKE-DIR-LIST &infix:<∖> CurrentThreadScheduler PromiseStatus StringyEnumeration Distribution &splice &postcircumfix:<{ }> &callsame &GATHER Backtrace &sinh &first-index &…»
GLRelia rakudo-moar a6bb0b: OUTPUT«(SIGSEGV WhateverCode bit &FILETEST-X Slip &callframe Pair SIGHUP &flat PromiseStatus &RETURN-LIST utf8 &TRANSPOSE &MAKE-DIR-LIST &infix:<∖> CurrentThreadScheduler StringyEnumeration Distribution &splice &postcircumfix:<{ }> &callsame &GATHER Backtrace &…»
moritz TimToady: afaict, CORE:: is the actual scope 09:01
TimToady right
cognominal m: say Match ~~ Positional
camelia rakudo-moar e6f360: OUTPUT«False␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«False␤»
cognominal m: say CORE::.pairs 09:11
camelia rakudo-moar e6f360: OUTPUT«SIGSEGV => (Mu) WhateverCode => (Mu) bit => (Mu) &FILETEST-X => (Mu) &callframe => (Mu) Pair => (Mu) SIGHUP => (Mu) &flat => (Mu) utf8 => (Mu) &TRANSPOSE => (Mu) &MAKE-DIR-LIST => (Mu) &infix:<∖> => (Mu) CurrentThreadScheduler => (Mu) PromiseStatus => (M…»
GLRelia rakudo-moar a6bb0b: OUTPUT«(SIGSEGV => (Mu) WhateverCode => (Mu) bit => (Mu) &FILETEST-X => (Mu) Slip => (Mu) &callframe => (Mu) Pair => (Mu) SIGHUP => (Mu) &flat => (Mu) PromiseStatus => (Mu) &RETURN-LIST => (Mu) utf8 => (Mu) &TRANSPOSE => (Mu) &MAKE-DIR-LIST => (Mu) &infix:<∖> =…»
cognominal Avec le menteur pathologique Elie WIesel, on est jamais déçu. En quatre minutes, il se coupe sur une trop belle histoire. Il échange des regards avec son fils au téléphone et est évasif sur l'argent perdu par lui et sa fondation. Mais c'est pas grave, les donations ont afflué ensuite. www.youtube.com/watch?v=0X0-ga_hhYM 10:42
Et sur la page wikipedia anglophone, une association qui le critiquerait en profite pour placer que Jerusalem est la capitale de Jérusalem. 10:43
* d'Israel 10:44
RabidGravy er 10:44
cognominal oops, wrong channel
RabidGravy I wondered
cognominal but I maintain what I say :) 10:45
Ven seems pretty unrelated to Perl 6, though...:) 10:47
cognominal yea 10:48
sorry about that 10:49
cdc m: 't' ~~ /<{'a'...'z'}>/ 10:56
GLRelia rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed␤ in block <unit> at /tmp/bKmMEVecNo:1␤␤»
camelia ( no output )
Ven cdc: <{}>?
cdc Ven: a closure that produce a regex
Ven ah, alright
cdc should I submit a rakudobug? 10:57
or is it known?
Ven doesn't know
cdc m: say 't' ~~ /<{'a'...'z'}>/
GLRelia rakudo-moar a6bb0b: OUTPUT«This Seq has already been iterated, and its values consumed␤ in block <unit> at /tmp/SNMBZuUbqk:1␤␤»
camelia rakudo-moar e6f360: OUTPUT«「t」␤»
cdc (just to be sure)
FROGGS m: say "aaaaa" ~~ /a ** {2..3}/ 10:58
camelia rakudo-moar e6f360: OUTPUT«「aaa」␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«「aaa」␤»
cdc m: say 't' ~~ /<{('a'...'z').list}>/ 10:59
camelia rakudo-moar e6f360: OUTPUT«「t」␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«「t」␤»
timotimo computer, gimme those messages i've already read 11:16
yoleaux 01:00Z <japhb> timotimo: I missed the GLR-prep work you did on perl6-bench last weekend. Thank you!
timotimo :P
japhb: you're welcome. did you also see the benchmark results? i think you did.
colomon o/ 11:21
yoleaux 06:31Z <japhb> colomon: Game Master. :-)
colomon :)
cdc m: grammar A { our token b { \d } }; say 42 ~~ A::b 11:28
camelia rakudo-moar e6f360: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in regex b at /tmp/schy6XST0E:1␤ in block <unit> at /tmp/schy6XST0E:1␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in regex b at /tmp/a7YQlPjYC6:1␤ in block <unit> at /tmp/a7YQlPjYC6:1␤␤»
cdc is it possible to do something like that ^ ?
m: grammar A { our token b { \d } }; say 42 ~~ /A::b/ 11:29
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DcdFFJDVrU␤:: not yet implemented␤at /tmp/DcdFFJDVrU:1␤------> 3A { our token b { \d } }; say 42 ~~ /A::7⏏5b/␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Rcsya1FR63␤:: not yet implemented␤at /tmp/Rcsya1FR63:1␤------> 3A { our token b { \d } }; say 42 ~~ /A::7⏏5b/␤»
ShimmerFairy m: my token b { \d }; say 42 ~~ /<b>/
camelia rakudo-moar e6f360: OUTPUT«「4」␤ b => 「4」␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«「4」␤ b => 「4」␤»
ShimmerFairy there's that, if you just want the one rule
cdc m: grammar A { our token b { \d } }; say 42 ~~ /<A::b>/
camelia rakudo-moar e6f360: OUTPUT«Method 'b' not found for invocant of class 'A'␤ in block <unit> at /tmp/McIvqjFQMO:1␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Method 'b' not found for invocant of class 'A'␤ in block <unit> at /tmp/Pdsjl70P1c:1␤␤»
cdc ShimmerFairy: I have many token actually. 11:30
cdc answer -> irclog.perlgeek.de/perl6/2015-05-13#i_10595221 11:34
et* irclog.perlgeek.de/perl6/2015-05-13#i_10595213 11:35
RabidGravy alternatively: 11:36
RabidGravy m: grammar A { regex b { \d+ } }; say A.parse("42", rule => "b") 11:36
camelia rakudo-moar e6f360: OUTPUT«「42」␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«「42」␤»
RabidGravy m: grammar A { token b { \d+ } }; say A.parse("42", rule => "b") 11:37
camelia rakudo-moar e6f360: OUTPUT«「42」␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«「42」␤»
cdc oh, nice! 11:42
cognominal What is the idiom for defining enum values that depend on previous value in the enum? 11:46
timotimo hm, i don't think enum values are already available while they're being parsed
cognominal Is there an idiom for bitenums? Unlike regular enum, a value would be twice as previous one. 11:47
timotimo i don't think so :(
you can potentially put something evalable on the rhs
cognominal that's what I see in the grammar. Not sure how to exploit it. 11:48
so my question about idioms :)
timotimo m: enum Bitfield (<A B C D E F G> Z=> (1 >>[+>]>> 0..*); say Bitfiled::D
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kgQJxRv4X8␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at /tmp/kgQJxRv4X8:1␤------> 3> Z=> (1 >>[+>]>> 0..*); say Bitfiled::D7⏏5<EOL>␤ expecting any of:␤ …»
GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7jZiwh6i9f␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at /tmp/7jZiwh6i9f:1␤------> 3> Z=> (1 >>[+>]>> 0..*); say Bitfiled::D7⏏5<EOL>␤ expecting any of:␤ …»
timotimo m: enum Bitfield (<A B C D E F G> Z=> (1 >>[+>]>> 0..*); say Bitfield::D
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0hU1dIrqyy␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at /tmp/0hU1dIrqyy:1␤------> 3> Z=> (1 >>[+>]>> 0..*); say Bitfield::D7⏏5<EOL>␤ expecting any of:␤ …»
GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8GjRgaQumz␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at /tmp/8GjRgaQumz:1␤------> 3> Z=> (1 >>[+>]>> 0..*); say Bitfield::D7⏏5<EOL>␤ expecting any of:␤ …»
timotimo m: enum Bitfield (<A B C D E F G> Z=> (1 >>[+>]>> 0..*)); say Bitfield::D
camelia rakudo-moar e6f360: OUTPUT«Could not find symbol '&D'␤ in block <unit> at /tmp/LMSXO2Xh7l:1␤␤Actually thrown at:␤ in block <unit> at /tmp/LMSXO2Xh7l:1␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Could not find symbol '&D'␤ in block <unit> at /tmp/JD8Kuid89p:1␤␤Actually thrown at:␤ in block <unit> at /tmp/JD8Kuid89p:1␤␤»
timotimo m: enum Bitfield (<A B C D E F G> Z=> (1 >>[+>]>> 0..*)); say D 11:49
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/d50YfW3vU6␤Undeclared name:␤ D used at line 1␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uaYawdCoZL␤Undeclared name:␤ D used at line 1␤␤»
timotimo hum.
m: enum Bitfield (<A B C D E F G> Z=> (1 >>[+>]>> 0..*)); say Bitfield.values
camelia rakudo-moar e6f360: OUTPUT«␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«()␤»
timotimo :(
oh
m: say 1, 2, 4 ... *
camelia rakudo-moar e6f360: OUTPUT«1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 4294967296 8589934592 17179869184 34359738368 68719476736…»
GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot .elems a lazy list␤ in block <unit> at /tmp/lYIiyXC7Rb:1␤␤Actually thrown at:␤ in block <unit> at /tmp/lYIiyXC7Rb:1␤␤»
timotimo that's better of course
:o
timotimo m: say (<A B C D E F G> Z=> (1 >>[+>]>> 0..*)) 11:52
camelia rakudo-moar e6f360: OUTPUT«A => 1 B => 2 C => 3 D => 4 E => 5 F => 6 G => 7␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(A => 1 B => 2 C => 3 D => 4 E => 5 F => 6 G => 7)␤»
timotimo m: say (<A B C D E F G> Z=> (1 >>[+<]>> 0..*))
camelia rakudo-moar e6f360: OUTPUT«A => 1 B => 2 C => 3 D => 4 E => 5 F => 6 G => 7␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(A => 1 B => 2 C => 3 D => 4 E => 5 F => 6 G => 7)␤»
timotimo m: say (<A B C D E F G> Z=> (1 <<[+<]<< 0..*))
camelia rakudo-moar e6f360: OUTPUT«A => 1 B => 2 C => 3 D => 4 E => 5 F => 6 G => 7␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(A => 1 B => 2 C => 3 D => 4 E => 5 F => 6 G => 7)␤»
timotimo m: say (<A B C D E F G> Z=> (1, 2, 4 ... *))
camelia rakudo-moar e6f360: OUTPUT«A => 1 B => 2 C => 4 D => 8 E => 16 F => 32 G => 64␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(A => 1 B => 2 C => 4 D => 8 E => 16 F => 32 G => 64)␤»
cognominal yea! now if we want a value of the enum be some previous value or-ed :) 11:53
cognominal We have that case somewhere in rakudo code :) 11:55
[Coke] yawns. 11:56
colomon hmmm: techcrunch.com/2015/09/02/scaleway-...per-month/ 11:57
moritz m: say (<A B C D E F G> Z=> (1, 2, -> *@a { [+] @a } ... *).perl
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/P1NCLHqkrA␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at /tmp/P1NCLHqkrA:1␤------> 3Z=> (1, 2, -> *@a { [+] @a } ... *).perl7⏏5<EOL>␤ expecting any of:␤ …»
GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sGXDiGq4Ec␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at /tmp/sGXDiGq4Ec:1␤------> 3Z=> (1, 2, -> *@a { [+] @a } ... *).perl7⏏5<EOL>␤ expecting any of:␤ …»
moritz m: say (<A B C D E F G> Z=> (1, 2, -> *@a { [+] @a } ... *)).perl
camelia rakudo-moar e6f360: OUTPUT«(:A(1), :B(2), :C(3), :D(6), :E(12), :F(24), :G(48))␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(:A(1), :B(2), :C(3), :D(6), :E(12), :F(24), :G(48)).Seq␤»
colomon should we get one of those and routinely build rakudo on it? ARM with 2GB sounds like it should be enough…
moritz cognominal: not quite what you wanted, right?
m: say (<A B C D E F G> Z=> [\+] (1, 2, 4 ... *)).perl 11:58
camelia rakudo-moar e6f360: OUTPUT«(:A(1), :B(3), :C(7), :D(15), :E(31), :F(63), :G(127))␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(:A(1), :B(3), :C(7), :D(15), :E(31), :F(63), :G(127)).Seq␤»
moritz better
cognominal moritz, getting closer though
moritz m: say (<A B C D E F G> Z=> [\+|] (1, 2, 4 ... *)).perl
camelia rakudo-moar e6f360: OUTPUT«(:A(1), :B(3), :C(7), :D(15), :E(31), :F(63), :G(127))␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(:A(1), :B(3), :C(7), :D(15), :E(31), :F(63), :G(127)).Seq␤»
moritz now with an actual binary OR, not a plus
colomon: I wonder if that's a good choice for hosting a website that's currently not to happy with its current host 12:00
colomon moritz: no idea. but at $3.40 a month I’m tempted to experiment. ;) 12:03
moritz colomon: me too
it runs on a Debian with Perl anyway
cognominal not ARM jit for rakudo yet? 12:28
masak_venue .oO( ARM and a leg JIT ) 12:29
timotimo no, we don't have an ARM jit yet 12:31
masak_venue goes back to trying to understand code that he wrote half a year ago
timotimo i wonder how much easier it'll be to go on to getting an ARM JIT after the exprtree jit is further along
cognominal probably the last time I dabbled with assembly code was on a Z80 12:32
RabidGravy 68000 here I think 12:33
actually no, AVR in the last year or so
FROGGS ohh, lovely 68k 12:36
timotimo in my high school equivalent (i think?) we played with a super old assembler interpreter thingie with a custom instruction set 12:37
it was called "ALI" and it was written in pascal
it was so old that the person who made it probably already retired by the time i used it
RabidGravy when I first did a computer course (in 1979) the first term we were actually taught a fictional machine language (similar to MIX) which didn't have an implementation and made the programs on paper 12:39
timotimo we did plenty of on-paper programming with that teacher, as well 12:40
abaugher2 er 12:43
timotimo ohai 12:43
_itz typed in a 6502 assembler for the PET from a magazine 12:53
masak_venue RabidGravy: I can see both the good and the bad of doing things on paper. the bad is mostly that the program doesn't "kick back" like real code tends to. 12:54
masak_venue RabidGravy: that is, you might *discover* that you had a bug in your program, but you don't discover it by looking at what the program does. 12:54
arnsholt It's kind of like the "explaining your problem to someone"-effect, I think 12:56
_itz considers registering "isglrmasteryet.com" and putting "no" as content 12:57
[Coke] lizmat: any discussion at yapc::eu about merging glr back into nom? 12:59
[Coke] (or masak or timtoady or anyone else at yapc::eu, of course.) 13:00
andreoss m: sub foo(*@x) { say @x }; foo(|(1,2)) 13:03
camelia rakudo-moar e6f360: OUTPUT«1 2␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«[1 2]␤»
andreoss m: sub foo(*@x) { say @x }; foo: |(1,2);
GLRelia ( no output )
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b3gswqvMID␤Arg-flattening | is only valid in an argument list␤at /tmp/b3gswqvMID:1␤------> 3sub foo(*@x) { say @x }; foo: |7⏏5(1,2);␤»
frettled [Coke]: not overtly in talks, but maybe in the corridors? 13:04
muraiki hrm, I don't suppose there's any way to hyper on open(...).lines 13:06
andreoss m: sub foo(*@x) { say @x.perl }; foo: flat (1,(2, 3)) 13:08
camelia ( no output )
GLRelia ( no output )
andreoss m: sub foo(*@x) { say @x.perl }; foo( flat (1,(2, 3))) 13:08
camelia rakudo-moar e6f360: OUTPUT«[1, 2, 3]<>␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«[1, 2, 3]␤»
[Coke] right, not in the talks.
leont Turns out /\N/ doesn't match "\x85", that was surprising 13:10
moritz does \n match it?
sjn \N = "not a newline"
moritz yes 13:11
ShimmerFairy m: say "\x85".uniname
camelia rakudo-moar e6f360: OUTPUT«NEXT LINE (NEL)␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«NEXT LINE (NEL)␤»
leont It's Latin-1, Next line
moritz m: say so (chr :16<85>) ~~ /\n/
sjn and \n = 0x10
camelia rakudo-moar e6f360: OUTPUT«True␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«True␤»
leont It kind of makes sense, I just haven't ever seen anyone use it for that purpose
hoelzro good morning #perl6 13:12
moritz sjn: not in regexes
sjn right, you have more types of newlines
ShimmerFairy leont: \N is the opposite of \n, so to match newlines you want the lowercase variant :)
moritz m: say (1..65535).chrs.comb(/\n/)>>.base(16) 13:13
camelia rakudo-moar e6f360: OUTPUT«Method 'base' not found for invocant of class 'Str'␤ in block <unit> at /tmp/lXbpsePID0:1␤␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«Method 'base' not found for invocant of class 'Str'␤ in block <unit> at /tmp/mYX2F70VO9:1␤␤»
sjn so since 0x85 is a type of newline, it makes sense that \N does not match it
moritz m: say (1..65535).chrs.comb(/\n/)>>.ord>>.base(16)
camelia rakudo-moar e6f360: OUTPUT«A B C D 85 2028 2029␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(A B C D 85 2028 2029)␤»
leont ShimmerFairy: I expected \n to match ASCII newline, nothing more
ShimmerFairy leont: nope, \n means "newline" in general in regexes
leont Not saying it's wrong, saying this should be documented properly
ShimmerFairy but it is 13:14
masak_venue [Coke]: I got the impression that we *could* merge glr, but we're holding off until someone pmichaud- or jnthn-like shows up.
sjn moritz: what do you call to get the unicode name for those?
moritz m: say (1..65535).chrs.comb(/\n/)>>.uniname 13:14
camelia rakudo-moar e6f360: OUTPUT«LINE FEED (LF) LINE TABULATION FORM FEED (FF) CARRIAGE RETURN (CR) NEXT LINE (NEL) LINE SEPARATOR PARAGRAPH SEPARATOR␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(LINE FEED (LF) LINE TABULATION FORM FEED (FF) CARRIAGE RETURN (CR) NEXT LINE (NEL) LINE SEPARATOR PARAGRAPH SEPARATOR)␤»
ShimmerFairy From S05: "\n now matches a logical (platform independent) newline, not just \x0a. See TR18 section 1.6 for a list of logical newlines." 13:15
(the TR18 reference is part of Unicode's documents)
muraiki will the GLR change "things like parcel" (for lack of not even knowing what question to ask)? 13:16
masak_venue going to Tux++'s talk & 13:17
muraiki actually I have a place where I can just try the glr branch, so I'll know if my code blows up 13:17
not that it actually works currently :)
moritz muraiki: Parcel is gone in glr; those literals with comma then become a List 13:19
m: say (1, 2).^name
camelia rakudo-moar e6f360: OUTPUT«Parcel␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«List␤»
muraiki moritz: the particular use case I was looking at is what type I get back from open(...).lines 13:20
moritz muraiki: that now returns a Seq
muraiki nice! thanks :)
[Coke] got a private "thanks for Perl 6" email.
[Coke] passes along the thanks to everyone.
moritz [Coke]: oh, nice
[Coke] stackoverflow.com/questions/323518...t-in-perl6 - unanswered perl6 question. 13:25
skids o/ 13:29
yoleaux 07:24Z <moritz> skids: thanks for fixing s/say/is/; it was intentional that the test aborts; after all it's a GLR regression. If the test is skipped, we won't notice it
skids Well, in that case wrapping it in a try so it can fail rather than abort would be good. Or someone could merge that commit from my PR. 13:30
moritz skids: since it's the last test in the file, aborting isn't all that bad
anyway, I plan to review that PR soonish, if nobody beats me to it
skids Thanks, moritz++
lizmat [Coke]: no discussion about merging that I know of 13:34
timotimo what's the opinion on this one? 13:37
[Coke] ok. I haven't really heard any objections to the plan, so I'll try to get that done today now that I don't have 8 hours of meetings in a row. :)
timotimo m: say 1, 2, 4 ... *
GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot .elems a lazy list␤ in block <unit> at /tmp/CJLtFaG1B2:1␤␤Actually thrown at:␤ in block <unit> at /tmp/CJLtFaG1B2:1␤␤»
camelia rakudo-moar e6f360: OUTPUT«1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 4294967296 8589934592 17179869184 34359738368 68719476736…»
ShimmerFairy timotimo: I think GLR is clearly a bug :) 13:38
moritz m: say (1, 2, 4 ... *).gist
camelia rakudo-moar e6f360: OUTPUT«1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 4294967296 8589934592 17179869184 34359738368 68719476736…»
GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot .elems a lazy list␤ in block <unit> at /tmp/ixCUdcA9SZ:1␤␤Actually thrown at:␤ in block <unit> at /tmp/ixCUdcA9SZ:1␤␤»
moritz m: say <a b c>.sort.gist 13:39
camelia rakudo-moar e6f360: OUTPUT«a b c␤»
GLRelia rakudo-moar a6bb0b: OUTPUT«(a b c)␤»
dalek ast: e56246f | hoelzro++ | S17-lowlevel/lock.t:
Mark final test in lock.t as TODO

Pending resolution of RT #125977
13:48
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125977
lizmat hoelzro: I think it needs to be skip, actually :-( 13:50
hoelzro er, dammit
lizmat: thanks, good catch!
dalek ast: 00a252b | hoelzro++ | S17-lowlevel/lock.t:
Skip the final test in lock.t

TODO isn't good enough
13:51
muraiki I'm not sure what to call this, but I have a "pipeline" that I've made using a series of map/grep in scalar context. I've also thrown in hyper. when I "say" the final result, I get "HyperSeq.new". so I guess I have to realize the sequence somehow in order to get the values I want? 13:57
PerlJam muraiki: iterate it or listify 13:57
muraiki PerlJam: ah nice, .list did it. I tried .[] but that is apparently something totally different :) 13:58
muraiki darn, hypering it actually made it slower. I guess I should fiddle with batch and degree 14:00
actually hypering it is faster when I have a sufficent amount of data. I forgot my test run was such a small amount 14:01
yay perl6
lizmat muraiki: care to share some timing info ? 14:06
muraiki lizmat: sure but it's still kind of slow. the recent update to json::fast turned it from unusable into usable, though. :) gist.github.com/muraiki/e53afa88fefa2b5b2c3d 14:08
each line can end up a fairly large json object 14:09
I used to log how many characters were in each line...
so I think json is the real holdup
lizmat muraiki++ 14:14
muraiki let me know if there's anything else you want me to try 14:15
lizmat will do :-) 14:16
muraiki wow I didn't realize the user time was so different between the two runs
lizmat ah, do you have numbers without hyper ?
muraiki I just started that run, haha
this is on GLR btw
lizmat cool 14:17
muraiki I added no hyper
lizmat break& 14:21
cdc For information: RT #125978 "Segfault (and other crashes) when using .hyper" 14:43
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125978
masak_venue m: sub foo($?) {} 14:47
camelia ( no output )
GLRelia ( no output )
masak_venue question: why doesn't the above one fail? :) 14:48
std: sub foo($?) {}
camelia std 28329a7: OUTPUT«ok 00:00 138m␤» 14:48
masak_venue haha, GLRelia couldn't take it :P
too much, too soon
GLRelia std : OUTPUT«Can't chdir to '/home/steve/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 171.␤ EvalbotExecuter::_auto_execute(HASH(0x206fe38), "sub foo(\$?) {}", GLOB(0x2357680), "/tmp/3lJ02shdKE", "std") called at lib/EvalbotExecuter.pm line 119␤ EvalbotExec…» 14:49
masak_venue std: # will GLRelia fall off the grid again if I do this? 14:49
camelia std 28329a7: OUTPUT«ok 00:00 133m␤» 14:49
masak_venue ....apparently.
masak_venue is evil :> 14:50
GLRelia std : OUTPUT«Can't chdir to '/home/steve/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 171.␤ EvalbotExecuter::_auto_execute(HASH(0x206fe38), "# will GLRelia fall off the grid again if I do this?", GLOB(0x2445940), "/tmp/_QqOewE8VS", "std") called at lib/Evalb…» 14:50
masak_venue by the way, Tux++ gave a very nice talk, and said some quite positive things about Perl 6 14:51
[Coke] t/spec/S17-procasync/no-runaway-file-limit.t appears to be chewing CPU on os x /glr 14:59
[Coke] (4/8 cores) 15:00
um, this test seems super dodgy.
hard coded temp file, using a network command ... 15:01
[Coke] hoelzro: that looks like you are mostly responsible. :) 15:04
also, t/spec/S32-io/IO-Socket-INET.t fails on a regular basis for me. 15:05
ugexe haha, malware-bytes on win32 thinks the perl6 module 'ABC' (and only that module) is malware (PUP.Optional.BundleInstaller) for some reason 15:14
jdv79 has anyone tried porting Sereal yet? 15:33
hoelzro [Coke]: the network command is jnthn's doing, because Windows doesn't have cat 15:45
I have no idea why a temp file is in use there =/
tony-o why is it now an error to read from $*IN from another thread? is there a decent way of reading from $*IN without blocking the rest of the application? 15:50
pink_mist isn't that what a Supply is for? 15:58
timotimo a supply of lines from $*IN can help you, but a Supply itself doesn't introduce parallelism immediately 15:59
timotimo it really depends on the particular use-case 15:59
i didn't actually know we throw an error when you try to read $*IN from multiple threads
andreoss $ perl -E 'say "0" x 80 for 1..1000000' |pv >/dev/null 16:03
77.2MB 0:00:00 [ 347MB/s]
$ perl6 -e 'say "0" x 80 for ^1_000_000' |pv >/dev/null
77.2MB 0:00:29 [2.66MB/s]
andreoss say was not meant for IO? 16:03
andreoss m: 347 / 2.66 16:03
GLRelia ( no output )
camelia ( no output )
andreoss m: say 347 / 2.66
GLRelia rakudo-moar a6bb0b: OUTPUT«130.451128␤»
camelia rakudo-moar e6f360: OUTPUT«130.451128␤»
timotimo harsh 16:10
well, our IO goes through the async I/O thing, but it'll immediately wait for it to finish
so there's at least some overhead due to that 16:11
tony-o timotimo: it's throwing now, it didn't used to 16:20
lizmat .seen pmurias 16:22
yoleaux I saw pmurias 1 Sep 2015 16:02Z in #perl6: <pmurias> hoelzro: got a link to the issue?
timotimo tony-o: but what does it throw?
lizmat .tell pmurias your wallet is found 16:23
yoleaux lizmat: I'll pass your message to pmurias.
tony-o a moar error with the output: $PROC.stderr: Tried to read() on a socket from outside its originating thread
timotimo interesting 16:24
hoelzro I think I added that to Moar, but I don't think it should affect stdin
or std*, for that matter
tony-o that's the only call in that catch block .. one sec i'll send you the block
hoelzro: timotimo: here is the line causing the error github.com/tony-o/perl6-event-emit...ss.pm6#L36 16:25
hoelzro tony-o: how new is this behavior? iirc, I added that check to Moar a while ago
tony-o i haven't actually looked at this module for a number of months 16:27
andreoss timotimo: how can i write faster?
tony-o so, it's new to me but it may be a few months old
andreoss: don't use cursive
hoelzro: jul 20: github.com/MoarVM/MoarVM/commit/cc...daccf31bed 16:28
andreoss $ perl6 -e 'print "0" x 80, "\n" for ^1_000_000' |pv >/dev/null
6.51MB 0:00:21 [ 331kB/s]
hoelzro tony-o: it may die() right now, but it would probably just silently read empty strings without that behavior 16:29
it's not ideal, but we need to change how reading/writing from/to streams works to fix that behavior
tony-o yea it was actually causing a hang without it, i thought timotimo found the solution that allowed cross thread reads
something about having to copy that handle into the thread
hoelzro I thought that there wasn't a thread safe way to copy a handle into a thread? 16:30
hoelzro that's what the libuv folks told me, anyway 16:31
tony-o is there a method of getting $*IN in a supply?
hoelzro I am very happy to be proven wrong here =)
tony-o without closing $*IN first?
PerlJam tony-o: my $in = open("-", :r); # maybe? 16:34
tony-o that's what $*IN is it looks like, i need a way to at least insert my read when the script is idle 16:39
but that does work :-)
just not in a nonblocking way
PerlJam Perhaps async $*IN needs implementing? 16:46
lizmat m: constant A = INIT 42; A = 43; say A # huh? 16:51
GLRelia rakudo-moar a6bb0b: OUTPUT«43␤»
camelia rakudo-moar e6f360: OUTPUT«43␤»
lizmat m: my \A = INIT 42; A = 43; say A 16:51
GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/V5S1yzzpEk:1␤␤»
camelia rakudo-moar e6f360: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/c42A9jNCNq:1␤␤»
lizmat m: constant A = 42; A = 43; say A 16:52
GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/PimqJODXy5:1␤␤»
camelia rakudo-moar e6f360: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/YVwpWqCK79:1␤␤»
grondilu m: role A does Numeric { }; say [] but A; 17:19
GLRelia rakudo-moar a6bb0b: OUTPUT«Ambiguous call to 'gist'; these signatures all match:␤:(Array:D $: *%_)␤:(Numeric:D $: *%_)␤ in block <unit> at /tmp/LZ3QS28U4p:1␤␤»
camelia rakudo-moar e6f360: OUTPUT«Ambiguous call to 'gist'; these signatures all match:␤:(List:D $: *%_)␤:(Numeric:D $: *%_)␤ in block <unit> at /tmp/RLUWI5wAA6:1␤␤»
grondilu ^LTA 17:20
RabidGravy m: role A does Numeric does Array { } 17:27
GLRelia rakudo-moar a6bb0b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7ghd4Fdt8Q␤Array is not composable, so A cannot compose it␤at /tmp/7ghd4Fdt8Q:1␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/221kXLcY4o␤Array is not composable, so A cannot compose it␤at /tmp/221kXLcY4o:1␤»
RabidGravy tricky, I think it's something doesn't blow up in that case as it would if you had a conflicting method from a role 17:29
FROGGS o/ 17:45
RabidGravy rarr! 17:51
ugexe it say. it handles arguments different than print 17:59
ugexe m: role A does Numeric { }; print [] but A; 17:59
GLRelia ( no output )
camelia ( no output )
ugexe m: role A does Numeric is Array { } 18:00
GLRelia ( no output )
camelia ( no output )
grondilu m: role A does Numeric { method gist { "duh" } }; say [] but A; 18:11
GLRelia rakudo-moar a6bb0b: OUTPUT«Cannot have a multi candidate for 'gist' when an only method is also in the package 'Array+{A}'␤ in any incorporate_multi_candidates at src/gen/m-Metamodel.nqp:629␤ in any compose at src/gen/m-Metamodel.nqp:2836␤ in any generate_mixin at src/gen/m…»
camelia rakudo-moar e6f360: OUTPUT«Cannot have a multi candidate for 'gist' when an only method is also in the package 'Array+{A}'␤ in any incorporate_multi_candidates at src/gen/m-Metamodel.nqp:629␤ in any compose at src/gen/m-Metamodel.nqp:2834␤ in any generate_mixin at src/gen/m…»
grondilu m: role A does Numeric { multi method gist { "duh" } }; say [] but A; 18:12
GLRelia rakudo-moar a6bb0b: OUTPUT«duh␤»
camelia rakudo-moar e6f360: OUTPUT«duh␤»
RabidGravy boom! 18:31
moritz github.com/blog/2051-protected-bra...tus-checks 18:37
colomon hmmm, now tests are failing from panda. 18:40
colomon mihgt be my fault? 18:42
FROGGS g++ uses the same mangling scheme on windows like it does on linux btw
my locally modified NativeCall does now autodetect MSVC and g++ C++ libs and does the right thin 18:43
g
colomon FROGGS++
colomon is looking forward to trying that out some time.
btyler_yapc if anyone has some insight into compiler magicks, I'm hunting the &?ROUTINE thingy from SPW. I golfed it a bit more: gist.github.com/kanatohodets/8b91a...7dc48a7872 18:44
colomon panda failures were on my locally hacked copy.
perl6_newbee Hi all. is there an already known problem with perl6 215.06 on WIndows 10 and shel/run? In my script shell 'cmd.exe /c start /D C:\Testautomation' causes moar.exe to eat up all my memory. 18:46
A script just this shell line works, and in the REPL as well 18:47
btyler_yapc and/or end of venue time, I'll hunt more later.
hoelzro btyler_++ 18:47
FROGGS perl6_newbee: it was not known until know I'd say 18:48
sadly I don't have a windows 10 box
m: say Block ~~ Routine 18:49
GLRelia rakudo-moar a6bb0b: OUTPUT«False␤»
camelia rakudo-moar e6f360: OUTPUT«False␤»
perl6_newbee Hmm, and I have no glue, what causes the problem. AS I sad, in REPL or in a script on its own, it works. Just in my script ~200 lines of code ist fails. I have to cancel the scipt with Ctrl+c 18:49
I will file an error report. 18:50
FROGGS perl6_newbee: it would help if you minimized your script before reporting it
[Coke] had such a good time at SPW, now wondering how long until he can live in a world where he can get paid to hack on Perl 6. :P 18:51
perl6_newbee OK. Good idea. Will tomorrow play around with that. btw. I don't like W10 ^^ 18:51
FROGGS I've just played with it for two minutes, and I guess I could live with it... 18:52
not that I'd replace my linux dev box, but I could imagine replacing my windows 7 box I use for $work 18:53
hoelzro [Coke]: you and me both
perl6_newbee I had to upgrade my w7 box in the work for W10 and I dislike it very much. The start menu is a mess and it is slower. Maybe in 6 month and after a lot of updats 18:54
FROGGS [Coke]: that'd be very very nice, aye :o) 18:54
perl6_newbee so, n8 guys 18:57
dalek rakudo/glr: c17cc42 | skids++ | src/core/array_slice.pm: 18:58
rakudo/glr: First pass at more through array slice assignment
rakudo/glr:
rakudo/glr: Fixes things like @a[1,0] = @a Z~ <a b>
rakudo/glr:
FROGGS gnight perl6_newbee 18:59
dalek ast/glr: 2e1575f | moritz++ | S32-list/seq.t:
Unfudge now passing test file, skids++
19:02
dalek rl6-roast-data: 2bdac24 | coke++ | / (10 files):
today (automated commit)
19:37
masak the wind on p6u seems to be blowing firmly in the direction of non-strict-by-default Perl 6 oneliners 19:41
the thing is, I think I would agree with that lack of need for strict in one-liners, *if I hadn't actually tried it in practice* 19:42
moritz also, the last post 19:45
lemme find that quote...
FROGGS + 19:46
dha I think people would be happy enough if there was just an easy way to turn it off. like the -e/-E suggestion. And, honestly, I'd be ok if -e had strict on and you had to explicitly do -E to turn it off (which seems less "off by default" to me) 19:47
moritz ... can't find it anymore
something about one-liners not being always one-liners, because they can grow quite complex 19:48
moritz which is the best reason to make them strict by default 19:48
geekosaur "* I don't like calling them one-liners, as they can be quite complex before evolving into file-based scripts." 19:49
...although personally, if I reach the point of complexity, it's going into a file-based script anyway
dha I could argue that that makes it not what one would call a one-liner.
moritz laptop die again, this time probably permanently :( 19:50
*dying
dalek c/glr: 21855f4 | moritz++ | lib/Type/Seq.pod:
Initial Seq documentation
19:51
El_Che moritz: you'll move that to a file anyways once the onliner is too complex (you need comments!) or long (line noise) 19:54
[Coke] I'm ok with -e vs. -E, and don't particularly care if we match p5's behavior or reverse it. 20:01
I think an argument could be made in either direction.
El_Che "Confuse them because we can"? 20:02
masak moritz: lax one-liners have bitten me several times by hiding typos and logical bugs, and they haven't once made me feel like "gee, I'm saving so many keystrokes!" 20:03
[Coke] "match perl5 because that's what p5ers expect", or "keep -e for a sane *perl6* default, which is strict on"
El_Che DrForr: are you ok?
[Coke] "intentionally confuse people" is not cool, no. :)
[Coke] I'm also happy with "there is no easy way to get to lax mode." 20:03
masak I basically consider the "non-strict in -e" thing to be a design decision that looks nice on paper, but that ends up being annoying and non-helpful.
[Coke]: people can define a shell alias if they really want to. 20:04
[Coke] I'm also happy with "there is no lax mode", though. :)
PerlJam Did anyone see my idea of somehow using auto-declared vars in one-liners? That would alleviate some pressure if something like that could be made to work
[Coke] if "./perl6 -e "no strict" -e "rest of code" " works, that'd be an easy way to do it.
PerlJam [Coke]: if only you could have multiple -e :) 20:05
[Coke] I think we can make that work before christmas.
El_Che -€
to piss off all the user using LANG=C
:)
masak PerlJam: I'm not sure... it doesn't really fit in with how $^x et al work in blocks... 20:06
jdv79 masak: nice talk today. i missed it at spw. 20:07
masak jdv79: thanks.
that reminds me.
masak goes to put it online
[Coke] multiple -e's work in p5, seems like a reasonable approach.
masak [Coke]: what are multiple -e's good for in p5? 20:08
PerlJam [Coke]: aye, though it would make me wonder what perl6 -e '...' -ne '...' -e '...' would mean
masak you don't normally expect to run multiple scripts one after the other.
[Coke] PerlJam: that you deserve what you get
jdv79 i was a bit surprised about the shiny related comments, esp. that perl6.org isn't good enough - in the community panel thing 20:09
[Coke] masak: all -e's are run in order.
perl -e 'print 2;' -e 'print 3;' # prints 23
someone is already working on updates to perl6.org
RabidGravy it just cats them all together 20:10
[Coke] #perl6-site
jdv79 i get the "i want to be up and running and have good velocity in < x minutes" but the pretty, shiny, superficial stuff seems a bit over the top
masak [Coke]: "all -e's are run in order" -- was that a reply to my "what are they good for?" ? 20:11
[Coke]: because that sounds more like an answer to "what do they do?", which I didn't ask (and already knew) :P
masak.org/carl/yapc-eu-2015-interes...s/talk.pdf <-- my talk today
masak RabidGravy: my gosh, you're right! 20:12
$ perl -Mstrict -e '{ my $a = 5;' -e ' print "$a\n" }'
5 20:13
flussence (are perl5's -n and -p still horrible on the inside?)
[Coke] m: say :10<-42>
GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gxomuBMzdX␤Malformed radix number␤at /tmp/gxomuBMzdX:1␤------> 3say :10<7⏏5-42>␤ expecting any of:␤ number in radix notation␤»
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eA5jVYSCsn␤Malformed radix number␤at /tmp/eA5jVYSCsn:1␤------> 3say :10<7⏏5-42>␤ expecting any of:␤ number in radix notation␤»
[Coke] m: say -:10<42>
GLRelia rakudo-moar 62e17b: OUTPUT«-42␤»
camelia rakudo-moar e6f360: OUTPUT«-42␤»
[Coke] ^^ that was in one of ShimmerFairy's commits. Desired?
masak jdv79: I didn't stay for the panel. the things I'm hearing about it make me kind of glad I didn't. 20:14
hahainternet jnthn: page 51 of jnthn.net/papers/2015-spw-perl6-course.pdf .. the ^5 example needs attention 20:15
RabidGravy masak++ # "... the interesting times should come from the problem domain, not from the language." damn right 20:36
masak I wrote that? anyway, I fully. :P 20:37
agree*
RabidGravy It only becomes interesting if you're making useful software with it 20:38
PerlJam masak++ 20:43
masak RabidGravy: well, "interesting" here is usually taken to mean something close to "double-plus-ungood" 20:54
PerlJam Just like when you're planning a trip to the south pole, you want it to be a good journey and not an adventure :) 20:57
sufrostico 1~1~1~screen 21:00
screen 21:01
RabidGravy precisely, it's much happier if the design is difficult not the detailed implementation 21:02
RabidGravy may have to look at URI in the morning, found two annoyances today 21:17
dalek kudo-star-daily: 1370362 | coke++ | log/ (9 files):
today (automated commit)
jdv79 its fine if people want shiny things but i disagree that its vital or a good idea indirectly 21:55
dalek p/js: ce26235 | (Pawel Murias)++ | src/vm/js/ (2 files):
Labels to last
22:21
p/js: 05b206d | (Pawel Murias)++ | t/nqp/84-loop-labels.t:
Add a test for next with label that actually fails when the label is removed.
p/js: 205e2aa | (Pawel Murias)++ | src/vm/js/ (3 files):
Pass test 84.

Make next/last/redo support labels.
p/js: e449084 | (Pawel Murias)++ | src/vm/js/ (2 files):
Implement nqp::getstdout
pmurias down to 10 failing tests in t/nqp :)
yoleaux 2 Sep 2015 17:43Z <hoelzro> pmurias: I've been trying to merge the js branch with master; is there code that is specific to how the MoarVM serialization process works?
16:23Z <lizmat> pmurias: your wallet is found
hoelzro pmurias: (on that note, I figured it out)
pmurias hoelzro: hi 22:22
hoelzro o/ pmurias
pmurias hoelzro: there is code that deserializes objects that MoarVM serializes
hoelzro pmurias: I ended up finding that; I was able to bring it up to MVM serialization format 14 22:24
I'm hoping to incorporate version 15 tonight, and finish the merge
pmurias great
hoelzro pmurias: I forget - did you weigh in on whether the js backend should just live on master? 22:25
pmurias are there any drawback in having it merged? 22:27
* drawbacks
pmurias hoelzro: I think merging would be good as it will avoid desynchronization building up 22:30
hoelzro that's the idea =)
I don't know of any drawbacks 22:31
all of the JS work should be under src/vm/js
pmurias hoelzro: it seems we might as well go ahead and do the merge instead of discussing it 22:35
hoelzro alright, I'll push the merge up to master once I've finished with it
pmurias :) 22:36
hoelzro then we'll just have to fix the failing tests =)
pmurias test 49 is impossible before the bootstrap 22:37
as it compiles regexes at runtime
hoelzro ok, I'll make a mental note of that 22:38
pmurias sleep& # there is a Inline::Perl5 talk at 8:30 tommorrow... 22:39
hoelzro night pm 22:40
mj41 lizmat: I just decided to come to have fun at act.yapc.eu/ye2015/wiki?node=Hackathons 23:06
lizmat mj41: cool! 23:07
mj41 Is it going to happen? Not many people there.
lizmat well, if there are fewer than 8 people there, we will move to our room in the hotel...
we have a large room with 4 comfortable seats, and a big balcony with another 4 seats 23:08
if the weather is not good enough outside, we can go inside, and vice versa :-)
mj41 ok, sounds good, thx
japhb masak: I used to be a *huge* user of laxness in perl5 -e ... then I realized I was actually spending extra effort to "be clever" and golf away the things strictness required. I soon found it much easier to just type a couple extra 'my ' and avoid doing absurdly tricky stuff. 23:22
masak: And I've never really wanted the non-strictness in perl6 -e. I thought I might, but I just didn't.
I still occasionally use the }{ trick in perl5 -e though ... 23:23
geekosaur increasingly uses strictness in -e (well, -E). blame haskell :p even in a one-liner it's nice to know when you missed something 23:25
dha Yes. I will say two things. TMTOWTDI and "Perl is designed to make the easy jobs easy, without making the hard jobs impossible." 23:34
So, although you seem to think strict should be used in one-liners, there is clearly disagreement, and those people should be able to do without, and not have to sacrifice a goat to do so. 23:35
IMO, of course.
japhb .tell jnthn jnthn.net/papers/2015-spw-perl6-course.pdf is fantastic! Some variation on that needs to be part of a future "getting started" section on perl6.org. 23:53
yoleaux japhb: I'll pass your message to jnthn.