»ö« 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.
00:15 Chillance left 00:16 cogno left, cognominal left 00:18 cognominal joined
masak 'night, #perl6 00:22
00:22 preflex left, preflex_ joined
jnthn 'night also o/ 00:26
timotimo 'night 00:27
00:27 preflex_ left 00:29 preflex joined 00:30 pmurias left 00:39 preflex left 00:40 preflex joined 00:45 preflex_ joined 00:46 preflex left, LlamaRider left
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
01:00 anuby joined
raiph you can click lines in the summary to get relevant parts of full log 01:02
01:03 thou left 01:04 woosley joined 01:10 hypolin joined 01:20 gdey joined 01:28 cognominal left 01:29 cognominal joined
raiph irclog.perlgeek.de/out.pl?channel=p...;summary=1 01:35
01:44 skyheights joined 01:46 gdey left 01:48 cognominal left, thou joined 01:50 skyheights left 01:54 cognominal joined 02:00 Ovidius joined 02:01 cognominal left 02:02 Guest85728 left 02:05 preflex joined 02:06 preflex_ left 02:08 xinming_ joined, cognominal joined 02:10 census joined 02:11 xinming left 02:13 Pharap joined 02:15 Pharap left 02:19 mikess left 02:26 mikess joined 02:27 preflex left 02:32 preflex joined
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
02:36 lustlife joined
diakopter so-called "infinite scroll" pages are always disappointing when you get to the end 02:46
02:48 FROGGS_ joined 02:50 gdey joined
diakopter FROGGS_: hi 02:50
02:52 FROGGS left 02:53 gdey left 02:57 alc joined 03:00 census left 03:03 preflex left 03:04 preflex joined 03:07 cognominal left 03:08 orafu left, orafu joined 03:10 cognominal joined 03:26 preflex left 03:27 preflex joined, aindilis left, cognominal left 03:30 cognominal joined 03:32 preflex left 03:35 preflex joined 03:38 cognominal left 03:41 preflex left, preflex_ joined 03:42 preflex_ is now known as preflex 03:55 census joined 03:58 preflex left 04:02 colomon left 04:03 preflex joined 04:06 Targen joined 04:11 preflex left 04:13 preflex joined, alc left, census left 04:15 SamuraiJack joined 04:26 Heather joined
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)
04:35 preflex left
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
04:36 preflex joined
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?
04:37 abdullah left
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
04:44 DarthGandalf left
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
04:45 preflex left
sorear niecza absolutely supports the other way though - load and use C# libraries 04:46
04:46 DarthGandalf joined, preflex joined
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 :)
05:23 preflex left 05:27 odoacre joined 05:28 kaleem joined 05:29 preflex joined 05:33 Heather left
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
06:07 kurahaupo left 06:08 preflex left
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
06:11 rindolf joined
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
06:13 preflex joined
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
06:17 preflex left
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
06:27 preflex joined 06:28 xenoterracide joined 06:44 domidumont joined
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 )
06:52 preflex left
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 ?++
06:52 preflex_ joined 06:53 preflex_ is now known as preflex
diakopter r: LAST { LAST { say 555 } }; LAST { LAST { BEGIN { say 444 } } } # erm... 06:56
p6eval rakudo 6d7c9c: OUTPUT«444␤»
diakopter TimToady: ^ ..? 06:57
06:57 domidumont left 06:58 domidumont joined
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.
07:20 kivutar joined 07:22 domidumont left
diakopter rn: ([|]).AUTOTHREAD(sub { say 44 }) 07:25
p6eval niecza v24-35-g5c06e28: ( no output )
..rakudo 6d7c9c: OUTPUT«44␤»
diakopter ?++ 07:26
07:30 xenoterracide left 07:33 rindolf left 07:34 rindolf joined, xenoterracide joined 07:38 labster joined
diakopter r: say 4^(4^4) # why doesn't this simplify? 07:39
p6eval rakudo 6d7c9c: OUTPUT«one(4, one(4, 4))␤»
07:40 domidumont joined
diakopter rnp: say (Inf ** (0-Inf) * -1) ** 3 07:43
07:43 preflex left
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
07:47 census joined 07:49 quester joined 07:50 preflex joined 07:56 preflex left
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.
07:57 lizmat left
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
08:09 census_ joined
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
08:10 census left
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
08:15 census_ left
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
08:22 dbr joined
moritz if it weren't Perl 6, but Mathematica, then there could be such a mode :-) 08:22
08:28 kresike joined
kresike hello all you happy or unhappy perl6 people 08:28
08:30 baest_ is now known as baest 08:31 fhelmberger joined 08:42 daxim joined 08:44 shlomif joined, rindolf left 08:45 shlomif is now known as rindolf 08:46 Heather joined
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␤␤»
08:50 preflex joined
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␤»
08:51 census joined
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
08:58 preflex left
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
09:02 preflex joined 09:03 quester left
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 !
09:07 preflex_ joined
Heather moritz no it works like in above snippet :) 09:07
09:08 preflex left
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␤ …
09:08 preflex_ is now known as preflex
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 )
09:12 preflex left
Heather moritz I don't know about do ) 09:12
FROGGS_ Heather: now you do :o)
09:13 census left
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␤»
09:14 census joined
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.
09:29 am0c joined 09:30 census left 09:32 census joined 09:37 kivutar left
jnthn morning o/ 09:54
diakopter o/ 09:55
masak morning, jnthn
Heather \o/ 09:57
diakopter /\o/\
10:00 woosley left
diakopter \/o\/ 10:00
d'oh
masak :P 10:01
10:01 hypolin left 10:11 anuby left, preflex joined 10:15 snuffles joined 10:16 preflex left 10:20 preflex joined
FROGGS_ Heather: you need to 'say' to see the output 10:23
r: say 10
p6eval rakudo 6d7c9c: OUTPUT«10␤»
10:24 preflex left 10:26 labster left 10:30 Vlavv` joined 10:31 preflex joined 10:36 preflex left 10:40 kivutar joined 10:47 kaleem left 10:55 preflex joined 11:00 preflex left 11:03 colomon joined
dalek kudo/tmp_highfive: 604d2f2 | (Tobias Leich)++ | src/Perl6/P5 (2 files):
variable declaration works
11:17
11:21 Targen left 11:29 JimmyZ joined 11:34 preflex joined 11:39 preflex left 11:41 jaldhar left 11:42 dwoldrich left 11:45 preflex_ joined 11:46 preflex_ is now known as preflex 11:57 preflex left
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
12:13 jaldhar joined
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
12:21 jaldhar left
masak high-fives FROGGS_ o/ 12:22
FROGGS_ \o
masak :D
12:25 preflex joined
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
12:39 preflex left
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
12:43 preflex joined
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
12:48 preflex left 12:50 SmokeMachine joined
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␤…
12:53 SmokeMac_ left 12:55 shinobicl joined
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
13:19 bluescreen10 joined
Heather Crystal Maiden from dota appears... 13:19
13:20 preflex joined
Heather github.com/Heather/CrystalMaiden 13:21
:)
13:21 census_ joined, census_ left
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
13:23 preflex_ joined
Heather masak I steal some code from your ufo and some from tadzik panda 13:23
13:24 pmurias joined
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
13:25 preflex left
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
13:27 cognominal joined
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...
13:27 skids joined
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 ?
13:28 preflex_ left
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
13:34 PacoAir joined
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
13:48 Heather left 13:49 shinobicl left 13:56 preflex joined 13:59 toddr joined 14:01 preflex left, preflex_ joined, cognominal left, preflex_ is now known as preflex
pmurias FROGGS_: pastie.org/7067065 14:02
14:03 toddr_ joined
toddr_ Does a "Zero to Perl6" Training exist? 14:03
tadzik I don't know of any 14:04
14:04 cognominal joined
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?
14:07 preflex left
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
14:11 woosley joined
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
14:15 PacoAir left
pmurias FROGGS_: is perl5 code supposed to execute at this point or only parse? 14:15
FROGGS_ pmurias: gist.github.com/FROGGS/52dc87bd2203230eb12f
14:15 fhelmberger left
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
14:16 PacoAir joined
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
14:17 renormalist left
mst I would suggest a single VM 14:17
14:17 toddr_ left
[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
14:18 preflex joined
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
14:23 Psyche^ joined 14:24 preflex left 14:25 preflex joined
FROGGS_ pmurias: I believe that error is thrown because of the different namespace of the grammar/actions, but I'm not sure 14:25
14:26 renormalist joined 14:27 SamuraiJack left, Patterner left, Psyche^ is now known as Patterner
pmurias FROGGS_: the error is thrown because we are reblessing the cursor into an different grammar 14:28
the error is correct 14:29
14:29 preflex_ joined 14:30 preflex left 14:32 renormalist left
pmurias FROGGS_: otherwise we will end up with a crazy object which has attributes from classes it doesn't inherit from 14:34
14:34 preflex_ left 14:35 preflex joined 14:38 renormalist joined
pmurias FROGGS_: wouldn't it be more sane to first have a standalone perl5 mode and the work on 'use v5'? 14:41
14:42 lustlife left 14:43 census left 14:44 preflex left 14:45 cognominal left 14:46 census joined
anocelot The question for [coke] is, did your daughter like the butterfly logo? 14:46
14:47 preflex joined 14:50 cognominal joined
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
14:56 JimmyZ left, cognominal left, woosley left
pmichaud now if moritz can just get her to shout "Weird Al!" whenever she sees a picture of Larry.... :-P 14:56
14:58 renormalist left, JimmyZ joined 14:59 JimmyZ left
moritz I'm sure I could make her do it, just by doing it myself often enough 15:01
15:01 renormalist joined 15:02 cognominal joined
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
15:07 renormalist left 15:08 cognominal left 15:10 preflex left
TimToady embarrassing to Weird Al maybe :) 15:17
15:18 colomon left, colomon joined
moritz :-) 15:18
15:20 cognominal joined, renormalist joined 15:26 cognominal left 15:27 genehack joined, spider-mario joined
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
15:36 toebu joined
FROGGS_ pmurias: is that a problem? 15:36
15:36 preflex joined
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
15:41 spider-mario left
pmichaud afk, errands 15:42
15:44 pmurias__ joined 15:45 pmurias left, pmurias__ is now known as pmurias
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
15:52 cognominal joined
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
15:53 domidumont left
moritz might be easier, if many patches are stacking up 15:53
FROGGS_ right 15:54
15:56 [particle] joined 16:01 isBEKaml joined 16:02 daxim left, census_ joined 16:04 cognominal left 16:05 census left 16:06 cognominal joined
kresike bye folks 16:09
16:09 kresike left, census_ left 16:10 census joined
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
16:30 renormalist left
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
16:34 am0c left
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
16:36 thirdm joined 16:37 ChanServ sets mode: +o hugme
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
16:38 cognominal left, cognominal joined
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.
16:41 [particle] left
masak anocelot: yeah, I saw on Twitter that TimToady dropped by. :) it's great that you're here -- welcome! 16:42
16:42 Ovidius left
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
16:46 Chillance joined
masak phenny: "Danka!"? 16:46
ENOPHENNY :( 16:47
16:47 [particle] joined 16:48 preflex left
FROGGS_ missing since a week or so 16:49
isBEKaml launch SAR party? 16:50
16:51 preflex joined 17:00 renormalist joined 17:12 isBEKaml left 17:14 toebu left, cognominal left 17:19 cognominal joined 17:25 fglock joined
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
17:32 xantamoc joined 17:34 preflex left
fglock thanks - exactly what I needed 17:34
the pod is commented out? 17:36
17:38 domidumont joined
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
18:01 cognominal left 18:02 cognominal joined
pmurias FROGGS_: how do I add dalek hooks to my repo? 18:04
18:05 preflex joined 18:07 SamuraiJack joined
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
18:15 rindolf left 18:16 preflex left 18:19 colomon left 18:20 kivutar left 18:21 rindolf joined
masak FROGGS_: please do. 18:24
18:24 preflex joined 18:25 colomon joined
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"
18:36 Targen joined 18:39 cognominal__ joined, cognominal left 18:42 japhb_ joined, xantamoc left
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? :)
18:51 fgomez left, spider-mario joined 18:52 SamuraiJack left 18:55 preflex_ joined 18:56 preflex left
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
18:59 preflex joined
masak I should think the modified one. 19:00
pmurias I think so too 19:01
19:01 preflex_ left
masak because, in some sense, it's lexically nested, even with a layer of Perl 5 in-between. 19:01
19:03 preflex_ joined
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' }"
19:04 preflex left, preflex_ is now known as preflex
pmurias having to recompile the Perl 6 setting after every change to the Perl6 grammar sucks :( 19:06
19:08 fgomez joined
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
19:24 preflex left, preflex_ joined 19:25 preflex_ is now known as preflex
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
19:36 preflex left 19:40 cognominal__ left
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
19:42 kivutar joined 19:44 preflex joined
sorear nobody was trying to run the sun jvm 1.7 on machines 19 years ago 19:48
19:49 preflex left, preflex_ joined, cognominal__ joined 19:50 preflex_ is now known as preflex, sevin joined 19:53 fgomez left 19:55 preflex left 19:59 preflex_ joined 20:01 preflex_ is now known as preflex
dalek rlito: 14d406d | (Flavio S. Glock)++ | Makefile:
Perlito6 - Makefile - add "make test-6to5"
20:09
20:10 preflex left 20:11 preflex joined, Chillance_ joined 20:12 bruges_ joined 20:13 bruges left 20:15 Chillance left
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]++
20:17 preflex left 20:23 preflex joined
dalek rlito: fbe7bf6 | (Flavio S. Glock)++ | Makefile:
Perlito6 - Makefile - add "make build-6py"
20:28
20:29 preflex left
dalek rlito: aaca2e2 | (Flavio S. Glock)++ | / (2 files):
Perlito6 - update Python build docs
20:32
20:37 preflex_ joined, fglock left, preflex_ is now known as preflex 20:40 rindolf left 20:41 bluescreen10 left 20:42 preflex left 20:46 rindolf joined 20:51 cognominal__ left 20:55 snearch joined, preflex joined 20:57 aindilis joined 20:59 aindilis left, cognominal__ joined, aindilis joined 21:03 skids left, preflex left 21:04 snearch left, thirdm left, aindilis left 21:05 aindilis joined 21:06 preflex joined 21:08 aindilis left 21:11 aindilis joined 21:12 preflex left
timotimo i can't bootstrap panda any more 21:13
is that known?
21:16 labster joined
FROGGS_ it's news to me fwiw 21:17
21:17 rindolf left
tadzik news to me too 21:18
what's wrong?
21:18 xantamoc joined 21:20 preflex_ joined 21:21 preflex_ is now known as preflex 21:22 SmokeMachine left
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
21:32 preflex left
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?
21:36 domidumont left 21:37 preflex joined
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
21:39 spider-mario left 21:43 preflex left 21:45 cognominal__ left 21:47 preflex joined 21:52 census2 joined
census2 Hey! 21:52
21:53 cognominal__ joined
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
22:01 colomon left 22:03 xantamoc left
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
22:09 xenoterracide left
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
22:16 xenoterracide joined
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
22:34 cognominal__ left 22:35 skids joined 22:38 cognominal__ joined
dalek pan style="color: #395be5">perl6-examples: 8fb22b1 | (David Warring)++ | parsers/CSSGrammar.pm:
CSSGrammar tlc
22:43
22:47 xantamoc joined 22:52 fgomez joined
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 :)
22:54 Liz_ joined, Liz_ is now known as lizmat 23:07 Targen left 23:08 cognominal__ left 23:14 cognominal__ joined 23:15 FROGGS_ left 23:16 FROGGS_ joined 23:19 kivutar left
masak 'night, #perl6 23:24
diakopter 'nite masak
felher masak: sleep well
23:26 xantamoc left 23:40 fgomez left 23:43 cognominal__ left 23:48 cognominal__ joined 23:59 pmurias left