Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-10-08

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:05 whiteknight joined #perl6
00:23 wolfman2000 joined #perl6
01:10 lestrrat joined #perl6
01:11 zamolxes joined #perl6
01:17 woosley joined #perl6
01:22 Limbic_Region joined #perl6
01:51 jaldhar_ joined #perl6
01:55 TiMBuS nom: 'word'.split('').reduce(&infix:<~>).say
01:55 p6eval nom 1c2c2d: OUTPUT«can only reduce with arity 2 for now␤  in method reduce at src/gen/CORE.setting:4233␤  in block <anon> at /tmp/0jH6qhTaUN:1␤  in <anon> at /tmp/0jH6qhTaUN:1␤»
01:55 TiMBuS oh what
01:55 TiMBuS 'word'.split('').reduce(*~*)
01:55 TiMBuS uh
01:56 TiMBuS nom: 'word'.split('').reduce(*~*).say
01:56 p6eval nom 1c2c2d: OUTPUT«word␤»
01:56 TiMBuS nom: &infix:<~>.arity.say
01:56 p6eval nom 1c2c2d: OUTPUT«1␤»
01:56 TiMBuS ... oh
01:58 TiMBuS i forget if this works but
01:58 TiMBuS nom: &infix:<~>.signature.say
01:58 p6eval nom 1c2c2d: OUTPUT«:(Any)␤»
01:58 TiMBuS are all infixes like this?
01:58 TiMBuS nom: &infix:<+>.signature.say
01:58 p6eval nom 1c2c2d: OUTPUT«:(Any $a, Any $b)␤»
01:59 TiMBuS :I
01:59 jlaire b: &infix:<~>.signature.say
01:59 p6eval b 1b7dd1: OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'␤  in main program body at line 1:src/metamodel/RoleToInstanceApplier.nqp␤»
01:59 jlaire b: &infix:<~>.arity.say
01:59 p6eval b 1b7dd1: OUTPUT«Method 'arity' not found for invocant of class 'Perl6MultiSub'␤  in main program body at line 22:/tmp/WnaBBKqLa4␤»
01:59 TiMBuS nom: "1234".split('').reduce(&infix:<+>).say
01:59 p6eval nom 1c2c2d: OUTPUT«10␤»
02:00 TiMBuS nom: "1234" ==> split('') ==> [+] ==> say
02:00 p6eval nom 1c2c2d: OUTPUT«===SORRY!===␤Confused at line 1, near "\"1234\" ==>"␤»
02:01 TiMBuS asking for too much i see
02:01 TiMBuS std: "1234" ==> split('') ==> [+] ==> say
02:01 p6eval std 20ae3bd: OUTPUT«[31m===[0mSORRY![31m===[0m�Preceding context expects a term, but found infix ==> instead at /tmp/238GJwzMxC line 1:�------> [32m"1234" ==> split('') ==> [+] [33m�[31m==> say[0m�Parse failed�FAILED 00:01 121m�»
02:02 jlaire nom: say [~] 'word'.comb
02:02 p6eval nom 1c2c2d: OUTPUT«word␤»
02:02 jlaire nom: say [+] 1234.comb
02:02 p6eval nom 1c2c2d: OUTPUT«10␤»
02:02 TiMBuS forgot about comb
02:03 TiMBuS i thought feeding a reduce operator would be allowed tho
02:08 Trashlord joined #perl6
02:10 Trashlord joined #perl6
02:13 skangas joined #perl6
02:29 dayangkun joined #perl6
03:14 odoacre joined #perl6
03:19 kst joined #perl6
03:25 TimToady niecza: <a b c>.grep(/^b/)
03:25 p6eval niecza v10-39-g64c5778: OUTPUT«␤Unhandled Exception: cannot bind $/ in KERNEL grep␤  at /home/p6eval/niecza/lib/CORE.setting line 1567 (CORE Regex.ACCEPTS @ 3) ␤  at  line 0 (KERNEL grep @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 111 (CORE Any.grep @ 2) ␤  at /tmp/AAMyqvJQ2Y l…
03:25 TimToady kaboom
03:25 TimToady sorear: ^^
03:29 sorear TimToady: known bug, fixed in /serialize
03:33 TimToady mkay, working around with grep(*.match: /^b/) for now
03:39 sorear eh, it's a one-line fix
03:39 * sorear tries to apply it to master
03:42 envi joined #perl6
03:52 sorear niecza> <a b c>.grep(/^b/)
03:52 sorear b
03:52 TimToady perl6: say so '2' ~~ (1 .. 9)
03:52 p6eval rakudo 1c2c2d: OUTPUT«Bool::True␤»
03:52 p6eval ..pugs: OUTPUT«*** No such subroutine: "&so"␤    at /tmp/2dY3BBhXQs line 1, column 5 - line 2, column 1␤»
03:52 p6eval ..niecza v10-39-g64c5778: OUTPUT«Bool::False␤»
03:53 dalek niecza: a57ed3d | sorear++ | lib/Kernel.cs:
03:53 dalek niecza: Fix grep(Regex) (TimToady++ for noticing)
03:53 dalek niecza: review: https://github.com/sorear/niecza/commit/a57ed3d6da
03:53 TimToady there's another little buglet I ran into
03:54 sorear I don't think we ever did find a usable explanation of what &infix:<cmp> does with mixed type arguments
04:02 TimToady no, but .. should probably not be relying on cmp for that anyway, given it already needs to know which domain its interval is in
04:04 sorear I thought intervals existed in the abstract domain of cmp
04:04 sorear hmm
04:07 dalek niecza/serialize: 8184302 | sorear++ | lib/Serialize.cs:
04:07 dalek niecza/serialize: Start draft of serialization/deserialization code
04:07 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/8184302075
04:08 TimToady S03:3395 indicates that numeric ranges coerce to numeric
04:08 TimToady it's only non-numeric ranges that defer to cmp
04:11 TimToady anyway, not a showstopper, since '1' .. '9' works fine in this case
04:13 agentzh joined #perl6
04:16 sorear *nod*
04:16 * sorear is trying to work out the relationship between serialization units and parse units, if there is one
04:46 dark_x joined #perl6
04:49 dark_x joined #perl6
04:58 moritz good morning
05:17 daniel-s joined #perl6
05:17 alvis joined #perl6
05:27 sorear good morning moritz !
05:29 sorear back from walk and I realize the problem is even more complicated than I thought :/
05:36 dalek niecza/serialize: cdde7e0 | sorear++ | lib/Serialize.cs:
05:36 dalek niecza/serialize: Notes on four kinds of module scope
05:36 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/cdde7e08c3
05:56 dark_x joined #perl6
06:03 moritz masak: you might be interested in http://blogs.perl.org/users/jeffrey_kegler/2011/10/perl-and-parsing-11-are-all-perl-programs-parseable.html#SERIES
06:04 TimToady niecza: say ord("\cZ")
06:04 p6eval niecza v10-40-ga57ed3d: OUTPUT«[31m===[0mSORRY![31m===[0m��Action method charspec not yet implemented at /tmp/dln1iZWw50 line 1:�------> [32msay ord("\cZ[33m�[31m")[0m��Action method backslash:c not yet implemented at /tmp/dln1iZWw50 line 1:�------> [32msay ord("\cZ[33m�[31m"…
06:05 moritz TimToady: as a placeholder, is @_ bound to a block or to a routine?
06:06 moritz sub f {  { @_.join } } # is a parameter of the inner block, or of f?
06:06 molaf joined #perl6
06:07 moritz perl6: sub f { { @_.join } };  f(1, 2, 3).(4, 5, 6)
06:07 p6eval pugs: OUTPUT«*** Cannot cast from VStr "123" to Pugs.AST.Types.VCode (VCode)␤    at /tmp/ghZY7tzRYX line 1, column 25 - line 2, column 1␤»
06:07 p6eval ..niecza v10-40-ga57ed3d: OUTPUT«␤Unhandled Exception: Unable to resolve method slurpy_get_inline in class Parameter␤  at /home/p6eval/niecza/src/Sig.pm6 line 62 (Sig Parameter.bind_inline @ 7) ␤  at /home/p6eval/niecza/src/Sig.pm6 line 95 (Sig C62_ANON @ 2) ␤  at  line 0 (KERNEL map @ 2)…
06:07 p6eval ..rakudo 1c2c2d: OUTPUT«Too many positional parameters passed; got 3 but expected 0␤  in sub f at /tmp/VIidrqGdRt:1␤  in block <anon> at /tmp/VIidrqGdRt:1␤  in <anon> at /tmp/VIidrqGdRt:1␤»
06:08 moritz rakudo++ # only sane error message
06:08 moritz perl6: sub f { { @_.join } };  f().(4, 5, 6)
06:08 p6eval niecza v10-40-ga57ed3d: OUTPUT«␤Unhandled Exception: Unable to resolve method slurpy_get_inline in class Parameter␤  at /home/p6eval/niecza/src/Sig.pm6 line 62 (Sig Parameter.bind_inline @ 7) ␤  at /home/p6eval/niecza/src/Sig.pm6 line 95 (Sig C62_ANON @ 2) ␤  at  line 0 (KERNEL map @ 2)…
06:08 p6eval ..pugs: OUTPUT«*** Cannot cast from VStr "" to Pugs.AST.Types.VCode (VCode)␤    at /tmp/tW61RXJrKE line 1, column 25 - line 2, column 1␤»
06:08 p6eval ..rakudo 1c2c2d: OUTPUT«Method 'postcircumfix:<( )>' not found for invocant of class 'Str'␤  in <anon> at src/gen/Metamodel.pm:3164␤  in block <anon> at /tmp/qdqijB2aXf:1␤  in <anon> at /tmp/qdqijB2aXf:1␤»
06:09 moritz nom: sub f { return { @_.join } };  f().(4, 5, 6)
06:09 p6eval nom 1c2c2d:  ( no output )
06:09 moritz nom: sub f { return { @_.join } };  say f().(4, 5, 6)
06:09 p6eval nom 1c2c2d: OUTPUT«456␤»
06:19 moritz perl6: sub f { return { @_.join } };  say f().(4, 5, 6)
06:19 p6eval rakudo 1c2c2d, niecza v10-40-ga57ed3d: OUTPUT«456␤»
06:19 p6eval ..pugs: OUTPUT«␤»
06:19 TimToady placeholders always belong to the innermost {}
06:20 moritz TimToady: ok, thanks
06:20 TimToady if when that's not what you want, it's a DIHWIDT situation
06:21 * moritz closes a nearly 3 year old ticket
06:24 dalek roast: 1879e3c | moritz++ | S06-signature/positional.t:
06:24 dalek roast: correct @_ usage
06:24 dalek roast: review: https://github.com/perl6/roast/commit/1879e3cc61
06:26 sorear DIHWIDT?
06:28 moritz doctor, it hurts when I do this
06:51 kst joined #perl6
06:54 wamba joined #perl6
07:13 GlitchMr joined #perl6
07:32 moritz niecza: say ('aaaa' ~~ m:g/./).WHAT
07:32 p6eval niecza v10-40-ga57ed3d: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Regex modifier g not yet implemented at /tmp/lhslFNphwm line 1:â�¤------> [32msay ('aaaa' ~~ m:g[33mâ��[31m/./).WHAT[0mâ�¤â�¤â�¤Unhandled Exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 766 (CORE die @…
07:33 moritz nom: say 'foo bar 123 blubb' ~~ /\d+/
07:33 p6eval nom 1c2c2d: OUTPUT«=> <123>␤␤»
07:34 moritz nom: say ('foo bar 123 blubb' ~~ /\d+/).Str
07:34 p6eval nom 1c2c2d: OUTPUT«123␤»
07:35 moritz nom: say 'foo bar baz' ~~ /<alpha>/
07:35 p6eval nom 1c2c2d: OUTPUT«=> <f>␤ alpha => <f>␤␤»
07:36 moritz my wife just proposed \l for "letter" in regexes
07:36 moritz aka <alpha>
07:37 moritz now that we have lots of weird backslash sequences replaced by named rules (<commit> etc.), we can use up a few more backslash sequences again :-)
07:37 sorear I can't say I'm opposed.
07:39 * moritz mentally experiments with m:g// returning a Match with .flatten === True
07:40 sorear moritz: I think all m// returned Matches have to have the flatten nature
07:41 sorear moritz: because my ($a,$b) = m/.../
07:42 moritz sorear: then how does one distinguish the return value of m/(.)+/ from that of m:g/(.)/ ?
07:42 moritz for s:g/// we need to distinguish those
07:43 sorear moritz: the first is ~~ Match, the second is ~~ List
07:43 moritz ok, and does m:g// set $/ to soemthing?
07:43 sorear I hope not
07:43 sorear but I really have no clue here
07:44 moritz that's an interesting approach
07:45 moritz my interpretation was that m:g// sets $/ to a Match object whose .list is the list of matches, and .from => @matches[0].from, .to => @matches[*-1].to etc.
07:45 grondilu joined #perl6
07:45 moritz but maybe that's plain BS
07:46 grondilu perl6: say Q :qq {Colons may not be used to delimit quoting constructs at line 1}
07:46 p6eval pugs: OUTPUT«*** No such subroutine: "&Q"␤    at /tmp/UmMJyXUMIJ line 1, column 5 - line 2, column 0␤»
07:46 p6eval ..rakudo 1c2c2d: OUTPUT«===SORRY!===␤Colons may not be used to delimit quoting constructs at line 1, near ":qq {Colon"␤»
07:46 p6eval ..niecza v10-40-ga57ed3d: OUTPUT«Colons may not be used to delimit quoting constructs at line 1␤»
07:47 grondilu !?
07:47 grondilu perl6: say q:x{echo test}
07:47 p6eval pugs: OUTPUT«*** Unsafe function 'Pugs::Internals::runShellCommand' called under safe mode␤    at /tmp/cr7wPwECSA line 1, column 5 - line 2, column 1␤»
07:47 p6eval ..rakudo 1c2c2d: OUTPUT«===SORRY!===␤Colons may not be used to delimit quoting constructs at line 1, near ":x{echo te"␤»
07:47 p6eval ..niecza v10-40-ga57ed3d: OUTPUT«␤Unhandled Exception: System.Exception: Unable to find lexical rungather in mainline␤  at Niecza.CLRBackend.NamProcessor.ResolveLex (System.String name, Boolean upf, System.Int32& uplevel, Boolean core) [0x00000] in <filename unknown>:0 ␤  at Niecza.CLRBac…
07:47 grondilu is q:x not implemented yet or something?
07:47 moritz hm, in p5 s///g retains the match vars from the last match
07:48 moritz grondilu: rakudo implements qx, but not q:x
07:48 moritz grondilu: and no Q: at all
07:48 grondilu ok
07:49 grondilu perl6: my $foo = 'bar'; say qqx{echo $foo}
07:49 p6eval pugs: OUTPUT«*** No such subroutine: "&qqx"␤    at /tmp/_sPfPCZ6tJ line 1, column 22 - line 2, column 1␤»
07:49 p6eval ..niecza v10-40-ga57ed3d: OUTPUT«␤Unhandled Exception: System.Exception: Unable to find lexical rungather in mainline␤  at Niecza.CLRBackend.NamProcessor.ResolveLex (System.String name, Boolean upf, System.Int32& uplevel, Boolean core) [0x00000] in <filename unknown>:0 ␤  at Niecza.CLRBac…
07:49 p6eval ..rakudo 1c2c2d: OUTPUT«qx, qqx is disallowed in safe mode␤  in sub restricted at src/SAFE.setting:2␤  in sub QX at src/SAFE.setting:9␤  in block <anon> at /tmp/aXHfWQnZfr:1␤  in <anon> at /tmp/aXHfWQnZfr:1␤»
07:53 sorear moritz: i'd love if m:g returned something lazy
07:53 sorear moritz: I still dream of Cats
07:54 sorear and making .to be lazy feels wrong.
07:54 moritz sorear: right, that's possible with List but not with Match
07:54 sorear and I have to sleep now
07:54 moritz sorear: sleep well
07:56 * moritz wonders if $/ should simply contain the List of matches then
08:08 colomon joined #perl6
08:15 daniel-s joined #perl6
08:59 dalek roast: cc397e5 | moritz++ | S02-lexical-conventions/sub-block-parsing.t:
08:59 dalek roast: undo over-eager rakudo unfudging
08:59 dalek roast: review: https://github.com/perl6/roast/commit/cc397e5821
09:03 moritz nqp: my %a := { a => 1, b => 2 }; say(%h)
09:03 p6eval nqp: OUTPUT«Symbol '%h' not predeclared in <anonymous>␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 154 (compilers/pct/src/PCT/HLLCompiler.pir:111)␤»
09:03 moritz nqp: my %a := { a => 1, b => 2 }; say(%a)
09:03 p6eval nqp: OUTPUT«_block1007␤»
09:04 moritz nqp: my %a := hash( a => 1, b => 2 ); say(%a)
09:04 p6eval nqp: OUTPUT«Hash[0x2a561b0]␤»
09:04 moritz nqp: my %a := hash( a => 1, b => 2 ); say(%a<a>)
09:04 p6eval nqp: OUTPUT«1␤»
09:27 orafu joined #perl6
09:29 Trashlord joined #perl6
09:35 Trashlord joined #perl6
09:55 Trashlord joined #perl6
10:04 woosley left #perl6
10:15 kst joined #perl6
10:22 SHODAN joined #perl6
10:33 dalek rakudo/nom: b2604a2 | moritz++ | src/Perl6/Actions.pm:
10:33 dalek rakudo/nom: implement m:g//
10:33 dalek rakudo/nom:
10:33 dalek rakudo/nom: Note that this still has quite some limits, for example $str ~~ m:g//
10:33 dalek rakudo/nom: doesn't work yet (and I don't really know how to make it work)
10:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b2604a20a1
10:36 Trashlord joined #perl6
10:47 moritz phenny: tell sorear I just found a problem with m:g// returning a List: $str ~~ m:g// return False, not the list, because it will try to smart-match the returned list against $str
10:47 phenny moritz: I'll pass that on when sorear is around.
10:48 kst joined #perl6
10:50 moritz the more I work on those syntactic forms (m:g//, s:g/// etc.), the more I grow attached to the method forms
10:51 moritz they are so nicely defined, and don't interact in weird and unexpected ways
10:52 Trashlord joined #perl6
10:57 mberends moritz++  # for dedication
11:00 moritz nom: $_ = "foo"; print "$_\n" for m:g/./
11:00 p6eval nom b2604a: OUTPUT«f␤o␤o␤»
11:01 whiteknight joined #perl6
11:05 Trashlord joined #perl6
11:13 felher Given i have some part of a grammar like 'token number { <sign>? <digit>+ }. Is there a neater way to get the ast from <sign> if <sign> ist defined, Any/Mu/Nil otherwise than '$sign = $<sign> ?? $<sign>[0].ast !! Any'? Maybe '$sign = $<sign>>>.ast[0]'. The latter seems a bit obfuscated, though...
11:15 felher A builtin ast-function maybe, that returns the ast if whatever it gets is defined, Mu otherwise. (I guess i write that function myself, if there is no easier builtin way :) )
11:15 tadzik hmm
11:15 moritz $ast = $<sign>[0]<ast> if $<sign>;
11:15 moritz erm
11:16 moritz $ast = $<sign>[0].ast if $<sign>;
11:16 ZapZ joined #perl6
11:17 moritz note that rakudo's behavior wrt ?-quantified atoms is out-of-sync with spec
11:18 kst joined #perl6
11:18 moritz spec says that $<sign> should be a Match object if matched once, or Nil otherwise
11:18 moritz rakudo currently has 1-elem Parcel vs. 0-elems Parcel
11:19 moritz if rakudo was up to date with the spec, you could say my $ast = $<sign>.?ast
11:19 moritz nom: say Any[0]
11:19 p6eval nom b2604a: OUTPUT«===SORRY!===␤Cannot put type arguments on Any because it is not a parametric type at line 1, near ""␤»
11:19 moritz nom: say Any.[0]
11:19 p6eval nom b2604a: OUTPUT«Nil␤»
11:19 moritz as it is, you can say $<sign>[0].?ast
11:20 * moritz has probably written Far More Than felher Ever Wanted To Know About ?-Quantified Captures :-)
11:21 felher moritz: well, $ast = $<sign>.?ast ist very nice :) Thnx a lot. I just didn't think about 'calling sets of methods' even though i knew them :) thnx
11:21 felher moritz: And the other thing. No, im just here to learn new cool stuff. The more i learn about all sort of things by solving one problem the better :)
11:22 felher moritz++
11:22 moritz felher: to be fair, .?method isn't /quite/ the right idiom. What you want is more like "call that method if the invocant is defined", and it's more like a byproduct that it works in your case
11:23 moritz (because Nil doesn't have an .ast method)
11:26 wamba joined #perl6
11:27 moritz mberends: fwiw you might be intested in the convergent-num-rat branch of rakudo
11:27 felher moritz: yeah, you're right, but as long as there is no "call that method if the incocant is defined"-thing (which i think i would like to see), i'll stick with it :)
11:27 Trashlord joined #perl6
11:28 moritz mberends: it "fixes" the 'now' term on 32bit systems by aborting the refinement loop in Num.Rat when it stops improving
11:28 daniel-s joined #perl6
11:29 moritz mberends: so the resulting precision is probably really bad, but better than looping infinitely
11:29 moritz mberends: that branch just needs polishing a bit (needs to handle Inf/-Inf/NaN corner cases better), and consensus or so
11:35 moritz (of course, bigint or at least 64bit int would be much nicer, but this seems much easier)
11:35 MayDaniel joined #perl6
11:36 donri joined #perl6
11:37 Psyche^ joined #perl6
11:41 Trashlord joined #perl6
11:42 dalek rakudo/convergent-num-rat: 77893a4 | moritz++ | src/core/Num.pm:
11:42 dalek rakudo/convergent-num-rat: fix +- Inf conversion to Rat
11:42 dalek rakudo/convergent-num-rat: review: https://github.com/rakudo/rakudo/commit/77893a434c
11:56 Trashlord joined #perl6
11:57 im2ee joined #perl6
11:57 im2ee Hello! :)
11:58 moritz hello im2ee
11:58 tadzik hello
12:10 Trashlord joined #perl6
12:52 kst joined #perl6
13:07 felher Is there some kind of type-alias so that one type behaves like another but can be used for multiple dispatch? e.g.: new type Absolute = Int; new type Relative = Int; my Relative $relative = -3; my Absolut $absolute = 100; jump($absolute); jump($relative); - where jump multiple-dispatches over Absolute and Relative.
13:09 felher Well, actually i have to go now. But i will backlog and be happy about any answer :)
13:09 * felher out
13:25 mj41 joined #perl6
13:30 jlaire perl6: class A {}; subset B of A; multi sub f(A) { 'A' }; multi sub f(B) { 'B' }; say f(A.new); say f(B.new)
13:30 p6eval niecza v10-40-ga57ed3d: OUTPUT«␤Unhandled Exception: Unable to resolve method ast in class Any␤  at /home/p6eval/niecza/src/NieczaActions.pm6 line 1920 (NieczaActions NieczaActions.parameter @ 149) ␤  at /home/p6eval/niecza/src/STD.pm6 line 2921 (STD P6.parameter @ 312) ␤  at /home/p6ev…
13:30 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "A"␤    expecting word character, "|", ":", "*", parameter name or ")"␤    at /tmp/zefxfKq5am line 1, column 40␤»
13:30 p6eval ..rakudo b2604a: OUTPUT«B␤You cannot create an instance of this type␤  in method bless at src/gen/CORE.setting:530␤  in method new at src/gen/CORE.setting:517␤  in block <anon> at /tmp/9tR_44bVO3:1␤  in <anon> at /tmp/9tR_44bVO3:1␤»
13:30 jlaire eek
13:30 jlaire b: class A {}; subset B of A; multi sub f(A) { 'A' }; multi sub f(B) { 'B' }; say f(A.new); say f(B.new)
13:30 p6eval b 1b7dd1: OUTPUT«B␤B␤»
13:33 jlaire niecza: subset A of Int; sub f(A) {}
13:33 p6eval niecza v10-40-ga57ed3d: OUTPUT«␤Unhandled Exception: Unable to resolve method ast in class Any␤  at /home/p6eval/niecza/src/NieczaActions.pm6 line 1920 (NieczaActions NieczaActions.parameter @ 149) ␤  at /home/p6eval/niecza/src/STD.pm6 line 2921 (STD P6.parameter @ 312) ␤  at /home/p6ev…
13:34 jlaire sorear: ^
13:49 localhost joined #perl6
13:53 replore joined #perl6
13:54 agentzh joined #perl6
14:00 dalek rakudo/nom: 0362a48 | moritz++ | src/ (2 files):
14:00 dalek rakudo/nom: make $0 etc. work in the RHS of s///
14:00 dalek rakudo/nom:
14:00 dalek rakudo/nom: This relies on $/ in the caller being writable, so it is a rather
14:00 dalek rakudo/nom: bad hack. We will see what complaints we get... :-)
14:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0362a489e6
14:24 kst joined #perl6
14:29 Limbic_Region joined #perl6
14:34 Chillance joined #perl6
14:38 mberends moritz: rakudo/convergent-num-rat fixes the DateTime.now problem on x86 32-bit, and passes most S32-temporal spectests again.
14:39 daniel-s joined #perl6
14:39 mberends afk &
14:51 GlitchMr joined #perl6
15:11 daniel-s joined #perl6
15:47 MayDaniel joined #perl6
15:55 kst joined #perl6
16:00 pmurias joined #perl6
16:01 GlitchMr joined #perl6
16:02 packetknife joined #perl6
16:11 cognominal joined #perl6
16:24 kst joined #perl6
16:28 moritz nom: say Capture ~~ Cool
16:28 p6eval nom 0362a4: OUTPUT«Bool::False␤»
16:31 moritz b: say Match ~~ Cool
16:31 p6eval b 1b7dd1: OUTPUT«Bool::True␤»
16:31 moritz niecza: say Match ~~ Cool
16:31 p6eval niecza v10-40-ga57ed3d: OUTPUT«Bool::True␤»
16:37 sorear the difference is that Match has a well-defined .Str
16:37 phenny sorear: 10:47Z <moritz> tell sorear I just found a problem with m:g// returning a List: $str ~~ m:g// return False, not the list, because it will try to smart-match the returned list against $str
16:40 sorear let's split ~~ into two operators, one doing smartmatching, the other doing topicalization.  I can't think of a single case where they are simultaneously useful
16:40 sorear and good * #perl6
16:41 pmurias sorear: hi
16:47 Mowah_ joined #perl6
16:51 im2ee tadzik, how is Your IO::Select module. Works? :)
16:51 im2ee tadzik, and my "TCP Server". :)
17:04 moritz sorear: curiously I arrived at the same conclusion, but with different reasoning
17:05 moritz mine was more like: it makes sense to ask $str ~~ $regex, "does $str fit to $regex", but it doesn't make sense to ask "does $str fit to $regex, globally" or so
17:06 moritz ie $str ~~ m:g// isn't a yes/no question as basically all other smart match
17:06 moritz and neinter is $str ~~ s///
17:06 moritz it's more a "do something" than a "does it fit?" question
17:08 dalek rakudo/nom: 012e26f | moritz++ | src/core/Match.pm:
17:08 dalek rakudo/nom: Match is Cool
17:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/012e26f596
17:14 dalek roast: cbb00ca | moritz++ | S05- (2 files):
17:14 dalek roast: correct subst.t a bit, unfudge for rakudo, add test for $0 in RHS of s///
17:14 dalek roast: review: https://github.com/perl6/roast/commit/cbb00ca7e7
17:14 MayDaniel joined #perl6
17:23 tadzik im2ee: well, nothing new works, I'd say :/ I'm now preparing for tomorrow's elecitons
17:24 * tadzik is a v-ce chairman of the local elections comitee
17:24 im2ee Ok. :)
17:26 moritz http://ceaude.twoticketsplease.de/articles/ruby-and-the-principle-of-unwelcome-surprise.html # it seems that a lot of ruby problems come from having the invocant implicitly
17:36 sayu joined #perl6
17:36 packetknife joined #perl6
17:59 kst joined #perl6
18:03 plobsing joined #perl6
18:06 mj41 joined #perl6
18:11 yath joined #perl6
18:26 soh_cah_toa joined #perl6
18:32 preflex_ joined #perl6
18:33 kst joined #perl6
18:34 soh_cah_toa_ joined #perl6
18:46 * [Coke] moves his "track failure mode" script over to his wintop so he is not impactec by Plants Vs. Zombies.
18:46 [Coke] *ed
18:53 [Coke] dir
18:57 am0c joined #perl6
19:02 * [Coke] wonders how jnthn builds rakudo using --gen-parrot on windows.
19:02 [Coke] (given the large # of parameters with quotes in quotes required to be passed to configure.pl)
19:07 SHODAN joined #perl6
19:11 moritz by writing a .bat?
19:11 mj41 joined #perl6
19:13 [Coke] moritz: have you ever tried to write a .bat file that execs another program with command line args with nested double quotes?
19:13 lue joined #perl6
19:13 * lue is happy when rakudo compiles successfully on his system
19:14 moritz [Coke]: nope, but I could imagine writing a program that does that :-)
19:14 [Coke] moritz: welcome to my 5 minutes ago!
19:14 [Coke] in five more minutes, you might start wondering if someone else had already gone down this dark path before you.
19:15 * [Coke] is actually taking a detour trying to write a cscript file so he can build rakudo using javascript.
19:16 moritz ShellQuote on CPAN is only for Bourne shells :(
19:17 moritz I think that quoting on cmd is version dependent, and thus not so easy to generalize
19:20 felher jlaire: Yeah, i tried subsets, too. But seem like that wouldn't work :) thnx nevertheless. :)
19:22 betterworld joined #perl6
19:23 * [Coke] ughs.
19:25 sorear moritz: there is some "lovely" code in Perl5 win32/win32.c that handles cmd.exe quotification
19:25 sorear moritz: since on Windows system LIST still has to go through cmd
19:27 danishman joined #perl6
19:28 [Coke] phenny: ask jnthn if he builds rakudo with --gen-parrot on windows, and if so, how does he pass args to parrot's configure?
19:28 phenny [Coke]: I'll pass that on when jnthn is around.
19:28 * [Coke] gives up. This is neither fun nor helpful.
19:28 [Coke] there are 741 tickets... 42 tickets need tests only. \o/
19:30 moritz http://stackoverflow.com/questions/180754/best-free-resource-for-learning-advanced-batch-file-usage/180767#180767
19:31 moritz [Coke]: sounds like you're not the only one who finds it -O!fun
19:32 [Coke] moritz: 73892 - can you mark the tests in the file that are for that ticket? I don't see them.
19:33 [Coke] moritz: I blame rakudo. I can build parrot by itself just fine. ;)
19:34 moritz [Coke]: there's only one test related to %_ in there
19:34 sorear [Coke]: I suggest not using --gen-parrot then
19:34 sorear [Coke]: you can tell Rakudo where to find an installed Parrot with a different --option
19:34 MayDaniel joined #perl6
19:35 moritz --with-parrot=C:\path\to\bin\parrot
19:38 dalek roast: efe2b30 | Coke++ | S06-traits/is-readonly.t:
19:38 dalek roast: rakudo fudging
19:38 dalek roast: review: https://github.com/perl6/roast/commit/efe2b307dc
19:41 dalek rakudo/nom: 88c5a5d | Coke++ | t/spectest.data:
19:41 dalek rakudo/nom: run fudged test
19:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/88c5a5d488
19:41 [Coke] sorear: I was already doing it that way. It's a PITA to have 3 different build scripts to test something in rakudo on windows. when one works just fine on os x.
19:43 [Coke] key '/Users/coke/.ssh/id_rsa':
19:43 [Coke] To git@github.com:rakudo/rakudo.git ! [rejected]        HEAD -> nom (non-fast-forward)
19:43 [Coke] WW.
19:43 [Coke] rakudo: role R {}; subset S of R; 1 ~~ S
19:43 p6eval rakudo 012e26:  ( no output )
19:43 [Coke] rakudo: role R {}; subset S of R; 1 ~~ S; say "eek"
19:43 p6eval rakudo 012e26: OUTPUT«eek␤»
19:45 dalek roast: b166968 | moritz++ | S12-methods/instance.t:
19:45 dalek roast: expand and label tests for RT #73892
19:45 dalek roast: review: https://github.com/perl6/roast/commit/b166968768
19:45 [Coke] rakudo: say ~(my $a)
19:45 p6eval rakudo 012e26: OUTPUT«Use of uninitialized value in string context␤␤»
19:46 [Coke] rakudo: say +(my $a)
19:46 p6eval rakudo 012e26: OUTPUT«Use of uninitialized value in numeric context␤0␤»
19:46 moritz [Coke]: I've closed 73892 now
19:46 moritz [Coke]++
19:47 [Coke] moritz++ #thanks.
19:52 sorear [Coke]: wrapping the whole thing in a bat/pl file doesn't work?
19:53 moritz wow, RT URLs really became ugly
19:53 [Coke] sorear: "the whole thing" . there is no whole thing to wrap, because it doesn't work.
19:53 moritz -Redirect permanent /testneeded http://rt.perl.org/rt3/Search/Results.html?Query=Queue='perl6'+AND+(Status='open'+OR+Status='new'+OR+Status='stalled')+AND+'CF.{Tag}'+LIKE+'testneeded'
19:54 moritz +Redirect permanent /testneeded https://rt.perl.org/rt3/Search/Results.html?Rows=50&amp;Page=1&amp;Format=%27%20%20%20%3Cb%3E%3Ca%20href%3D%22%2Frt3%2FTicket%2FDisplay.html%3Fid%3D__id__%22%3E__id__%3C%2Fa%3E%3C%2Fb%3E%2FTITLE%3A%
19:55 [Coke] or: building rakudo is not a superset of building parrot. I can't just run what I ran to build parrot to build parrot in place in rakudo.
19:55 [Coke] rakudo: say Associative.new{'x'}
19:55 p6eval rakudo 012e26: OUTPUT«Method 'at_key' not found for invocant of class 'Associative'␤  in method postcircumfix:<{ }> at src/gen/CORE.setting:1018␤  in block <anon> at /tmp/A_sMK6Tc_G:1␤  in <anon> at /tmp/A_sMK6Tc_G:1␤»
19:56 [Coke] rakudo: say Positional.new[42]
19:56 p6eval rakudo 012e26: OUTPUT«.[42] out of range for type Positional<-2533370447223611077>␤  in method at_pos at src/gen/CORE.setting:1000␤  in method postcircumfix:<[ ]> at src/gen/CORE.setting:982␤  in block <anon> at /tmp/qm2Y7I2TeZ:1␤  in <anon> at /tmp/qm2Y7I2TeZ:1␤»
19:57 [Coke] rakudo: my $a; CHECK { $a = 42 }
19:57 p6eval rakudo 88c5a5: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol StaticLexPad␤»
19:57 [Coke] my $a; INIT { $a = 42 }
19:57 [Coke] rakudo: my $a; INIT { $a = 42 }
19:57 p6eval rakudo 88c5a5:  ( no output )
19:58 [Coke] say Perl6::Compiler.compile('say 42').WHAT
19:58 [Coke] rakudo; say Perl6::Compiler.compile('say 42').WHAT
19:58 [Coke] rakudo: say Perl6::Compiler.compile('say 42').WHAT
19:58 p6eval rakudo 88c5a5: OUTPUT«Could not find symbol 'Perl6::&Compiler'␤  in block <anon> at /tmp/5COYJ4ssO5:1␤  in <anon> at /tmp/5COYJ4ssO5:1␤»
19:58 dalek roast: 7681064 | moritz++ | S04-statements/gather.t:
19:58 dalek roast: test for RT #77036
19:58 dalek roast: review: https://github.com/perl6/roast/commit/768106485d
19:59 [Coke] rakudo: class A { multi method foo($a) { "general" }; multi submethod foo(Str $a) { "specific" } }; class B is A {}; say .new.foo("OH HAI") for A, B
19:59 p6eval rakudo 88c5a5: OUTPUT«specific␤specific␤»
20:01 moritz that sounds like a masak ticket
20:01 [Coke] rakudo: $foo:: = 42; say $foo::;
20:01 p6eval rakudo 88c5a5: OUTPUT«42␤»
20:01 [Coke] moritz: I opened up my "pingable" ticket criteria to include his. too much LHF.
20:01 [Coke] rakudo: say $foo::
20:01 p6eval rakudo 88c5a5: OUTPUT«Any()␤»
20:04 [Coke] rakudo: class A { my $b; method c { $A::b = 5; say $A::b } }; A.new.c
20:04 p6eval rakudo 88c5a5: OUTPUT«5␤»
20:04 diakopter rakudo: class A { my $b; method c { $A::b = 5; say $b } }; A.new.c
20:04 p6eval rakudo 88c5a5: OUTPUT«Any()␤»
20:07 [Coke] moritz: eyes on RT#73396?
20:07 moritz [Coke]: I'll take a look
20:07 moritz yep, can be closed
20:08 [Coke] will do.
20:09 [Coke] rakudo: say
20:09 p6eval rakudo 88c5a5: OUTPUT«␤»
20:09 [Coke] rakudo: print
20:09 p6eval rakudo 88c5a5:  ( no output )
20:09 [Coke] std: say
20:09 p6eval std 20ae3bd: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/yOhTnKdAMp line 1:�------> [32msay[33m�[31m<EOL>[0m�Check failed�FAILED 00:01 118m�»
20:11 dalek roast: 2333636 | moritz++ | S03-metaops/cross.t:
20:11 dalek roast: test for RT #73396, nested X
20:11 dalek roast: review: https://github.com/perl6/roast/commit/23336368e0
20:13 [Coke] rakudo: my $x = Hash.new(a => 1); $x<a> = 2; say $x.perl
20:13 p6eval rakudo 88c5a5: OUTPUT«{"a" => 2}␤»
20:15 [Coke] rakudo: class C { method M {} }; say C.new.can('M');
20:15 p6eval rakudo 88c5a5: OUTPUT«M␤»
20:16 [Coke] rakudo: class A { method a { 1 } }; A.can('a');
20:16 p6eval rakudo 88c5a5:  ( no output )
20:16 [Coke] rakudo: class A { method a { 1 } }; A.can('a').say;
20:16 p6eval rakudo 88c5a5: OUTPUT«a␤»
20:17 [Coke] rakudo: class A { has $.b; proto method b {} }
20:17 p6eval rakudo 88c5a5:  ( no output )
20:18 [Coke] rakudo: class A { proto method b {}; has $.b }
20:18 p6eval rakudo 88c5a5:  ( no output )
20:21 [Coke] rakudo: say (j=>10,q=>10,k=>10).perl;
20:21 p6eval rakudo 88c5a5: OUTPUT«("j" => 10, False)␤»
20:23 [Coke] rakudo: package A {}; my $A::b = 5
20:23 p6eval rakudo 88c5a5:  ( no output )
20:23 [Coke] rakudo: package A {}; my $A::b = 5
20:23 p6eval rakudo 88c5a5:  ( no output )
20:23 [Coke] rakudo: my $A::b =5
20:23 p6eval rakudo 88c5a5:  ( no output )
20:24 [Coke] Does Perl6::Grammar still exist?
20:24 jnthn Good evening, #perl6
20:24 phenny jnthn: 19:28Z <[Coke]> ask jnthn if he builds rakudo with --gen-parrot on windows, and if so, how does he pass args to parrot's configure?
20:25 felher o/
20:25 jnthn [Coke]: I build with --gen-parrot --parrot-options=--intval="long long"
20:25 [Coke] moritz: 66810 refers to .PARROT. In case that might influence your decision to close it.
20:25 jnthn .PARROT has gone, I think...
20:25 [Coke] jnthn: that's IT?
20:25 jnthn [Coke]: Yes.
20:25 jnthn [Coke]: On my 32-bit box I just --gen-parrot.
20:25 [Coke] jnthn: my normal winbuild for parrot is:
20:26 [Coke] perl Configure.pl --prefix="C:/bird" "--cc=cl.exe" "--link=link.exe" "--ld=link.exe" "--ccflags=-nologo -GF -W4 -MD -Zi
20:26 [Coke] -DNDEBUG -DWIN32 -DCONSOLE -DNO_STRICT -DUSER_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC" "--linkflags=-nologo -nodefaultlib -d
20:26 [Coke] ebug"
20:26 lue joined #perl6
20:26 jnthn ...wow.
20:26 jnthn [Coke]: Then I have to ask: which Perl distro? :)
20:26 [Coke] (some of those quotes are superflous, I know.)
20:27 [Coke] jnthn: strawberry perl, visual studio 2010, nmake.
20:27 lue hello world [again] o/
20:27 jnthn ah
20:27 jnthn [Coke]: You'll have an easier time with ActivePerl if you're building with Visual Studio.
20:27 [Coke] jnthn, moritz: then I would not shed a tear if you closed that .PARROT ticket. ;)
20:27 jnthn [Coke]: Since it too is built with VS compiler.
20:28 jnthn So all the flags are "just right"...apart from for 64-bit.
20:29 [Coke] rakudo: sub foo(*%p) { say %p.perl }; foo(a => 'b', a => 'c')
20:29 p6eval rakudo 88c5a5: OUTPUT«("a" => "c").hash␤»
20:29 [Coke] jnthn: *sigh*. Ok.
20:29 moritz nom: Perl6::Grammar
20:29 p6eval nom 88c5a5: OUTPUT«Could not find symbol 'Perl6::&Grammar'␤  in block <anon> at /tmp/qW4F7WSvnR:1␤  in <anon> at /tmp/qW4F7WSvnR:1␤»
20:30 [Coke] rakudo: sub foo(*%p) { say %p.perl }; my %h = a => 'b'; foo(|%h, a => 'c')
20:30 p6eval rakudo 88c5a5: OUTPUT«duplicate named argument in call␤  in block <anon> at /tmp/N93o4ziKBC:1␤  in <anon> at /tmp/N93o4ziKBC:1␤»
20:30 jnthn [Coke]: I suspect that one isn't going to be fixed in a hurry, I'm afraid.
20:31 jnthn [Coke]: The error occurs in one of the bits of Parrot's calling mechanism that I really can't twiddle with so easily.
20:31 [Coke] jnthn: just doing ticket book-keeping. no worries.
20:31 * [Coke] will call it a day when I get to 50 testneeded tickets.
20:32 jnthn What's the current standing?
20:32 [Coke] rakudo: class A { method foo { say "OH HAI" } }; class B is A {}; class C is A is B {}; say "alive"; C.new.*foo
20:32 p6eval rakudo 88c5a5: OUTPUT«alive␤OH HAI␤»
20:32 [Coke] jnthn: 48. ;)
20:32 jnthn nom: say [+] <297 432 7>
20:32 p6eval nom 88c5a5: OUTPUT«736␤»
20:32 jnthn nom: say 736 - 48
20:32 p6eval nom 88c5a5: OUTPUT«688␤»
20:32 jnthn Wow. :)
20:33 jnthn Let's see if I have engergy/concentration for a patch or two.
20:34 [Coke] jnthn: oooh, freebie. jnthn fixed something but didn't mark the ticket.
20:34 [Coke] jnthn: oooh. coke is looking on the wrong list! *finger snap*
20:35 help joined #perl6
20:35 pothos_ joined #perl6
20:35 jnthn aww :)
20:35 [Coke] rakudo: sub foo($a, %h?) { bar($a, %h) }; sub bar($a, %h?) {say "alive!" }; foo(42)
20:35 p6eval rakudo 88c5a5: OUTPUT«alive!␤»
20:35 [Coke] rakudo: sub foo($a, %h?) { say %h.WHAT }; foo(42)
20:36 p6eval rakudo 88c5a5: OUTPUT«Hash()␤»
20:37 [Coke] rakudo: say [+]<296 433 7> -50
20:37 p6eval rakudo 88c5a5: OUTPUT«-47␤»
20:37 [Coke] rakudo: say ([+]<296 433 7>)-50
20:37 p6eval rakudo 88c5a5: OUTPUT«686␤»
20:37 [Coke] rakudo: say [+]<296 433 7 -50>
20:37 p6eval rakudo 88c5a5: OUTPUT«686␤»
20:37 help_ joined #perl6
20:38 * [Coke] ponders trying to achieve a stretch goal.
20:39 jnthn moritz: about?
20:41 dalek rakudo/nom: 33f1cfc | jnthn++ | src/Perl6/SymbolTable.pm:
20:41 dalek rakudo/nom: Fix pre-compilation of enums bug.
20:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/33f1cfcd71
20:43 moritz jnthn: yes
20:43 moritz (but not for long)
20:43 jnthn moritz: Fixed #100838 but not sure what to do about tests, if anything
20:43 jnthn moritz: Given you the ticket now though
20:43 jnthn moritz: Do as you feel. :)
20:44 moritz jnthn: since --target=pir is non-standard, I'll close without test
20:44 jnthn +1
20:45 jnthn Saw that ticket come in as soon as it was filed and figured it'd be an easy fix.
20:45 moritz jnthn: that's why i assigned it to you :-)
20:50 * jnthn sees a couple more that should be shooting-fish-in-barrel-esque
20:50 moritz jnthn: if you happen to see an easy way to return the exception from a failed try { }, that would be immensely useful for me
20:51 moritz nom: my $x = try { die "foo" }; say $x
20:51 p6eval nom 88c5a5: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤  in block <anon> at /tmp/GbK2G4QR5e:1␤  in <anon> at /tmp/GbK2G4QR5e:1␤»
20:51 moritz nom: say (try { die "foo" }).gist
20:51 p6eval nom 88c5a5: OUTPUT«Null PMC access in find_method('gist')␤  in block <anon> at /tmp/VVCJC_0cAz:1␤  in <anon> at /tmp/VVCJC_0cAz:1␤»
20:52 [Coke] joined #perl6
20:52 jnthn e src\Perl6\Grammar.pm
20:52 jnthn oops
20:52 [Coke] rakudo: my @a of Int = (1,2,3); say @a.WHAT
20:52 p6eval rakudo 88c5a5: OUTPUT«Array()␤»
20:52 jnthn .oO( that's why the tab completion didn't work... )
20:53 [Coke] rakudo: say callframe().callframe(1).my.perl
20:53 p6eval rakudo 88c5a5: OUTPUT«not yet implemented␤  in method callframe at src/gen/CORE.setting:6343␤  in block <anon> at /tmp/KUGjkHLZrt:1␤  in <anon> at /tmp/KUGjkHLZrt:1␤»
20:54 [Coke] rakudo: say ::.^methods
20:54 p6eval rakudo 88c5a5: OUTPUT«===SORRY!===␤Cannot look up empty name␤»
20:55 [Coke] rakudo: ::
20:55 p6eval rakudo 88c5a5: OUTPUT«===SORRY!===␤Cannot look up empty name␤»
20:55 jnthn std: ::
20:55 p6eval std 20ae3bd: OUTPUT«ok 00:01 118m␤»
20:55 jnthn std: ::.^methods
20:55 p6eval std 20ae3bd: OUTPUT«ok 00:01 118m␤»
20:55 jnthn heh...
20:55 * jnthn has little idea what that means
20:56 [Coke] rakudo: class A {has $.a = $^b + 1;has $.b = $^a }; say A.new(1,2).a
20:56 p6eval rakudo 88c5a5: OUTPUT«Default constructor only takes named arguments␤  in method new at src/gen/CORE.setting:520␤  in block <anon> at /tmp/KlAxdogLlw:1␤  in <anon> at /tmp/KlAxdogLlw:1␤»
20:56 [Coke] rakudo: class A { has $.a = $^b }; A.new
20:56 p6eval rakudo 88c5a5: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤  in method BUILDALL at src/gen/CORE.setting:542␤  in method bless at src/gen/CORE.setting:532␤  in method new at src/gen/CORE.setting:517␤  in block <anon> at /tmp/iSi_F7geIZ:1␤  in <anon> at /tmp/iSi_F7geIZ:1…
20:56 [Coke] rakudo: class A { has $.a = $^b }; A.new()
20:56 p6eval rakudo 88c5a5: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤  in method BUILDALL at src/gen/CORE.setting:542␤  in method bless at src/gen/CORE.setting:532␤  in method new at src/gen/CORE.setting:517␤  in block <anon> at /tmp/7TY4bdv4Cp:1␤  in <anon> at /tmp/7TY4bdv4Cp:1…
20:56 jnthn People come up with the craziest things to try...
20:59 moritz indeed
20:59 jnthn Lemme see if that can have a better error
21:00 [Coke] rakudo: class A { is $.foo }; say A.new
21:00 p6eval rakudo 33f1cf: OUTPUT«Null PMC access in find_method('foo')␤  in <anon> at /tmp/JJY6lQ9Rgk:1␤  in block <anon> at /tmp/JJY6lQ9Rgk:1␤  in <anon> at /tmp/JJY6lQ9Rgk:1␤»
21:00 * jnthn wonders if std catches that one
21:00 jnthn std: class A { is $.foo }; say A.new
21:00 p6eval std 20ae3bd: OUTPUT«[31m===[0mSORRY![31m===[0m�Variable $.foo used where no 'self' is available at /tmp/2tgnGrDgar line 1:�------> [32mclass A { is [33m�[31m$.foo }; say A.new[0m�Undeclared routine:� 'is' used at line 1�Check failed�FAILED 00:01 121m�»
21:00 jnthn Good STD.
21:00 jnthn S02-lexical-conventions\sub-block-parsing.rakudo ... Failed 1/4 subtests
21:01 jnthn Anyone else get ^^
21:01 jnthn Or did I bust something?
21:01 moritz jnthn: git pull on roast
21:01 jnthn oh
21:01 jnthn :)
21:01 [Coke] rakudo: class crap { has $.snot = "barf"; has $.eat = "me" }; my $c = crap.new(); for $c.^attributes -> $attr { say $c."$attr.substr(2)"() }
21:01 p6eval rakudo 33f1cf: OUTPUT«Method 'substr' not found for invocant of class 'Attribute'␤  in block <anon> at /tmp/lmQlIW1j2v:1␤  in method reify at src/gen/CORE.setting:3755␤  in method reify at src/gen/CORE.setting:3660␤  in method reify at src/gen/CORE.setting:3660␤  in method gimme at src/…
21:01 moritz commit cc397e58216ab93418077e9526296e4023c8c5d1, undo over-eager rakudo unfudging
21:02 jnthn [Coke]: That'd need to be $attr.name.substr(2)
21:02 jnthn Attributes are not Cool
21:02 jnthn And I don't think we should make them be so.
21:03 [Coke] jnthn: if not, then you can probably close out RT#78206
21:03 [Coke] rakudo: say +Method
21:03 p6eval rakudo 33f1cf: OUTPUT«Use of uninitialized value in numeric context␤0␤»
21:03 moritz \o/ SVG::Plot now compiles
21:03 [Coke] rakudo: multi foo() { }; multi foo($x) { }; say +&foo
21:03 p6eval rakudo 33f1cf: OUTPUT«No applicable candidates found to dispatch to for 'Numeric'. Available candidates are:␤:(Mu, Mu %_)␤␤  in method Numeric at src/gen/CORE.setting:608␤  in sub prefix:<+> at src/gen/CORE.setting:1808␤  in block <anon> at /tmp/0UbVWVrGDB:1␤  in <anon> at /tmp/0UbVWVrG…
21:04 moritz rakudo: say +Any.new
21:04 p6eval rakudo 33f1cf: OUTPUT«No applicable candidates found to dispatch to for 'Numeric'. Available candidates are:␤:(Mu, Mu %_)␤␤  in method Numeric at src/gen/CORE.setting:608␤  in sub prefix:<+> at src/gen/CORE.setting:1808␤  in block <anon> at /tmp/xMAxTFgLrC:1␤  in <anon> at /tmp/xMAxTFgL…
21:04 moritz maybe we need a better error message, but it's consistent at least
21:05 [Coke] moritz: it used to say 0, so it's an improvement.
21:05 [Coke] rakudo: for ^8 { .=fmt("%03b"); .say }
21:05 p6eval rakudo 33f1cf: OUTPUT«Cannot assign to a non-container␤  in method dispatch:<.=> at src/gen/CORE.setting:714␤  in block <anon> at /tmp/fh4hsVBFkr:1␤  in method reify at src/gen/CORE.setting:3755␤  in method reify at src/gen/CORE.setting:3660␤  in method reify at src/gen/CORE.setting:366…
21:07 moritz SVG::Plot seems to need some love wrt. flattening and non-flattening lists and stuff
21:07 [Coke] rakudo: multi sub Bar ( ) { return 42 }; multi sub Bar (:$baz!) { return $baz }; say Bar();
21:07 p6eval rakudo 33f1cf: OUTPUT«42␤»
21:08 dalek rakudo/nom: 3c18835 | jnthn++ | src/Perl6/Grammar.pm:
21:08 dalek rakudo/nom: The meta-object should get to pick a default representation, if the user didn't supply one.
21:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3c18835bdd
21:08 dalek rakudo/nom: 60539b9 | jnthn++ | src/Perl6/Metamodel/ (2 files):
21:08 dalek rakudo/nom: Make attempts to instantiate modules and packages fail in a more helpful way (that is, without a NPMCA).
21:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/60539b925a
21:08 jnthn That's #100780 moved to testneeded :)
21:09 [Coke] jnthn: did you update the ticket, or do you need a bugwrangler?
21:09 [Coke] rakudo: my @a; push @a, 5; say @a[0];
21:09 p6eval rakudo 33f1cf: OUTPUT«5␤»
21:09 [Coke] rakudo: my Int \@a; push @a, 5; say @a[0];
21:09 p6eval rakudo 33f1cf: OUTPUT«===SORRY!===␤In "my" declaration, typename Int must be predeclared (or marked as declarative with :: prefix) at line 1, near " \\@a; push"␤»
21:10 [Coke] rakudo: my Int @a; push @a, 5; say @a[0];
21:10 p6eval rakudo 33f1cf: OUTPUT«5␤»
21:10 jnthn [Coke]: Updated.
21:10 jnthn [Coke]: Just dangling it for a test writer ;)
21:11 [Coke] rakudo: Foo::bar(); module Foo { our $x = 42; our sub bar() { $x.say } }
21:11 p6eval rakudo 33f1cf: OUTPUT«Null PMC access in find_method('say')␤  in sub bar at /tmp/NwmSo_3gVB:1␤  in block <anon> at /tmp/NwmSo_3gVB:1␤  in <anon> at /tmp/NwmSo_3gVB:1␤»
21:11 [Coke] (RT79464)
21:11 jnthn [Coke]: Give it to me.
21:11 jnthn There's a related one I plan to look at sometime soon too.
21:12 [Coke] class A { my $.x = 42; method foo { say $.x } }; A.new.foo
21:13 [Coke] jnthn: assigned to jnthn/jnthn/net
21:13 [Coke] rakudo: class A { my $.x = 42; method foo { say $.x } }; A.new.foo
21:13 p6eval rakudo 33f1cf: OUTPUT«Method 'x' not found for invocant of class 'A'␤  in method foo at /tmp/oYDNWoqdBc:1␤  in block <anon> at /tmp/oYDNWoqdBc:1␤  in <anon> at /tmp/oYDNWoqdBc:1␤»
21:13 cognominal how do I declare the equivalent of a C++ class variable in Perl 6
21:13 jnthn cognominal: Just a lexical or our-scoped variable inside the class body
21:13 cognominal I don't what to grep that in S12
21:14 jnthn If you mena what I think you do anyway
21:14 * jnthn never learned C++, which is why he has just a few tiny shreds of sanity left
21:14 [Coke] rakudo: my ::&a &a;
21:14 p6eval rakudo 33f1cf: OUTPUT«invoke() not implemented in class ''␤  in block <anon> at /tmp/4CpohpaOsc:1␤  in <anon> at /tmp/4CpohpaOsc:1␤»
21:15 cognominal I never practized but I read every Stroustrup book so I have sone sanity left.
21:15 jnthn :)
21:16 [Coke] rakudo: my $b; -> $_ is rw = $OUTER::_ { $_ = 5; $b = {.say}}(); .say; $_ = 42; $b();
21:16 p6eval rakudo 33f1cf: OUTPUT«Any()␤5␤»
21:16 [Coke] rakudo: -> $_ is rw = $OUTER::_ { $_ = 5 }()
21:16 p6eval rakudo 33f1cf:  ( no output )
21:16 cognominal I tried "our" and I got some problem :  Cannot assign to a readonly variable or a value
21:16 [Coke] rakudo: -> $_ is rw = $FOO::a { $_ = 5 }()
21:16 p6eval rakudo 33f1cf:  ( no output )
21:16 [Coke] rakudo: $FOO::a = 42
21:16 p6eval rakudo 33f1cf:  ( no output )
21:17 [Coke] ugh, I really wish I had been going through these tickets more frequently. ;)
21:18 [Coke] rakudo: say :(Int).perl
21:18 p6eval rakudo 33f1cf: OUTPUT«Unmarshallable foreign language value passed for parameter '$value'␤  in method new at src/gen/CORE.setting:4425␤  in sub coro at src/gen/CORE.setting:3907␤  in method reify at src/gen/CORE.setting:3877␤  in method reify at src/gen/CORE.setting:3660␤  in method rei…
21:18 [Coke] whoa.
21:18 [Coke] rakudo: say :(Array of Int).perl
21:18 p6eval rakudo 33f1cf: OUTPUT«Unmarshallable foreign language value passed for parameter '$value'␤  in method new at src/gen/CORE.setting:4425␤  in sub coro at src/gen/CORE.setting:3907␤  in method reify at src/gen/CORE.setting:3877␤  in method reify at src/gen/CORE.setting:3660␤  in method rei…
21:19 cognominal problem difficult to reduce…. :(
21:19 [Coke] rakudo: sub y2i($adjective is copy) { $adjective ~~ s/y$/i/ }; sub compare($adjective) { join(", ", $adjective, $adjective.&y2i ~ "er", $adjective.&y2i ~ "est") }; say compare("funny")
21:19 p6eval rakudo 33f1cf: OUTPUT«funny, Trueer, Trueest␤»
21:19 jnthn [Coke]: Signautre literals just aren't re-done in nom yet, I think
21:21 [Coke] jnthn: that's #77158 if you want it.
21:21 [Coke] (the array of int one)
21:22 [Coke] rakudo: sub foo;
21:22 jnthn [Coke]: Will get there at some point.
21:22 p6eval rakudo 33f1cf: OUTPUT«===SORRY!===␤Missing block at line 1, near ";"␤»
21:22 jnthn Think that is same as STD.
21:22 jnthn std: sub foo;
21:22 p6eval std 20ae3bd: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed block at /tmp/1fBrvukB4x line 1:â�¤------> [32msub foo[33mâ��[31m;[0mâ�¤    expecting any of:â�¤       new name to be definedâ�¤ routine_defâ�¤    traitâ�¤Parse failedâ�¤FAILED 00:01 118mâ�¤Â»
21:22 jnthn ooh, Rakudo does better, imho :)
21:23 [Coke] jnthn: yup, it used to try to call foo.
21:23 [Coke] rakudo: say [+] 281, 446, 7, -60
21:23 p6eval rakudo 33f1cf: OUTPUT«674␤»
21:23 [Coke] \o/
21:24 [Coke] ok, that's enough for tonight. ;)
21:24 [Coke] so nice to not have to write cold fusion. ;)
21:24 jnthn ;)
21:24 jnthn [Coke]++
21:25 * [Coke] kicks off a niecza check of recent spectest additions.
21:26 [Coke] my "pingable" ticket list is down to 412. Still too big. ;)
21:28 dalek nqp: f0119d2 | jnthn++ | src/6model/reprs/P6opaque.c:
21:28 dalek nqp: Ensure we don't produce something that will cause segfaults when unboxing to a native str.
21:28 dalek nqp: review: https://github.com/perl6/nqp/commit/f0119d2603
21:30 im2ee Have to go.. Good night! 'branoc! o/
21:30 jnthn 'branoc, im2ee  o/
21:42 dalek rakudo/nom: edc303d | jnthn++ | tools/build/NQP_REVISION:
21:42 dalek rakudo/nom: Bump to NQP revision with fix for segfault in +Str.new.
21:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/edc303d4d3
21:42 dalek rakudo/nom: 134d3a1 | jnthn++ | src/core/Str.pm:
21:42 dalek rakudo/nom: Make Str.new result in a new string object representing the empty string.
21:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/134d3a1910
21:47 lue does require work in nom?
21:51 lue [I got a Null PMC on my end trying it]
21:52 jnthn lue: Features page says no
21:52 jnthn Plus I don't recall working on it.
21:52 lue :(
21:54 lue What exactly does use mean by "arglist case of use not yet implemented"?
21:54 jnthn use Foo; # works
21:55 jnthn use Foo <blah blah>; # not yet
21:57 lue that's weird, because I'm not using the <blah blah> part. I'm trying to use Grammar.pm6 and Actions.pm6 in my current directory, and it comes up no matter what I try
21:58 jnthn What are you writing exactly?
21:59 lue Today I've decided to start writing my Perl 6 compiler :) [Tomorrow I predict anguish and defeat...]
21:59 betterworld joined #perl6
22:00 cognominal joined #perl6
22:00 jnthn no, I meant, what use statement
22:01 * lue just realized (again) that using the REPL is generally not recommended
22:01 lue use Grammar; and use Actions;
22:01 felher Is there a way to get a variable that i can only initalize but not change afterwards? I tried/ack-ed for 'is ro', 'final', 'const', 'constant'. But constant seems to evaluate at compiletime, and the others didn't seem to be right either :)
22:02 sorear felher: constant is correct
22:06 felher sorear: yeah, but compile time. I need runtime. :) I wanted to create a closure like: 'make-closure(%some-hash) { my $x _is ro_ = %some-hash<value>; return sub() { do something with $x } }' I like to tell perl6 that $x can not be changed after getting its inital value :)
22:06 jnthn is readonly should work, but Rakudo currently enforces it too early to ever give it a value (d'oh!)
22:06 sorear felher: the best you can do there is my $x ::= ...
22:06 jnthn oh, yes, or bind :)
22:08 felher sorear: if i bind, i am not able to change the value of $x?
22:08 sorear felher: correct
22:09 felher sorear, jnthn: thanks :)
22:26 dalek roast: 0c8e9c6 | Coke++ | S05-capture/subrule.t:
22:26 dalek roast: niecza fudging
22:26 dalek roast: review: https://github.com/perl6/roast/commit/0c8e9c65db
22:27 kst joined #perl6
22:32 dalek rakudo/nom: ec1fbc8 | jnthn++ | src/core/operators.pm:
22:32 dalek rakudo/nom: Basic implementation of '0 but True' style constructs. Need to make it more efficient at some point, but this makes it at least work.
22:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ec1fbc8a4e
22:48 [Coke] joined #perl6
22:54 cognominal_ joined #perl6
22:55 [Coke] joined #perl6
23:09 dalek nqp: 97a4064 | jnthn++ | src/QRegex/Cursor.nqp:
23:09 dalek nqp: Non-existent captures should not match.
23:09 dalek nqp: review: https://github.com/perl6/nqp/commit/97a40643a2
23:10 dalek rakudo/nom: aae7fdd | jnthn++ | src/core/Cursor.pm:
23:10 dalek rakudo/nom: Undefined variables should not match when interpolated in regexes.
23:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aae7fdd4b7
23:10 dalek rakudo/nom: 9928ece | jnthn++ | tools/build/NQP_REVISION:
23:10 dalek rakudo/nom: Bump NQP_REVISION to get QRegex fix.
23:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9928eceda9
23:10 jnthn Enough for today.
23:10 jnthn &
23:11 moritz jnthn++
23:11 jnthn moritz: whoa, what, still up at this time? :)
23:12 moritz jnthn: can't sleep :(
23:12 jnthn :(
23:12 moritz (and not $daughter's fault)
23:15 jnthn Hope you manage to get some sleep soon.
23:15 * jnthn hasn't been able to get nearly enough of it over the last week either :/
23:15 jnthn Anyway, afk...night o/
23:32 alvis joined #perl6
23:41 PacoLinux joined #perl6
23:57 alvis joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo