»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | YAPC::NA talk submissions due end of Month. Have you submitted your talk?
Set by toddr_ on 18 March 2013.
masak 'night, #perl6 00:22
jnthn 'night also o/ 00:26
timotimo 'night 00:27
raiph attention backloggers: 00:58
in the last week or so I've switched to a briefer summarizing style
so the summary should be around 10-20% of the full length 00:59
which i'm pretty sure is solidly trending longer
raiph you can click lines in the summary to get relevant parts of full log 01:02
raiph irclog.perlgeek.de/out.pl?channel=p...;summary=1 01:35
diakopter only 60 people have bought a ticket or submitted a talk to yapc::na 02:33
colomon hopes to be able to go, but needs a lot more income in the next month to make it a go. 02:36
diakopter so-called "infinite scroll" pages are always disappointing when you get to the end 02:46
diakopter FROGGS_: hi 02:50
Heather good morning 04:26
I have some questions )
what is the progress of niecza and what exactly is nqp >_< 04:27
sorear nqp is a bootstrap layer under rakudo. fast, small, portable. 04:28
niecza was a project of mine, now abandoned. 04:29
Heather sorear but I see it's still being somehow active 04:33
diakopter Solomon Foster and Larry are maintaining it as needed
Heather sorear so rakudo is written on nqp ? 04:34
diakopter no; the kernel is written in C#; much of the library and engine are in Perl 6
dalek rl6-roast-data: e533610 | coke++ | / (3 files):
today (automated commit)
rl6-roast-data: 165f8fe | coke++ | / (3 files):
today (automated commit)
diakopter [Coke]++ 04:35
Heather diakopter I was asking about rakudo )
diakopter oh oops :D
sorear Heather: yes, rakudo is written mostly in nqp
Heather diakopter so niecza is perl6 for mono / .net?
sorear mostly? 04:36
sorear there's some rakudo-specific C too
Heather sorear I see.
sorear but that's being rewritten in or moved to nqp
sorear niecza uses mono / .net 04:36
diakopter diakopter-- reading fail
sorear rakudo has advanced a lot though, it will not be long before the best way to perl6 on mono is with a nqp port 04:37
Heather sorear so I can use niecza libs in my C# projects, right?
sorear yeah but you may need to make some small changes to the runtime, and it'll be rather dicey in any case 04:37
Heather sorear port nqp to .net? 04:38
sorear because of gather/take all Perl 6 code has to be converted to continuation passing style
which makes calling perl 6 from c# nontrivial
it's not _impossible_ but it's not supported 04:39
you'll have to do a lot of setup yourself
Heather bad
diakopter Heather: I agree with sorear; I imagine NQP will run on mono/.Net within 12 months 04:40
(and then rakudo shortly thereafter)
Heather again about nqp... 04:41
it can run on various vms ?
not parrot only?
sorear nqp runs on jvm today too, right? 04:42
diakopter its port for the JVM is mostly done
enough to bootstrap, yes
Heather where I can find implementation
diakopter not quite enough to support rakudo yet
nqp-jvm: where are you
p6eval nqp-jvm: OUTPUT«Confused at line 2, near "where are "␤ in panic␤ in comp_unit␤ in TOP␤ in parse␤ in parse␤ in <anon>␤ in compile␤ in eval␤ in evalfiles␤ in command_eval␤ in command_line␤ in MAIN␤ in <anon>␤ in <anon>» 04:43
diakopter Heather: don't tempt me to link you to l m g t f y . c o m :P
Heather github.com/jnthn/nqp-jvm-prep - this ?
diakopter yep
Heather hm... 04:44
diakopter do you use the JVM? 04:45
Heather I use mono
diakopter wonders if nqp-jvm would run on IKVM on mono
sorear niecza absolutely supports the other way though - load and use C# libraries 04:46
Heather I don't need C# libs in niecza I need niecza in C# libs 04:46
maybe I need nqp-.net 04:47
the thing: convert java code to .net is easy
diakopter Heather: several of us will be quite glad to offer any amount of help to you to write it
well... the compiler doesn't generate java code ;) it uses a bytecode emission library 04:48
Heather what about Nemerle implementation? :D
sorear Heather: how much precompilation do you need?
Heather diakopter github.com/jnthn/nqp-jvm-prep/blob...ecode.java this ? 04:49
sorear huh?
diakopter Heather: that's a small part of it
Heather: larger part: github.com/jnthn/nqp-jvm-prep/blob...mpiler.nqp 04:50
Heather il generation...
diakopter there are a few good libraries for that 04:51
Heather: sorear is asking whether you want to take Perl 6 code and convert it to .dlls 04:52
Heather diakopter yes 04:53
sorear ^
diakopter Heather: Nemerle is a quite interesting idea; because it comes with lots of tools useful to a dynamic compiler, it would provide a bunch of the hard work done for you to implement NQP 04:54
Heather diakopter so it's still being quite hard to get into 04:57
diakopter what is?
Heather diakopter compiler writing? 04:58
diakopter heh :)
diakopter r: macro :<> { } # ahaha 05:58
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::Var'␤»
diakopter r: macro :<marco> { } # ahaha
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::Want'␤»
diakopter ahahaha
_ilbot: please record in your log the above stuff for masak and jnthn 05:59
thank you.
r: macro :{ } { } 06:01
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::Op'␤»
diakopter r: macro :(){}{} 06:02
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::WVal'␤»
diakopter hee
Var,Want,Op,WVal
diakopter looks for more 06:03
diakopter r: say (BEGIN macro {})() 06:09
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling block : Unknown QAST node type NQPMu␤»
diakopter probably falls under the one already reported with the same error msg 06:10
diakopter r: print (macro { }).WHAT 06:11
p6eval rakudo 6d7c9c: OUTPUT«use of uninitialized variable $v of type Parcel in string context in block at /tmp/5S3WSzjl8S:1␤␤»
diakopter o_O
rindolf Hi all.
diakopter rindolf: hi.
rindolf diakopter: what's up? 06:12
diakopter trying to get in touch with toddr; idly fuzzing the rak
diakopter procrastinating my assignments from $architect_leader_designer_implementor_person 06:13
rindolf: what's up with you 06:14
rindolf diakopter: I'm publicising my new ebook - payhip.com/b/MbZC - “Selina Mandrake - *The Slayer*” 06:15
diakopter r: ."{ try BEGIN { ... } }"() 06:19
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling block : Error while compiling block : Unknown QAST node type Failure␤»
diakopter hee
never seen that one
r: try BEGIN { ... } # golfed 06:20
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Error while compiling block : Error while compiling op call: Error while compiling block : Error while compiling block : Unknown QAST node type Failure␤»
diakopter r: BEGIN { try eval } # timeout? 06:21
p6eval rakudo 6d7c9c: OUTPUT«(timeout)» 06:22
diakopter rnp: say START { 44 } for ^3 06:47
p6eval niecza v24-35-g5c06e28: OUTPUT«44␤Nil␤Nil␤»
..pugs: OUTPUT«44␤44␤44␤»
..rakudo 6d7c9c: OUTPUT«(Mu)␤(Mu)␤(Mu)␤»
TimToady pugs++ 06:48
diakopter rnp: INIT { say 44 } for ^3 06:49
p6eval pugs: OUTPUT«44␤*** ␤ Unexpected end of input␤ expecting operator or block construct␤ at /tmp/HJ9iCy6LTv line 2, column 1␤»
..rakudo 6d7c9c, niecza v24-35-g5c06e28: OUTPUT«44␤»
diakopter rnp: (FIRST { say 44 }) for ^3 06:52
p6eval pugs: OUTPUT«*** Cannot cast from VList [] to VCode (VCode)␤ at /tmp/9_MeQYx_ig line 1, column 1␤»
..rakudo 6d7c9c: ( no output )
p6eval ..niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Action method statement_prefix:FIRST not yet implemented at /tmp/unVH2nYgzp line 1:␤------> (FIRST { say 44 }⏏) for ^3␤␤Unhandled exception: Unable to resolve method semilist_level in type Any␤ at /home/p… 06:52
diakopter ?++
diakopter r: LAST { LAST { say 555 } }; LAST { LAST { BEGIN { say 444 } } } # erm... 06:56
p6eval rakudo 6d7c9c: OUTPUT«444␤»
diakopter TimToady: ^ ..? 06:57
diakopter r: LAST { say 555 }; LAST { BEGIN { say 444 } } # erm... 06:58
p6eval rakudo 6d7c9c: OUTPUT«444␤»
TimToady LAST has no meaning outside a loop 07:00
diakopter right, but why doesn't it say 555 if it says 444 07:01
TimToady well, the BEGIN runs the 444 07:02
diakopter why does it run the BEGIN
TimToady because it's supposed to
FROGGS_ hehe
good morning 07:03
diakopter oh yeah.
diakopter rn: ([|]).AUTOTHREAD(sub { say 44 }) 07:25
p6eval niecza v24-35-g5c06e28: ( no output )
..rakudo 6d7c9c: OUTPUT«44␤»
diakopter ?++ 07:26
diakopter r: say 4^(4^4) # why doesn't this simplify? 07:39
p6eval rakudo 6d7c9c: OUTPUT«one(4, one(4, 4))␤»
diakopter rnp: say (Inf ** (0-Inf) * -1) ** 3 07:43
p6eval rakudo 6d7c9c: OUTPUT«-0␤» 07:43
..niecza v24-35-g5c06e28, pugs: OUTPUT«0␤»
diakopter rn: say 0 === 0 07:45
p6eval rakudo 6d7c9c, niecza v24-35-g5c06e28: OUTPUT«True␤»
diakopter rn: say((Inf ** (0-Inf) * -1) === 0)
p6eval rakudo 6d7c9c, niecza v24-35-g5c06e28: OUTPUT«False␤»
diakopter rn: say((Inf ** (0-Inf) * -1) == 0)
p6eval rakudo 6d7c9c, niecza v24-35-g5c06e28: OUTPUT«True␤»
diakopter o_O
diakopter rnp: say abs(Inf ** (0-Inf) * -1) 07:56
p6eval pugs: OUTPUT«-0␤»
..rakudo 6d7c9c, niecza v24-35-g5c06e28: OUTPUT«0␤»
diakopter rnp: say (Inf ** (0-Inf) * -1)
p6eval rakudo 6d7c9c, pugs: OUTPUT«-0␤»
..niecza v24-35-g5c06e28: OUTPUT«0␤»
diakopter Wat.
diakopter why does pugs think abs(0) is -0 07:57
p: say abs(0) 07:58
p6eval pugs: OUTPUT«0␤»
diakopter p: say abs(0-Inf)
p6eval pugs: OUTPUT«Inf␤»
diakopter p: say abs(1/0-Inf) 07:59
p6eval pugs: OUTPUT«*** Illegal division by zero␤ at /tmp/ZjRdK0y00p line 1, column 9-16␤»
diakopter p: say abs(1/(0-Inf))
p6eval pugs: OUTPUT«-0␤»
diakopter p: say (1/(0-Inf))
p6eval pugs: OUTPUT«-0␤»
diakopter double Wat.
sorear how is any of that surprising 08:03
diakopter niecza? or rakudo? or pugs? 08:04
sorear pugs
everything pugs has done is consistent with the ieee754 rules 08:05
p: say abs(NaN)
p6eval pugs: OUTPUT«NaN␤»
diakopter which was right here: rnp: say abs(Inf ** (0-Inf) * -1)
sorear that's eithe 0 or -0
sliiiiiight preference for 0 08:06
but they're the same in every case except division, so it doesn't matter
diakopter so should it return one(0,1(0-Inf)) ?
sorear 1 / 0 = die, 1 / (-0) = die
diakopter so should it return one(0,1/(0-Inf)) ?
er
sorear now you're just being silly
diakopter no, I typo'd 08:07
sorear it should not return a junction
is that junction thing supposed to be a good-faith proposal? :/
diakopter +/- something?
seems junctiony
sorear no, junctions are smartmatch patterns, not results of arithmetic operators 08:08
diakopter I don't see the distinction
moritz returning junctions from arithmetic operations violates the principle of least surprise 08:09
diakopter how would you represent a set of possible results?
sorear you return one of them arbitrarily 08:10
sorear please read en.wikipedia.org/wiki/Signed_zero before complaining about -0 behavior. it's weird, it has to be weird, and it's behaving exactly as documented 08:11
sorry, I have to sleep& now
moritz diakopter: arithmetic operations on numbers don't return sets
diakopter I thought it was important to not lose that information when solving 08:14
symbolically 08:15
moritz well, but we don't implement symbolic math in Perl 6
diakopter s/to not/not to/ 08:15
oh
I wonder if there could be a mode where such a thing is enabled 08:18
moritz if it weren't Perl 6, but Mathematica, then there could be such a mode :-) 08:22
kresike hello all you happy or unhappy perl6 people 08:28
Heather so, let back to yesterday topic :) 08:46
is there something alike lambda ? 08:49
r: lambda { say 1 } 08:50
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Undeclared routine:␤ lambda used at line 1␤␤»
Heather r: _ -> {say 1} 08:50
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Undeclared name:␤ _ used at line 1␤␤»
Heather r: () -> {say 1}
moritz r: { say 1 }
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?)␤at /tmp/6DigiYkyzb:1␤------> () ⏏-> {say 1}␤ expecting any of:␤ postfix␤ infix stopper␤ infix…
rakudo 6d7c9c: OUTPUT«1␤»
moritz r: my $lambda = { say 1 }; 08:51
p6eval rakudo 6d7c9c: ( no output )
Heather moritz it's not lambda ...
moritz Heather: why not? 08:52
Heather r: if True { { say 1 } }
p6eval rakudo 6d7c9c: OUTPUT«1␤»
Heather if True { ($f -> { say $f })(1) } 08:54
r: if True { ($f -> { say $f })(1) }
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Variable '$f' is not declared␤at /tmp/O8c6P3Z2zz:1␤------> if True { ($f⏏ -> { say $f })(1) }␤ expecting any of:␤ postfix␤»
moritz r: if True { ( -> $f { say $f })(1) }
p6eval rakudo 6d7c9c: OUTPUT«1␤»
Heather that's it...
r: my $x =( -> { return 1 } ) 08:55
p6eval rakudo 6d7c9c: ( no output )
Heather my $x =( -> { return 1 } ); say $x
r: my $x =( -> { return 1 } ); say $x
p6eval rakudo 6d7c9c: OUTPUT«Block.new()␤»
Heather r: my $x =(( -> { return 1 } )()); say $x 08:56
p6eval rakudo 6d7c9c: ( no output )
Heather r: my $x =(( -> { say 1 } )()); say $x
p6eval rakudo 6d7c9c: OUTPUT«1␤True␤»
Heather True ?
r: my $x =(( -> { say 1; return False } )()); say $x
p6eval rakudo 6d7c9c: OUTPUT«1␤» 08:57
Heather no true ...
well...
r: my $x =(( -> { say 1; return True } )()); say $x
p6eval rakudo 6d7c9c: OUTPUT«1␤»
Heather it returns execution result if there is no return seems like
r: my $x =(( -> { say 1; } )()); say $x 08:58
p6eval rakudo 6d7c9c: OUTPUT«1␤True␤» 08:58
Heather r: my $x =(( -> { say 1; die } )()); say $x
p6eval rakudo 6d7c9c: OUTPUT«1␤␤ in block at /tmp/dmHF18QPjJ:1␤␤»
Heather moritz lambda functions can return? 08:59
if not then it's not a functions ) just actions.... I guess 09:00
function is something that returns ... usually 09:01
Heather r: my $x =(( -> { say 1; return 1 } )()); say (1 + $x); 09:03
p6eval rakudo 6d7c9c: OUTPUT«1␤»
Heather ....
r: my $x =(( -> { say 1; return 1 } )()); say (1 + $x()); 09:04
p6eval rakudo 6d7c9c: OUTPUT«1␤»
Heather r: my $x =(( -> { say 1; return 1 } )()); say $x.WHAT
p6eval rakudo 6d7c9c: OUTPUT«1␤»
Heather what... 09:05
r: my $x =(( -> { say 1; return 2 } )()); say $x.WHAT
p6eval rakudo 6d7c9c: OUTPUT«1␤»
moritz Heather: 'return' always returns a routine (sub, method, regex)
for returning from a block you'd use 'leave', but that's not implemented
of course you can just use anonymous functions as well
Heather r: my $x =(( -> { say 1; leave 2 } )()); say $x
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Undeclared routine:␤ leave used at line 1␤␤»
moritz r: my $x = sub { return 42 }; say $x() 09:06
p6eval rakudo 6d7c9c: OUTPUT«42␤»
Heather moritz it's not the same ... what if I do long calculation for 42, I don't want to calc it each time
moritz and without explicit return, the last statement is used as a return value
Heather r: my $x =(( -> { say 1; 2 } )()); say $x
moritz Heather: then use an anonymous sub. Or implement leave()
p6eval rakudo 6d7c9c: OUTPUT«1␤2␤»
Heather oh....
r: my $x =(( -> { 2 } )()); say $x 09:07
p6eval rakudo 6d7c9c: OUTPUT«2␤»
moritz or use a conditional
Heather r: my $x =(( -> { my $test = 5; $test } )()); say $x
p6eval rakudo 6d7c9c: OUTPUT«5␤»
Heather IT WORKS !
Heather moritz no it works like in above snippet :) 09:07
moritz ok, then I just misunderstood what you wanted 09:08
I thought you needed an explicit return
Heather r: my $x =-> { my $test = 5; $test } (); say $x
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/c2_doV4hXt:1␤------> my $x =-> { my $test = 5; $test } ⏏(); say $x␤ expecting any of:␤ postfix␤ statement end␤ statement modifier␤ statement modifier loop␤ …
moritz () is a postcircumfix, you can't have space before that 09:08
Heather r: my $x =-> { my $test = 5; $test }(); say $x
p6eval rakudo 6d7c9c: OUTPUT«5␤»
Heather aha ! I get it 09:09
FROGGS_ moritz: we might should introduce a almostpostcircumfix :P
Heather r: my $x =-> { my $test = 5; $test }; say $x
FROGGS_ an*
p6eval rakudo 6d7c9c: OUTPUT«Block.new()␤»
masak good forenoon, #perl6
FROGGS_ r: my $x =-> { my $test = 5; $test }; say $x()
p6eval rakudo 6d7c9c: OUTPUT«5␤»
FROGGS_ hi masak
Heather FROGGS_ it's wrong, it's each time calculation 09:10
r: my $x =-> { my $test = 5+5; $test-6 }(); say $x
p6eval rakudo 6d7c9c: OUTPUT«4␤»
FROGGS_ okay
Heather but syntax is a bit ugly with this last () :)
FROGGS_ Heather: but that's how you call/execute stuff 09:11
moritz Heather: if you want to immediately execute a block, you don't have to use a lambda for that
Heather FROGGS_ I see, though I need custom operator for it
moritz you can just say
r: my $x = do { my $t = 5 + 5; $t }; say $x 09:12
p6eval rakudo 6d7c9c: OUTPUT«10␤»
moritz so it's only ugly because you chose an ugly way to do it :-)
Heather moritz even easier )
Heather moritz I don't know about do ) 09:12
FROGGS_ Heather: now you do :o)
Heather FROGGS_ you should agree that this is better then below: 09:13
r: my $x; { my $t = 5 + 5; $x = $t }; say $x 09:14
p6eval rakudo 6d7c9c: OUTPUT«10␤»
Heather FROGGS_ I don't know why :P just my understanding of things... 09:14
moritz if you're looking for an even better way 09:16
r: say 5 + 5;
p6eval rakudo 6d7c9c: OUTPUT«10␤»
masak I like that one.
but I tend to do it like this.
r: say 10
p6eval rakudo 6d7c9c: OUTPUT«10␤»
masak of course, it's not good to have magical numbers like that littering one's program. 09:17
Heather I can di better
rakudo 6d7c9c: OUTPUT«10␤»
:D
masak heh.
moritz r: my constant TEN = 10; say TEN;
p6eval rakudo 6d7c9c: OUTPUT«10␤»
moritz better? :-)
masak moritz: awesome.
r: say my constant TEN = 10 09:18
p6eval rakudo 6d7c9c: OUTPUT«10␤»
masak and it makes sense to make TEN a constant because, you know, TEN never changes.
Heather r: 10
p6eval rakudo 6d7c9c: ( no output )
Heather T_T
r: 10.WHAT
p6eval rakudo 6d7c9c: ( no output )
Heather r: die 10 09:19
p6eval rakudo 6d7c9c: OUTPUT«10␤ in block at /tmp/xRLuX_mdUr:1␤␤»
Heather \o/
masak moritz: I once read an Onion-like piece detailing the discovery of a new positive integer having been discovered, between 7 and 8.
moritz: I went ahead and told my friend, and immediately felt bad when he seemed to believe me. 09:20
moritz masak: :-) 09:21
masak I can't find the piece, but it was great.
moritz "Researchers find that there are more integers than previously thought" -- something along those lines? 09:22
masak yes!
diakopter "anything you can count, I can count twice" 09:23
masak the new number, which they had named something outrageous, was a prime. strangely enough, there wasn't a corresponding new *negative* number, though.
jnthn morning o/ 09:54
diakopter o/ 09:55
masak morning, jnthn
Heather \o/ 09:57
diakopter /\o/\
diakopter \/o\/ 10:00
d'oh
masak :P 10:01
FROGGS_ Heather: you need to 'say' to see the output 10:23
r: say 10
p6eval rakudo 6d7c9c: OUTPUT«10␤»
dalek kudo/tmp_highfive: 604d2f2 | (Tobias Leich)++ | src/Perl6/P5 (2 files):
variable declaration works
11:17
dalek kudo/tmp_highfive: 8c1bb5f | (Tobias Leich)++ | src/Perl6/P5Grammar.pm:
fixing ENDSTMT and sub call without parens
12:04
FROGGS_ yay, it passes github.com/fglock/Perlito/blob/mas...to/05-if.t \o/ 12:05
masak timotimo: what's the 'tmp_highfive' branch? 12:17
er, FROGGS_.
FROGGS_ masak: it is an experiment to support { use v5; } blocks 12:20
diakopter o_O
masak high-fives FROGGS_ o/ 12:22
FROGGS_ \o
masak :D
masak wow, this Venn diagram is great: en.wikipedia.org/wiki/Homomorphism...ory_theory 12:32
pmichaud good morning, #perl6 12:38
FROGGS_ morning pmichaud 12:39
rindolf pmichaud: good morning. 12:41
pmichaud: well, here it is 14:41 in the early afternoon.
jnthn o/ pmichaud
moritz rindolf: it's always morning in UGT 12:42
rindolf moritz: what is UGT? 12:43
FROGGS_ universal greeting time 12:44
it is always morning when somebody joins... 12:45
moritz and it's also night or evening in UGT when somebody leaves 12:46
daxim needs moar xenomorphism
Heather r: my $a = "a"; say $a eq "b" ?? $a :: "x"; 12:51
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Please use !! rather than ::␤at /tmp/rGzILcldq8:1␤------> my $a = "a"; say $a eq "b" ?? $a ⏏:: "x";␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤»
Heather r: my $a = "a"; say $a eq "b" ?? $a !! "x";
p6eval rakudo 6d7c9c: OUTPUT«x␤»
Heather is there easier way to write it?
r: my $a = "a"; say $a eq "b" ?? "x"; 12:52
p6eval rakudo 6d7c9c: OUTPUT«===SORRY!===␤Found ?? but no !!␤at /tmp/Z5eN3UtAWs:1␤------> my $a = "a"; say $a eq "b" ?? "x"⏏;␤Confused␤at /tmp/Z5eN3UtAWs:1␤------> my $a = "a"; say $a eq "b" ?? "x"⏏;␤ expecting any of:␤ postfix␤…
moritz I don't think so 12:56
Heather moritz how to get value from dictionary by key (kv -> v) ? 12:59
x[key] ?
jnthn %h{$key}
Heather oh... 13:00
ok
dalek kudo/tmp_highfive: 888f86c | (Tobias Leich)++ | src/Perl6/P5Grammar.pm:
statement modifier loops ok
13:17
kudo/tmp_highfive: 5392638 | (Tobias Leich)++ | src/Perl6/P5Grammar.pm:
simple for loop ok
Heather Crystal Maiden from dota appears... 13:19
Heather github.com/Heather/CrystalMaiden 13:21
:)
masak Heather++ 13:22
Heather: the code looks good.
(except for your indenting style, which I'll probably never get quite used to) :)
Heather >_< 13:23
Heather masak I steal some code from your ufo and some from tadzik panda 13:23
Heather masak but it's just skeleton which works, it needs more changes to feet all the gentoo ebuild stuff 13:24
mostly it's ready to use but some things...
btw... what is proper license for all those modules? 13:25
Heather portage doesn't like licenseless packages 13:25
diakopter meh, MIT-style, whatever 13:26
moritz panda has a LICENSE-file
MIT, right
and you'll have to ask masak regarding ufo
Heather ok, I will add it on next week, I think
moritz I'm sure he'll add a license file too
Heather well... I think we need license in META.info
moritz and if you prefer a particular license, maybe he'll listen to you 13:27
Heather it will be easy to automate license field fill for me
Heather and set some default license if it's not specified 13:27
masak it doesn't feel right to license ufo, considering how it was written by aliens...
Heather ok, maybe set it lecenseless for unspecified is also fine 13:27
masak (consider it in the public domain) 13:28
Heather so what about license field in meta.info ?
masak I'm all for it :) 13:28
Heather maybe someone want create freaking gpl3 modules...
tadzik Heather: nice :) 13:30
moritz masak: you could add that the aliens told you to use it in whatever way you see fit, and you're passing on that right to everybody (thus making it public domain, in essence) 13:31
Heather so .... now it's time to go home 13:32
masak .oO( are you asking me to make stuff up? ) :P
Heather BUT !!! after gentoo updates -_-'
moritz masak: of course not. Once it's on github, it's true. So it can't be made up :-) 13:33
masak oh phew 13:34
Heather another thing about mono nqp... I don't think I will work on it whenever, maybe I will join if someone will start 13:34
I find more helpful to take care about Nemerle itself :P 13:35
though we currently have no "manpower" oh I'm not sure how to call it to get it to fly 13:36
moritz the word you are looking for is "tuits" 13:37
Heather moritz it's UNGOOGLETRANSLATEBLE
moritz Heather: it's from the saying "sometimes you just don't get around to it" 13:38
that becomes "sometimes you just don't get a round tuit" 13:39
Heather I remember word "manower" from this : paludis.exherbo.org/faq/general.html
Article "Why C++"
moritz and the result is some hardware, as seen here: www.flickr.com/photos/hfb/56871343/
Heather gentoo please let me go home 13:46
see you o/ 13:47
pmurias FROGGS_: pastie.org/7067065 14:02
toddr_ Does a "Zero to Perl6" Training exist? 14:03
tadzik I don't know of any 14:04
toddr_ I ask because I think this would REALLY help get some perl6 attention at YAPC. 14:04
tadzik oh hm, there's masak blog series, hold on
toddr_ yes but what I need more than the blogs is an instructor :) 14:05
tadzik strangelyconsistent.org/blog/a-mont...ndamentals
ah
you'll have to ask masak then :)
toddr_ I'll even give a 4 hour or better slot out during the conference if someone'll submit the idea.
masak I put together a gist recently with an index. hold on. 14:06
moritz masak: what about your planned Perl 6 tutorial on IRC? 14:07
masak toddr_: I'd easily teach 4 hours of intro Perl 6 at YAPC::NA.
moritz: it might be a good exercise for the thing :)
toddr_ ok do you have talks submitted already?
pmichaud oooh, masaktalk! 14:07
masak toddr_: gist.github.com/masak/5014406 -- this is the "June blogging" I did in 2011. 14:08
toddr_: I can easily make a 4-hour course from that.
tadzik that reminds me to continue Quest :)
masak toddr_: I don't have talks submitted yet, no.
toddr_: I'm thinking actively about it. 14:09
toddr_ I was thinking we could even put together a server and give out accounts and/or make pre-built P6 builds for OSX, debian, windows
masak cool.
FROGGS_ pmurias: the message you get is some sort of warning I must fix some day
toddr_ I can get the server with accounts setup to ease class getting started time.
masak: Just put that it's a 4 hour talk in the submission and I'll set it up. 14:10
pmurias FROGGS_: do you also get it?
FROGGS_: the trailing code doesn't get run
FROGGS_ pmurias: you still can do: -e 'if 1 { say 2 }; { use v5; for(1..5) { say $_; } }; say "back in perl 6 land"'
toddr_ masak: I'm thinking it should be an afternoon class in the main auditorium to maximize attendance?
FROGGS_ pmurias: I get that also
pmurias: what trailing code? 14:11
masak toddr_: makes sense. 14:11
FROGGS_ pmurias: my $x (1..5) { say $x } doesnt work yet though 14:12
err, for*
toddr_ I think we should also round up some T.A.s to help with questions
masak toddr_: do you really mean a Perl 6 course from first principles? what exactly do you think I can assume from the audience? prior Perl exposure? prior programming experience?
pmurias FROGGS_: the snippet you pasted doesn't print anything
pmichaud I think prior Perl exposure is a safe assumption.
masak me too. 14:13
that makes things a whole lot simpler :)
toddr_ masak: Yep Assume working perl5 knowledge 14:15
but not expert in any way
pmurias FROGGS_: is perl5 code supposed to execute at this point or only parse? 14:15
FROGGS_ pmurias: gist.github.com/FROGGS/52dc87bd2203230eb12f
FROGGS_ pmurias: you checked out the tmp_highfive branch? 14:15
masak toddr_: sounds like a nice crowd to talk to. I would really enjoy doing something like that.
FROGGS_ pmurias: it gets executed 14:16
masak ooh, I could base it around common RC-like code examples, and permute things as I go to Perl 6. :) TimToady++ did that in a keynote once. 14:16
I think that could easily work in a course setting as well.
toddr_ masak: looking forward to it. I'm on irc.perl.org regularly if you need anything 14:17
mst I would suggest a single VM 14:17
[Coke] my daughter is actually interested in learning programming. shame I'm going to have to start her on something other than perl 6! 14:17
mst trying to produce builds for multiple OSes would likely be more confusion than it's worth
(even if I can probably do it)
(which means people who know what they're doing definitely can :)
masak [Coke]: I'd start with JavaScript. 14:18
pmichaud several of our robotics team members went with javascript
seemed to work out reasonably well
pmurias FROGGS_: the snippets doesn't work here 14:20
FROGGS_ pmurias: hmmm weird
pmurias: but you are on the right branch?
and you made realclean?
pmurias I did a fresh clone 14:21
FROGGS_ (cause I changed the Makefile)
pmurias the exception kills rakudo here
FROGGS_ ohh right
pmurias and somehow the code continues on your box
FROGGS_ pmurias: I changed that in nqp but didnt push because it is an evil hack 14:22
pmurias what's causing the exception? 14:23
FROGGS_ pmurias: you might want to apply that patch gist.github.com/FROGGS/52dc87bd220...tfile1-txt
FROGGS_ pmurias: I believe that error is thrown because of the different namespace of the grammar/actions, but I'm not sure 14:25
pmurias FROGGS_: the error is thrown because we are reblessing the cursor into an different grammar 14:28
the error is correct 14:29
pmurias FROGGS_: otherwise we will end up with a crazy object which has attributes from classes it doesn't inherit from 14:34
pmurias FROGGS_: wouldn't it be more sane to first have a standalone perl5 mode and the work on 'use v5'? 14:41
anocelot The question for [coke] is, did your daughter like the butterfly logo? 14:46
pmichaud I've come across several young women that liked the butterfly logo. 14:51
moritz anocelot: fwiw my daughter likes it very much
she shouts "metterling" in a delighted voice when she sees it ("schmetterling" is German for "butterfly", and her pronounciation isn't perfect yet :-) 14:52
anocelot I'm sure that will make TimToady happy. ;) 14:53
moritz also she sometimes points at my computer screen and shouts "papa", and at first I have no idea what she means 14:54
and then it turns out my github profile picture showed up on some page there :-)
masak :) 14:55
tadzik :]
masak .oO( Camelia: optimized for moritz++' daughter ) ;)
pmichaud
.oO( moritz++ daughter, optimized for Perl 6-related imagery :)
14:56
pmichaud now if moritz can just get her to shout "Weird Al!" whenever she sees a picture of Larry.... :-P 14:56
moritz I'm sure I could make her do it, just by doing it myself often enough 15:01
masak I could see that one getting old, though. 15:03
moritz and a bit embarrasing if she every meats Larry in person :-)
arnsholt Well, this is annoying. I thought I'd figured out how to make sixmodelobject work natively with |@params but for some reason it doesn 15:04
TimToady embarrassing to Weird Al maybe :) 15:17
moritz :-) 15:18
masak TimToady++ 15:30
pmurias FROGGS_: I removed the rebless and your example works 15:32
FROGGS_: LANG creates and uses a fresh cursor so maybe the rebinding was unneeded? 15:33
dalek kudo/tmp_highfive: 56f3f77 | (Tobias Leich)++ | src/Perl6/P5 (2 files):
method call works
FROGGS_ pmurias: so I we dont need the rebless? cool
make -j4 && ./perl6 --ll-exception -e 'use v5; say 1->WHAT'
(Int)
hehe
moritz \o/ 15:34
arnsholt Cool!
FROGGS_ :o)
moritz does that work with methods too?
(WHAT is a macro, not a method, in Perl 6)
FROGGS_ moritz: 1->Str is working too 15:35
pmurias but aren't we using Perl 6 semantics with a Perl 5 syntax? 15:36
FROGGS_ pmurias: is that a problem? 15:36
moritz I guess that 'use v5;' will have to import lots of built-ins 15:37
like a &say that uses the .Str semantics instead of .gist
FROGGS_ pmurias: my personal goal is to execute perl 5 code, I dont bother if one would be able to call methods on everything
pmurias in that particular case it's not a problem
arnsholt But to run the Perl 5 code properly, you need the proper semantics 15:38
Which, for example, means that say needs to do something different from Perl 6 say
Of course, at the moment using Perl 6 say is fine =)
pmichaud I'd guess that "use v5;" would imply switching a setting somehow. 15:39
s/a/the/
FROGGS_ arnsholt: right, right now it calls .gist, it will have to do something else in future
jnthn pmichaud: I was thinking that, then realized it's not quite that simple 'cus you expect to see outer lexicals 15:40
pmichaud that's why I said "switch a setting" and not just "start a new lexical context" :)
FROGGS_ I guess the communication between v6 and v5 blocks is easier if the v5 block only uses Perl 5 syntax but the rest is the same 15:41
but we'll see what we need to do I gues
s
pmichaud afk, errands 15:42
pmurias FROGGS_: how should I submit changes to tmp_highfive? 15:45
FROGGS_ pmurias: just push if you have commit bit 15:50
since it is just a branch that will never be merged directly feel free 15:51
moritz and if you don't have a commit bit, use pull requests 15:52
(just be careful to set the right destination branch)
FROGGS_ ... or we work on a fork
moritz might be easier, if many patches are stacking up 15:53
FROGGS_ right 15:54
kresike bye folks 16:09
pmurias FROGGS_: I don't have a commit bit, why do you plan to delete history at some point? 16:13
FROGGS_ because there is too much mess atm 16:17
pmurias: btw, if you can get this to work that would be sweet: 'use v5; say 1; { use v6; say 2 }'
pmurias: I could clean it up tonight, so one (you and me) can make permanent commits 16:18
anocelot Would it work easier to use 'package' to accomplish that? (I don't know; just asking.) 16:20
timotimo do you know what it's like to get a super amazing link from somewhere and half an hour later you're done consuming the info from it and want to thank the linker, but don't remember where it came from?
so anyway: i wonder if this would be feasible for perl6 at all :D www.youtube.com/watch?v=8SkdfdXWYaI
(coding and shell usage with dragon natural speaking and a bunch of made-up words and snippets) 16:21
pmurias FROGGS_: ok, I'll try to get that to work 16:23
FROGGS_ anocelot: the problem is not with the syntax, but with the code that gets invoked when hitting 'use v6'
pmurias++
pmurias: but feel free to do something else if you want to
anocelot FROGGS_ Ah. 16:24
TimToady waves at anocelot
isBEKaml FROGGS_: careful, you might drive pmurias away. :)
FROGGS_ isBEKaml: no, I believe this topic is rather too cool to get somebody off it :o) 16:25
anocelot waves at TimToady. I think I've seen you somewhere before... XD
isBEKaml FROGGS_: lol. I was just pointing out how "but feel free to do something else if you want to" might go the other way. :D 16:26
masak anocelot: oh hai! fancy seeing you around here :) 16:27
anocelot masak: o.o/ 16:28
TimToady is that an owl wing on the right?
anocelot masak: TimToady dropped by my Perl class the other night and inspired me to drop by. But don't tell anyone. 16:29
diakopter anocelot: I think it's great you're interested in learning Perl so you're in a class!
TimToady Pay no attention to the guitarist behind the curtain! 16:30
anocelot TimToady: It's just a waving arm. Sorry; When I'm in a chat room I usually default to CAA speak. >.< I'll try to be more grown up.
diakopter: Yeah. The professor's a real jerk sometimes, though. ;)
diakopter I KNOW
timotimo what is CAA speak? 16:30
diakopter Compressed Ascii Art? 16:31
anocelot It's a slang dialect spoken by the (mostly college folk) users on a board I run. (Not trying to pimp my other projects; honest!)
timotimo oh, i see 16:32
FROGGS_ pmurias: can you add the irc service hook? so I see when you push and vice versa
anocelot timotimo: I sorta wrote my own chat server before I knew any better, so I'm always logged into it to troubleshoot stuff.
timotimo hehe, poor you :)
TimToady of course, IRC has no problems at all... 16:33
diakopter throws an ocelot at anocelot
anocelot timotimo: Oh no, the REAL travisty is that I didn't know better. SO it's an ajax client connecting to a PHP/MySQL back-end. As a reformed PHP programmer, I can't tell you how much I love working with Perl. 16:34
timotimo oh, that wasn't ten years ago
i see
anocelot Wait... Typing PHP doesn't get me automatically kicked out of the chat room? Who wrote the bot here...? 16:35
TimToady we hug trolls here
FROGGS_ anocelot: we are pretty tolerant here
TimToady hugme: hug anocelot
hugme hugs anocelot
FROGGS_ I'm forced to hack PHP at work, and sometimes even enjoyed... okay, now I said it :o)
anocelot Bwahaha.
diakopter hugme: kick anocelot 16:36
TimToady addictions can be hard to kick
diakopter hmm... delayed response
anocelot Apparently so can anocelots.
diakopter oh
diakopter there we go 16:37
FROGGS_ PHP
O.o
o.O
\o/
okay, back to p6/p5
anocelot :D
diakopter that's 1.2
TimToady diakopter: mind your p's (and q's) 16:38
diakopter now hugme gives heavy-handed hugs 16:39
isBEKaml hugme: hug diakoopter 16:40
hugme hugs diakoopter
TimToady I've got to foot it to you.
isBEKaml that's so heavy I misspelt it.
masak anocelot: yeah, I saw on Twitter that TimToady dropped by. :) it's great that you're here -- welcome! 16:42
masak secretly puts a check mark in yet another box, and proceeds to the next step of world domination 16:43
masak .oO( did I just mad scientist that out loud? ) 16:44
TimToady no, you did it secretly
masak oh phew
anocelot masak: Danka! 16:46
masak phenny: "Danka!"? 16:46
ENOPHENNY :( 16:47
FROGGS_ missing since a week or so 16:49
isBEKaml launch SAR party? 16:50
fglock I'm starting a Perl6 module - do you know a good example I can start with? 17:27
as in, well written 17:28
moritz fglock: I might be biased, but I like github.com/moritz/json/ 17:31
fglock thanks - exactly what I needed 17:34
the pod is commented out? 17:36
timotimo must be from a time before pod was properly implemented in rakudo or maybe in niecza, too? or maybe it's supposed to be compatible with pugs as well and pugs doesn't have pod? 17:40
moritz it's from a time before rakudo and niecza understood pod properly 17:58
pmurias FROGGS_: how do I add dalek hooks to my repo? 18:04
dalek kudo/tmp_highfive: 6d09aef | (Tobias Leich)++ | src/Perl6/P5Grammar.pm:
we can declare packages now
18:09
moritz pmurias: that's described in the mu repo in misc/dalek*.txt 18:10
FROGGS_ pmurias: go to the admin page, and then there are the service hooks
ahh, okay, dalek
what moritz said :o)
next thing to do: subroutines 18:11
masak anyone wanna release-manage the April Rakudo release? 18:14
FROGGS_ masak: I can sign up for may, but next month too many of my ppl have birthday, so...
won't have time for it
masak FROGGS_: please do. 18:24
dalek kudo/tmp_highfive: d868fe5 | (Pawel Murias)++ | src/Perl6/ (2 files):
avoid reblessing the cursor while handling 'use v5'
18:29
rlito: bf88649 | (Flavio S. Glock)++ | util-perl5/bootstrap-perlito6-perl5.sh:
Perlito6 - Makefile - add "make build-6to5"
18:32
rlito: f50c35e | (Flavio S. Glock)++ | / (2 files):
Perlito6 - Makefile - add "make build-6to5"
dalek kudo/nom: 221a95f | masak++ | docs/release_guide.pod:
[docs/release_guide.pod] signed up FROGGS for May
18:44
masak anyone wanna go for April? :)
pmurias when calling a 'use v6' from 'use v5' we get the modifed Perl6 language from before use v5 or the default one? 18:56
masak I should think the modified one. 19:00
pmurias I think so too 19:01
masak because, in some sense, it's lexically nested, even with a layer of Perl 5 in-between. 19:01
sorear Whatever you do, it should be consistent with rx { '$~Regex stuff' { 'Perl 6' } } 19:03
masak aye. 19:04
and with "normal string { 'Perl 6' }"
pmurias having to recompile the Perl 6 setting after every change to the Perl6 grammar sucks :( 19:06
masak yes, but mostly because the setting is huge and parsing is slow. 19:12
pmurias sorry, meant the Perl5 grammar 19:13
after changing the Perl 6 grammar the recompilation is necessary, after changing the Perl 5 grammar it's really annoying 19:14
sorear std: 2+2 19:17
p6eval std 86b102f: OUTPUT«ok 00:00 42m␤»
sorear that's how long it takes perl 5 to parse a roughly 100,000 line STD.pmc file. can we match that?
masak match what? 00:00? 19:18
sorear masak: yes. rounding is allowed.
er
actually you should match the irc-level latency
because I think the 00:00 counter starts *after* the parsing of STD.pmc is complete 19:19
oh, no, it does count that
my ($time, $vsz) = split(' ', `ps -o "time= vsz=" $$`);
pmurias it would be interesting to how much faster would the grammars on the jvm be compared to parrot 19:21
masak my bet is on "not disappointingly". 19:22
arnsholt Yeah, it'll be very interesting to see how Rakudo/JVM performs 19:24
pmurias would it be possible to allow modules to hijack the parsing? 19:28
sorear "is not-disappointingly faster" or "is not, disappointingly, faster" 19:29
pmurias: Absolutely
export something into %*LANG<MAIN>
pmurias will that get reverted on scope exit? 19:30
sorear yes
arnsholt Initial indications from NQP/JVM are that the performance improvements are not disappointing, IIRC
sorear %*LANG is contextualized by every block
supporting use COBOL; has been the goal here all along 19:31
pmurias so that should be the proper way to implement 'use v5'?
sorear yes.
diakopter arnsholt: yeah... warm jvm startup on *my* box is only 52ms... compared to perl's 1ms
[or less]
sorear STD switches to %*LANG<MAIN> at the beginning of every statement
diakopter: the reason niecza targets the clr is because warm jvm startup on *my* box was, at the time, closer to 52s 19:32
and it wasn't even swapping
wtf did they do to make startup do so much less computation 19:33
diakopter 52s !?!?
arnsholt Impressive =)
sorear I can live with 52ms
diakopter erm, that's like apples and giant peaches
TimToady apples and orangutans... 19:34
sorear o/ TimToady
TimToady \o
diakopter sorear: my point is, there are plenty of commodity machines on which jvm startup has been that low basically from the beginning 19:40
er, fast
your machine seems like it just happened to be a hundred times slower than machines available 19 years ago 19:41
[for any number of reasons relating to hardware or software state, or just specs] 19:42
sorear nobody was trying to run the sun jvm 1.7 on machines 19 years ago 19:48
dalek rlito: 14d406d | (Flavio S. Glock)++ | Makefile:
Perlito6 - Makefile - add "make test-6to5"
20:09
diakopter it's lame how perlmonks won't let you view certain messages unless you are logged in 20:16
(messages below the default "chosen depth")
dalek rl6-roast-data: e5aef20 | coke++ | / (4 files):
today (automated commit)
diakopter [Coke]++
dalek rlito: fbe7bf6 | (Flavio S. Glock)++ | Makefile:
Perlito6 - Makefile - add "make build-6py"
20:28
dalek rlito: aaca2e2 | (Flavio S. Glock)++ | / (2 files):
Perlito6 - update Python build docs
20:32
timotimo i can't bootstrap panda any more 21:13
is that known?
FROGGS_ it's news to me fwiw 21:17
tadzik news to me too 21:18
what's wrong?
timotimo hold on 21:26
t/panda/builder.t .... Failed 4/6 subtests - Failed tests: 1-2, 4, 6 21:27
tadzik uh-oh 21:29
who did that :)
timotimo well...? 21:31
masak a well did that? 21:33
timotimo flood the fortress! /o\
masak we shouldn't let our water storages near our code, if you ask me.
timotimo masak: did we have any big insights on how to make the constructors/deconstructors and type variables and friends work properly for our ADTs? 21:34
still kind of not sure how to implement that
masak timotimo: I think the next interesting step would be to apply jnthn's JSON-to-class code to the ADTs. 21:35
no macros yes, just BEGIN-time Perl 6 code.
and to see how far you can push the sugaring.
my guess is "pretty far".
no macros, no syntax mods. 21:36
just a functional API.
timotimo well, yeah, that's what i wanted to do. but how to do it is the question i was trying to ask
should i just mimic your class-based example for ADTs as closely as possible?
timotimo also, is it still sensible to write Tree[::A] on the lhs of the = or should it just be Tree[Str]? 21:37
er, Tree[A] i meant.
... well, that's basically a two-character-change in the source anyway 21:39
census2 Hey! 21:52
timotimo r: my %h = foo => {bar => 1, baz => 2}, bar => {bar => 99, baz => 100}; for %h.kv -> ($key, [:$bar, :$baz]) { say "$key => $bar, $baz" } 21:53
p6eval rakudo 221a95: OUTPUT«Not enough positional parameters passed; got 0 but expected 2 in sub-signature␤current instr.: '' pc 507 ((file unknown):-182586723) (/tmp/Cf047tqdhs:1)␤called from Sub '' pc 273526 (src/gen/CORE.setting.pir:120101) (src/gen/CORE.setting:5631)␤called from Sub 'reif…
timotimo r: my %h = foo => {bar => 1, baz => 2}, bar => {bar => 99, baz => 100}; for %h.kv -> ($key, (:$bar, :$baz)) { say "$key => $bar, $baz" } 21:54
p6eval rakudo 221a95: OUTPUT«Not enough positional parameters passed; got 0 but expected 2 in sub-signature␤current instr.: '' pc 507 ((file unknown):217) (/tmp/9nlh_A2rNz:1)␤called from Sub '' pc 273526 (src/gen/CORE.setting.pir:120101) (src/gen/CORE.setting:5631)␤called from Sub 'reify' pc 2…
jnthn timotimo: strip off those outer parens from how you originally had it
timotimo r: my %h = foo => {bar => 1, baz => 2}, bar => {bar => 99, baz => 100}; for %h.kv -> $key, [:$bar, :$baz] { say "$key => $bar, $baz" } 21:55
p6eval rakudo 221a95: OUTPUT«Nominal type check failed for parameter ''; expected Positional but got Hash instead␤current instr.: '' pc 507 ((file unknown):217) (/tmp/S99aOiu_nH:1)␤called from Sub '' pc 273526 (src/gen/CORE.setting.pir:120101) (src/gen/CORE.setting:5631)␤called from Sub 'reify…
jnthn And now use parens instead of squares :)
timotimo oh, duh :)
r: my %h = foo => {bar => 1, baz => 2}, bar => {bar => 99, baz => 100}; for %h.kv -> $key, (:$bar, :$baz) { say "$key => $bar, $baz" }
p6eval rakudo 221a95: OUTPUT«foo => 1, 2␤bar => 99, 100␤»
timotimo ah, very nice. thanks!
turns out i don't even need it 22:00
but it's still cool
timotimo r: say "attr_a" + 1 22:05
p6eval rakudo 221a95: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏attr_a' (indicated by ⏏)␤ in method Numeric at src/gen/CORE.setting:10608␤ in sub infix:<+> at src/gen/CORE.setting:2871␤ in sub infix:<+> at src/gen/CORE.setting:2869␤ in …
timotimo oh, that's not what i wanted
r: say ("attr_a"..*).gimme(10)
p6eval rakudo 221a95: OUTPUT«No such method 'gimme' for invocant of type 'Range'␤ in block at /tmp/yhOi1BpvWb:1␤␤»
timotimo r: say ("attr_a"..*).take(10)
p6eval rakudo 221a95: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤ in method take at src/gen/CORE.setting:706␤ in block at /tmp/TSYRos_DAu:1␤␤»
jnthn say ("attr_a"..*)[^10]
timotimo r: say "attr_a".succ
p6eval rakudo 221a95: OUTPUT«attr_b␤»
jnthn r: say ("attr_a"..*)[^10]
p6eval rakudo 221a95: OUTPUT«attr_a attr_b attr_c attr_d attr_e attr_f attr_g attr_h attr_i attr_j␤»
timotimo succ is what i wanted
masak r: say "attr_z".succ 22:11
p6eval rakudo 221a95: OUTPUT«attr_aa␤»
masak r: say "attr_zzzzzzzzzz".succ
p6eval rakudo 221a95: OUTPUT«attr_aaaaaaaaaaa␤»
masak r: sub sudden-wakeup($string) { uc $string.succ ~ "h!" }; say sudden-wakeup "zzzzzzzzzz" 22:12
p6eval rakudo 221a95: OUTPUT«AAAAAAAAAAAH!␤»
masak *lol*
jnthn oh no, I was thinking of doing exactly that :P
masak :P
masak rn: say .[*-1] given "perl", *.succ ... { 45_566 == ++state $ } 22:29
p6eval rakudo 221a95: OUTPUT«(timeout)»
..niecza v24-35-g5c06e28: OUTPUT«ruby␤»
masak grins
rn: say .[*-1] given "perl" ... { 3 == ++state $ } 22:30
p6eval rakudo 221a95: OUTPUT«perj␤»
..niecza v24-35-g5c06e28: OUTPUT«pern␤»
masak submits rakudobug
dalek pan style="color: #395be5">perl6-examples: 8fb22b1 | (David Warring)++ | parsers/CSSGrammar.pm:
CSSGrammar tlc
22:43
masak I did some quick statistics. the three most frequent committers to the spec: TimToady (637), moritz (148), and me (133). 22:53
census masak++
masak oh, sorry. moritz++ did 233 commits. I missed one instance of him :)
masak 'night, #perl6 23:24
diakopter 'nite masak
felher masak: sleep well