»ö« 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!
Set by sorear on 4 February 2011.
00:02 am0c joined
jnthn is safely back home :) 00:14
sorear \o/ jnthn 00:15
flussence yay 00:16
00:17 stevan_ joined
jnthn Will be properly back into stuff again sometime tomorrow :) 00:19
dalek p-jvm-prep: ccd0d69 | jonathan++ | / (2 files):
Implement islist and ishash.
00:20
p-jvm-prep: b54b4fb | jonathan++ | t/qast_aggregate.t:
Test islist and ishash.
p-jvm-prep: 0c15d3d | jonathan++ | src/org/perl6/nqp/sixmodel/ (10 files):
Start distinguishing concrete and type objects.
p-jvm-prep: c966654 | jonathan++ | / (2 files):
Implement isconcrete.
p-jvm-prep: 3894a9e | jonathan++ | t/qast_6model.t:
Test isconcrete.
p-jvm-prep: 0321ca1 | jonathan++ | src/org/perl6/nqp/sixmodel/TypeObject.java:
Errors for various REPR funcs on type objects.
jnthn These commits courtesy of a flight delay
00:26 _jaldhar_ joined 00:27 jaldhar_ left
japhb \o/ jnthn 00:29
(This delay courtesy of a See's run. :-)
00:42 ismail_ left
timotimo i'm thinking maybe a guided tour through rakudo would be a good thing for a screencast 00:53
of course, i'd have to do lots and lots of bothering all of you before i can do that :P
00:54 dayangkun left
timotimo a guided tour would be: where is the main entry point, where do scripts get parsed, where do they get compiled and when does what code in the rakudo source code get run etc etc etc 00:55
01:03 anuby joined
jnthn sleep, will have tuits again from tomorrow & 01:06
diakopter o/
01:09 bitonic left 01:16 hypolin joined 01:22 stevan_ left 01:23 stevan_ joined 01:36 MayDaniel left
diakopter stares at a wall of printf debug statements 01:37
01:45 xinming_ joined 01:47 xinming left 02:10 dayangkun joined 02:12 alec left 02:13 alec joined
alec i can't take call me maybe but i watched that for 2 minutes 02:17
oh, wrong chatroom
(talking about the time travel maybe parody)
02:24 FROGGS_ joined 02:28 FROGGS left 02:40 mikemol joined
timotimo i think i'd love to do a screencast in which i show how to build some extremely simple addition to perl6 in rakudo 02:51
simple and silly, perhaps
02:59 am0c left 03:06 [particle]1 joined 03:07 erkan left 03:08 chimchim joined 03:09 chimchim left, [particle] left 03:44 ifim joined
alec timotimo, i would watch it 03:49
are there any perl6 screencasts out there yet?
03:52 orafu left, orafu joined 03:54 Chillance joined
au alec: szabgab.com/perl6.html 04:02
04:02 PacoAir left
au timotimo: ^^^ the more screencasts the merrier 04:03
04:03 quester joined
sorear yo au 04:03
au greetings sorear
04:10 MattMan_ joined
alec ok, thanks au 04:10
au++
MattMan_ p6eval "abcd efg" ~~ /(\w+) (\w+);
rakudo "abcd efg" ~~ /(\w+) (\w+); 04:11
rakudo: "abcd efg" ~~ /(\w+) (\w+);
p6eval rakudo e67fa9: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter ; (must be quoted to match literally)␤at /tmp/UqqNk4v0GZ:1␤------> "abcd efg" ~~ /(\w+) (\w+)⏏;␤Unable to parse regex; couldn't find final '/'␤at /tmp/UqqNk4v0GZ:1␤------> "abcd…
MattMan_ rakudo: "abcd efg" ~~ /(\w+) (\w+)/;
p6eval rakudo e67fa9: ( no output )
MattMan_ rakudo: "abcd efg" ~~ /(\w+) (\w+)/; say @().perl; 04:12
p6eval rakudo e67fa9: OUTPUT«().list␤»
MattMan_ rakudo: "abcd efg" ~~ /(\w+) (\w+)/; say @($/).perl;
p6eval rakudo e67fa9: OUTPUT«(Match.new(orig => "abcd efg", from => 0, to => 3, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "abcd efg", from => 3, to => 4, ast => Any, list => ().list, hash => EnumMap.new())).list␤»
MattMan_ rakudo: "abcd efg" ~~ /(\w+) (\w+)/; say $/; 04:13
p6eval rakudo e67fa9: OUTPUT«「abcd」␤ 0 => 「abc」␤ 1 => 「d」␤␤»
MattMan_ rakudo: "abcd efg" ~~ /(\w+) \s+ (\w+)/; say $/;
p6eval rakudo e67fa9: OUTPUT«「abcd efg」␤ 0 => 「abcd」␤ 1 => 「efg」␤␤»
MattMan_ rakudo: "abcd efg" ~~ /(\w+) \s+ (\w+)/; say @($/)[0]; 04:14
p6eval rakudo e67fa9: OUTPUT«「abcd」␤␤»
MattMan_ rakudo: "abcd efg" ~~ /(\w+) \s+ (\w+)/; say @($/)[0] $/[1];
p6eval rakudo e67fa9: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/NuPHPLB7g1:1␤------> efg" ~~ /(\w+) \s+ (\w+)/; say @($/)[0] ⏏$/[1];␤ expecting any of:␤ postfix␤ infix or meta-infix␤ infix stopper␤ statement end␤ s…
MattMan_ rakudo: "abcd efg" ~~ /(\w+) \s+ (\w+)/; print @($/)[0]; print @($/)[1]; print "Hello"; 04:15
p6eval rakudo e67fa9: OUTPUT«abcdefgHello»
MattMan_ rakudo: "abcd efg" ~~ /(\w+) \s+ (\w+)/; say @($/)[0]; say @($/)[1]; say "Hello";
p6eval rakudo e67fa9: OUTPUT«「abcd」␤␤「efg」␤␤Hello␤»
04:16 MattMan_ left 05:18 telex left 05:19 telex joined 05:27 fgomez left 05:30 grondilu left 05:31 telex left 05:38 raiph joined, raiph left, telex joined 05:39 raiph joined, raiph left 05:40 raiph joined 05:41 thou joined 05:48 Chillance left 06:06 anuby left 06:09 anuby joined 06:23 autark joined 06:25 autark left 06:28 GlitchMr joined 06:29 fgomez joined 06:30 kaleem joined 06:36 am0c joined 06:37 werwerwer joined 06:40 GlitchMr left 06:41 GlitchMr joined 06:42 GlitchMr left 06:43 GlitchMr joined 06:54 anuby_ joined 06:55 anuby left 07:00 FROGGS_ left 07:01 ifim left 07:03 fgomez left, fgomez joined 07:11 anuby_ left 07:13 anuby joined 08:18 quester left 08:20 anuby_ joined, FROGGS joined 08:21 anuby left
FROGGS morning 08:23
08:38 sevin joined 08:39 sevin left
jnthn o/ FROGGS 08:41
moritz \o jnthn
FROGGS o/
jnthn hi moritz 08:42
moritz: I realized that the phasers/sink bug has some...interesting...cases for the phasers that work as r-values. So fixing, say, LAST is a case of "just sink it", but BEGIN is...more interesting. 08:43
FROGGS hi jnthn 08:44
hi moritz
moritz jnthn: I have a local commit that adds a :sink parameter to run_phasers_code, which lets me fix FIRST and ENTER at least 08:45
jnthn moritz: Yes, the trouble is that we also have a ticket that wants ENTER to work as an r-value one.
moritz (as a side effect it moves sub sink() to World.pm and makes it a method)
FROGGS jnthn, moritz: is there a chance that my froggs_mergemulti branch can make it into nom? IMO it does what it should and there is nothing that I know that breaks
moritz FROGGS: did you fix it to merge only protos marked as onlystar? 08:46
jnthn FROGGS: It's on my list of things to review now I'm back from doing visiting.
FROGGS moritz: I did
moritz FROGGS: ok, great
FROGGS jnthn: no hurry, I just want it to gather dust ;o) 08:47
*not to*
jnthn
.oO( magic bugfixie dust )
moritz jnthn: hm, we already have a solution for stuff that might or might not be an rvalue 08:48
QAST::Want($thing, 'v', ...)
jnthn: can we somehow apply that to the phasers too?
jnthn moritz: Hmmm.... 08:49
moritz: Not entirely easily 08:50
Oh my. And for BEGIN we don't actually know if it's r-value or not at the point we run it. 08:51
moritz well, that's OK
if we know afterwards
a for-loop at the end of a subroutine also doesn't know if it's in sink context until after the routine has terminated
jnthn True 08:52
Oh, hm
moritz I'm going to commit my stuff to a branch, so that I don't lose it
dalek kudo/sink-phasers: d30d7bc | moritz++ | src/Perl6/ (2 files):
sink FIRST and ENTER phasers
08:53
jnthn What if add_phaser's :sink flag did not actually do the sinking, but instead you tagged the QAST it produces in some way (maybe with the the actual thing that'd need sinking), and autosink would look at that...
Oh, hm, maybe it's not quite that simple 08:54
Or maybe it can work
Gotta go for a meeting...
moritz too
08:59 kresike joined
kresike hello all you happy perl6 people 08:59
09:05 bitonic joined 09:12 am0c left 09:28 dakkar joined, nyuszika7h left 09:30 nyuszika7h joined 09:34 dayangkun left 09:38 PacoAir joined 09:39 jokar joined 09:42 Psyche^ joined 09:46 Patterner left, Psyche^ is now known as Patterner, PacoAir left 09:50 JJ_Brain joined 09:54 putau joined 10:00 JJ_Brain left 10:02 am0c joined 10:08 SamuraiJack joined 10:12 SmokeMachine joined, PacoAir joined 10:14 SmokeMac_ joined, SmokeMachine left, hypolin left, anuby_ left 10:17 PacoAir left, cognominal joined 10:29 sqirrel joined 10:49 cognominal left 10:53 JJ_Brain joined 10:55 cognominal joined 11:04 am0c left 11:06 cognominal left 11:11 _jaldhar_ left 11:15 JJ_Brain left 11:16 cognominal joined 11:25 bitonic left 11:26 Targen left 11:33 dayangkun joined 11:45 thou left 11:48 cognominal left 11:55 cognominal joined 12:02 putau left 12:06 cognominal left, kaleem left 12:13 PacoAir joined
colomon o/ 12:18
12:18 PacoAir left 12:19 FROGGS_ joined, FROGGS left 12:26 kivutar joined 12:27 FROGGS_ is now known as FROGGS 12:33 kivutar left, FROGGS_ joined 12:34 FROGGS left 12:37 sqirrel left 12:47 PacoAir joined 13:01 jerome joined, bitonic joined 13:18 skids_ left 13:20 erkan joined, erkan left, erkan joined 13:22 kaleem joined
[Coke] masak (solutions) do you want some even if a) we're not done with all the tasks, or b) an individual task isn't quite done? 13:42
dalek rl6-roast-data: cc89173 | coke++ | / (4 files):
today (automated commit)
13:46
rl6-roast-data: 3e36b54 | coke++ | / (4 files):
today (automated commit)
masak [Coke]: feel free to send in tasks at will, individually or all five. 13:51
I will vet solutions individually, and provide feedback when I accept them. 13:52
14:03 bitonic left 14:05 SamuraiJack left 14:06 bitonic joined 14:07 SamuraiJack joined 14:13 kaare_ joined 14:15 wk joined 14:16 wk is now known as Guest79427, SamuraiJack_ joined, SamuraiJack left
masak the vast majority of participants send in no solutions at all. one easy way to counteract that is to send solutions early and often :) 14:16
14:28 GlitchMr left
colomon or to not sign up. but that might be a little late for [Coke] . ;) 14:28
moritz did so, ish
send in solutions early, that is
14:29 GlitchMr joined
FROGGS_ if I would be able to solve these task I would sign up, but I know my strengths ;o) 14:30
moritz oh come on. Generating those haikus isn't exactly rocket science
FROGGS_ well okay, that one might by solvable 14:31
but I skimmed through the others and I thought I have to complete all
masak what gave you that impression? 14:36
14:39 stopbit joined
FROGGS_ well, the task with the water... if I dont quiet understand the task description it is not a good sign for solving it 14:41
and at home with kids I dont have the brain to solve these kind of tasks ;o) 14:42
14:43 cognominal joined
[Coke] yah, the water one is currently over my head. 14:45
I get the feeling I'm missing some implied problem description.
FROGGS_ ohh good, I'm not alone 14:46
moritz feels like he's missing a simple approach to solve it
[Coke] I really do wish :ignoremark worked so I could use some non english words in the haiku. :) 14:48
14:51 skids_ joined 14:55 cognominal left 14:56 bluescreen10 joined
[Coke] tars up some files for masak. 14:59
masak: enjoy, sir. 15:00
15:06 bitonic left
[Coke] tries not to freak out at the lack of instant masakfeedback! 15:10
FROGGS_ we need moar instant masakfeedback! now!
ò.ó 15:11
moritz [Coke]: fwiw the answers I got from masak had a delay of up to 2 or 3 days
[Coke]: so, no worries, all is normal
15:14 kivutar joined 15:16 sqirrel joined 15:17 kivutar left 15:20 Guest79427 left 15:22 cognominal joined, baest left 15:23 baest joined
FROGGS_ what is this called: class A { * } and class A { ... } 15:26
are both valid?
both are stubs, right?
moritz { ... } is a stub, and {*} is an onlystar 15:27
onlystar only makes sense in the context of routines, afaict
FROGGS_ k, thanks
15:27 baest_ joined 15:28 baest left 15:32 baest_ left
FROGGS_ if someone is interested: github.com/FROGGS/p6-File-Inspector-Namespace 15:33
[Coke] moritz: "onlystar" doesn't appear in specs on or doc site. 15:34
moritz
.oO( known to be incomplete )
15:35
FROGGS_ docs are always incomplete
someone *cough*[Coke]*cough* should make a ticket or add a good text to the doc :P 15:37
moritz fwiw 'onlystar' is just the name that we use in rakudo for those blocks
it's not an official term
but I don't think the specs have one
15:38 baest joined 15:46 cognominal left
[Coke] moritz: that sequence of characters doesn't appear to be special from spec's POV either. 15:51
jnthn back
iirc, STD uses the term onlystar for it. 15:52
15:52 cognominal joined
[Coke] looks like it's used a few times in nativecall refs. 15:52
arnsholt Where in NativeCall did you see it? 15:53
[Coke] S21-calling-foreign-code.pod
15:53 am0c joined
FROGGS_ there is no proto that I'm aware of, so there cant be a { * } 15:53
arnsholt No mention of onlystar in S21 15:55
FROGGS_ there is none in NativeCall.pm6
[Coke]: dont see 'onlystar' in that pod 15:56
[Coke] arnsholt: not "onlystar" - the literal text "{ * }"
FROGGS_ just the { * }
arnsholt Ah, right, right
FROGGS_ thats because the trait does the work of the sub, not the subs body 15:57
arnsholt Yeah, I think that's why jnthn prefers {*} over {...}
FROGGS_ right, because it is not a stub declaration 15:58
it is more a kind of prototype for the C call
15:59 pmurias joined, SmokeMac_ left
pmurias jnthn: hi 15:59
arnsholt Yeah. {*} will explode when called, but {...} will return a Failure or something like that (can't remember right now)
jnthn {*} in the multi case means "enter the dispatch". It the native call case it means about the same: enter the thingy that knows how to dispatch to C. :)
o/ pmurias 16:00
FROGGS_ r: sub a { ... }; a()
p6eval rakudo e67fa9: OUTPUT«Stub code executed␤current instr.: 'throw' pc 328671 (src/gen/CORE.setting.pir:146858) (src/gen/CORE.setting:9197)␤called from Sub 'sink' pc 358070 (src/gen/CORE.setting.pir:158744) (src/gen/CORE.setting:10354)␤called from Sub 'MAIN' pc 464 (src/gen/perl6.pir:170) …
FROGGS_ r: sub a { * }; a()
p6eval rakudo e67fa9: ( no output )
pmurias jnthn: I'm not sure what to do with the initial serialization context should I create it in javascript or am I supposed to (de)serialize it somehow?
jnthn pmurias: Which one? __6MODEL_CORE__?
arnsholt jnthn: Troo. But the way Zavolaj works, the Rakudo dispatcher is never reached, right?
jnthn arnsholt: It uses wrap iirc 16:01
16:01 SmokeMachine joined
jnthn arnsholt: But yes, we never reach the * itself 16:01
fwiw, if we did it'd just return whatever :)
FROGGS_ right, but a ... would still be misleading
pmurias jnthn: yes 16:02
jnthn pmurias: github.com/perl6/nqp/blob/master/s...per.c#L248
FROGGS_: Yes, a ... is a bad idea, since it implies "not implemented"
pmurias: But yes, it's assembled as part of the 6model bootstrap. 16:03
pmurias: And never actually gets serialized proper, but it's cross-ref'd from anything that involves a knowhow
pmurias jnthn: would it be possible to serialize that? 16:06
16:06 SmokeMachine left
jnthn pmurias: It doesn't really make sense to, imo 16:06
pmurias jnthn: or should I assemble it when doing the 6model bootstrap in javascript?
jnthn I'd assemble it when doing the 6model bootstrap 16:07
It's only a handful of lines of code in C anyway :)
It's the way I'll go for JVM
arnsholt jnthn: It overloads postcircumfix:<( )> with a role, but that might be a form of wrapping I guess 16:08
jnthn arnsholt: ah...ok
arnsholt: And that's how wrap is implemented also :) But yes, you're right...I remember now :)
16:08 FROGGS_ left
arnsholt I remember thinking "oh, that's clever" when I first saw it =) 16:08
kresike bye folks 16:17
16:17 kresike left
rurban pmichaud: we plan to rename ops2c to parrot-ops2c until Saturday. nqp and rakudo need to check for it... 16:18
moritz is there a configure option where we can get the name of the executable from? 16:20
otherwise it'll be very hard to make rakudo work on both the old and the new parrot
rurban no, unfortunately not. maybe probe for both? the new one first
moritz and then we accidentally mix up parrot installations? 16:21
rurban hmm 16:22
jnthn rurban: Motivation?
moritz is this change really necessary?
jnthn Why can't it just be left as it is?
rurban ops2c is pretty much self-cointained.
jnthn Who does it hurt as it is?
rurban because upstream packagers might worry about the namespace we took. and consistency with all parrot binaries
currently it hurts nobody. but we want to change it somewhen. 16:23
moritz then I suggest adding a configure option for the name now, and do the actual changeover once somebody actually complains
[Coke] +1
16:23 FROGGS_ joined
rurban ok, or maybe put into a private /usr/local/lib/parrot/version/ops2c 16:23
and keep a symlink to /usr/local/bin/ops2c 16:24
moritz rurban: who would do that?
jnthn How will that work on Windows?
rurban no symlinks on windows. a batch file maybe
jnthn I don't have enough tuits to solve things that ARE problems. I'm loathe to waste them on things that MIGHT become a problem. 16:25
rurban I need to test that first
well, dyncall and threads are bigger problems now. 16:26
I'll try the ops2c config option for backwards compat and transition 16:27
16:33 kaleem left 16:34 kaleem joined 16:40 kaleem left 16:47 kaleem joined, kaleem left 16:49 Chillance joined
masak [Coke]: thank you, sir. 17:03
masak tries to give the impression of always being online, but sometimes fails, like when he's on a train
[Coke] ha! I caught you! ;)
masak :D
[Coke] contest-appropriate feedback most welcome. 17:04
17:04 bitonic joined
masak generally what you can expect is an email saying "solution passes base tests, and has been accepted". 17:06
I'll get to it, hopefully during the day :)
17:06 pmurias left 17:08 cognominal left 17:09 MayDaniel joined 17:14 arkydo joined, arkydo is now known as putau 17:17 cognominal joined 17:42 colomon left 17:55 dakkar left 17:57 thou joined 18:02 ph1ur3 joined
ph1ur3 woah 18:02
TimToady stops galloping 18:03
FROGGS_ TimToady: reboot done? 18:04
jnthn o/ TimToady :)
TimToady no, seems to have regressed a bit, actually...
checking data storage pass is back down to about 2% :) 18:05
skids_
.oO(runlevel now "prancing" instead of "galloping")
TimToady as I mentioned, I expect the reboot to take several weeks...
TimToady is actually stuck at the runlevel of "able to make feeble wordplay" 18:06
[Coke] jnthn: yikes. I had such a <adj> weekend, I forgot to look at nqp-jvm-prep at all. 18:07
I think "poker-filled" might be the correct adj. there. 18:08
TimToady is not going to say what he visualized
18:08 wk joined 18:09 wk is now known as Guest86237
jnthn [Coke]: No worries, I was offline the whole weekend too, just about :) 18:09
[Coke]: Am finally back home and back to some amount of normality now...or as normal as anything here ever gets. :)
TimToady hmm, how does Estonia end up with .ee?
doy Estonia /ɨsˈtoʊniə/ (Estonian: Eesti) 18:10
[Coke] doy++
TimToady figgered it was something like that, thanks
18:10 bitonic left
jnthn Convenient, given Spain got .es :) 18:11
TimToady they very conveniently avoided giving .sp to Saint Pierre, to avoid confusion; some forethought there, or maybe just luck 18:12
so two places where they avoided anglo cultural imperialism...TimToady wonders about examples of the opposite 18:14
timotimo also, i hear, "eeeee" is a valid and semi-sensible word in eesti
skids_ You can say just about anything when falling from a great height and it would be considered sensible. 18:15
dalek rl6-roast-data: 86d1451 | coke++ | / (3 files):
today (automated commit)
18:16
TimToady probably many of the contries in the southern hemisphere are at least colonially biased
*countries
TimToady hopes he has stopped falling from a great height, and has already bounced... 18:17
TimToady hopes he has stopped bouncing, actually, but this is not clear yet 18:19
[Coke] pugs: use Test; eval_lives_ok("{use v5;}", "RT #77596 - use v5 in a block lives");
p6eval pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤ at /tmp/tD7aD3zqaJ line 1, column 1␤»
[Coke] there's some LHF for someone looking to get pugs afloat.
can probably write it in p6.
TimToady ==> outdoors to get some sunshine, and stop bothering the productive people... 18:20
[Coke] (in fact, there is a eval_lives_ok already it seems. perhaps just needs some parameter cleanup) 18:21
TimToady: be well, enjoy the outside.
jnthn shopping/dinner, bbl; should have some JVM backend tuits later on :) 18:24
18:27 spider-mario joined 18:28 FROGGS joined 18:31 telex left, am0c left
timotimo is there any way to step through rakudo itself in some sort of debugging environment that shows the original nqp source lines and maybe even allows introspection? 18:31
18:32 telex joined 18:40 SmokeMachine joined 18:45 mberends joined
mberends o/ 18:45
mberends plans to go to amsterdam.pm.org tomorrow :-) 18:50
jnthn timotimo: No; in theory it may be possible to twist the Rakudo debugger into being an NQP debugger, but it's probably not a 1-pint hack... :) 18:53
o/ mberends
masak mberends! \o/
mberends o/ jnthn masak!
tadzik mberends! \o/ 18:55
mberends \o tadzik
the Rakudo version in Debian Testing (wheezy) is 2012.01, any pointers as to how I can help bring this up to date? 18:57
18:58 [particle]1 left
FROGGS mberends: clone the repo from github or get the zipball from rakudo.org 18:59
18:59 [particle] joined
FROGGS mberends: then: perl Configure.pl --gen-parrot --gen-nqp 18:59
jnthn Well, it's probably better to package a release. 19:00
FROGGS if you wanna twiddle with some modules then you might choose to download rakudo star instead of rakudo
jnthn Potentially, a Star one.
mberends FROGGS: thanks, I'm doing one of those right now. I'm hoping to improve the result of 'sudo apt-get install rakudo'...
19:02 japhb_ joined
japhb_ ++mberends 19:02
Debian packages have the very nice side benefit of "flowing through" to a fair number of popular distros 19:03
mberends o/ japhb yess
masak rn: my $a = 0; repeat while False { say $a++; redo if $a < 10 } 19:05
p6eval rakudo e67fa9, niecza v24-16-g89e47b6: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
masak rn: my $a = 0; repeat while False { say $a++; next if $a < 10 }
japhb_ currently uses distros at three different layers of that flow, actually ...
p6eval rakudo e67fa9, niecza v24-16-g89e47b6: OUTPUT«0␤»
19:08 snearch joined
skids_ Using Star gives you panda as well. Major bonus. 19:10
19:11 snearch left
FROGGS true 19:11
19:11 snearch joined
japhb_ Has Star been fixed to register all installed modules with panda? 19:13
moritz japhb_: no 19:14
19:14 PacoAir left 19:15 PacoAir joined 19:17 snearch left
japhb_ moritz, :-/ 19:18
ETOOMANYPROJECTS
19:20 colomon joined, mberends left 19:21 mberends joined 19:23 snearch joined
FROGGS if I read the following in nqp source, does it mean it maps a parrot function? QAST::Operations.add_core_pirop_mapping('sprintf', 'sprintf', 'SsP', :inlinable(1)); 19:24
19:24 snearch left, snearch joined
moritz FROGGS: it maps nqp::sprintf to pir::sprintf__SsP 19:24
19:24 putau left
masak QAST::Operations++ 19:25
(object-oriented compiler)++
FROGGS ahh
19:25 snearch left
FROGGS thanks 19:25
19:26 snearch joined
FROGGS should I be able to find 'sprintf__SsP' in files? I only get one suspicious result 19:27
19:27 rom1504__ is now known as rom1504
moritz FROGGS: you'l find sprintf in parrot somewhere 19:27
FROGGS k
moritz FROGGS: it might use a different naame mangling convention than PIR 19:28
and it'll be in an .ops file
FROGGS thanks
mberends o/ moritz, how are @family? 19:33
FROGGS meh, hunting down sprintf is a never ending story, I cant find its code 19:34
19:34 PacoAir left
FROGGS ohh, found it 19:35
one just has to argue ;o)
19:35 PacoAir joined
skids_ Every time I open parrot source files I get thoroughly lost. 19:36
diakopter src/string/sprintf.c and spf_vtable.c and spf_render.c and spf_private.h
FROGGS parrot/src/string/spf_render.c:418 19:37
moritz \o mberends 19:42
mberends: @family is doing quite fine, thank you
mberends: the small one is turning 2 on Monday
mberends: how about yourself? 19:43
mberends hip hip \o/ \o/
masak \o/
tadzik Array()!
masak *lol*
tadzik r: my @a = "hip" xx 2; say ~(@a, @a.WHAT.perl), "!"
p6eval rakudo e67fa9: OUTPUT«hip hip Array!␤»
masak loves that joke
19:44 FROGGS_ left
mberends moritz: also well thanks, just back from holiday visits to @family 19:45
tadzik masak++ # the joke 19:46
masak mberends: you in .uk these days? doing .co.uk things? :)
r: my @a = "hip" xx 2; say ~(@a, @a.^name), "!" 19:47
p6eval rakudo e67fa9: OUTPUT«hip hip Array!␤»
mberends masak: mainly, but currently in .nl, plan to see Liz and Wendy in Ams tomorrow 19:48
masak nice.
give hugs to Liz and Wendy from me. :)
moritz from me too :-)
masak r: say ~("hip" xx 2, (my @).^name), "!"
p6eval rakudo e67fa9: OUTPUT«hip hip Array!␤»
tadzik niice 19:49
jnthn r: say ~("hip" xx 2, [].^name), "!"
mberends will do..
p6eval rakudo e67fa9: OUTPUT«hip hip Array!␤»
jnthn ;)
masak jnthn++ 19:50
(and it's growing more readable, too!)
timotimo how come you can just write ~(a list) instead of having to write [~] a list? 19:51
masak when you stringify a list, it gets spaces between the elements.
moritz prefix ~ is just stringification
timotimo oh, right
diakopter r: say "hip "x 2, [].^name, "!" 19:52
p6eval rakudo e67fa9: OUTPUT«hip hip Array!␤»
masak ooh
tadzik r: say "hip "x 2, [].^name,"!"
p6eval rakudo e67fa9: OUTPUT«hip hip Array!␤»
tadzik had to
r: say "hip "x 2,[].^name,"!" #actually 19:53
p6eval rakudo e67fa9: OUTPUT«hip hip Array!␤»
mberends parse challenge en.wikipedia.org/wiki/Buffalo_buff...lo_buffalo (my $son found this one) 19:54
masak ooh, the Buffalo sentence!
tadzik r: say "hip hip {[].^name}!"
masak challenge *accepted*!
p6eval rakudo e67fa9: OUTPUT«hip hip Array!␤»
tadzik that's sort of cheating :P 19:55
timotimo r: say "hip hip [].^name()"; 19:56
p6eval rakudo e67fa9: OUTPUT«hip hip [].^name()␤»
19:56 mst left, mst joined
timotimo aaw, no amount of postcircumfix does that 19:56
19:56 snearch left
tadzik r: say "hip hip @_.^name()"; 19:56
p6eval rakudo e67fa9: OUTPUT«===SORRY!===␤Cannot use placeholder parameter @_ in the mainline␤at /tmp/Vaf3fnui_A:1␤------> say "hip hip @_⏏.^name()";␤»
tadzik :(
masak timotimo: no, it has to start with a sigil.
moritz r: say "hip hip @*INC.WHAT.gist()"
p6eval rakudo e67fa9: OUTPUT«hip hip Array()␤»
moritz r: say "hip hip @*INC.WHAT.gist.substr(0, *-2)!"
timotimo heh :)
p6eval rakudo e67fa9: OUTPUT«===SORRY!===␤Unable to parse expression in double quotes; couldn't find final '"'␤at /tmp/ZuvDmjCZxg:1␤------> hip hip @*INC.WHAT.gist.substr(0, *-2)!"⏏<EOL>␤ expecting any of:␤ postfix␤ double quotes␤»…
jnthn r: say "hip hip @([]).^name()";
p6eval rakudo e67fa9: OUTPUT«hip hip Array␤»
moritz jnthn++ 19:57
masak r: say "hip hip @().^name()" 19:59
p6eval rakudo e67fa9: OUTPUT«hip hip List␤»
masak :P
flussence whee, I just managed to hang chrome by doing "print ([])" in the console...
masak r: say "hip hip %().^name()"
p6eval rakudo e67fa9: OUTPUT«hip hip Hash␤»
masak r: say "hip hip $().^name()"
p6eval rakudo e67fa9: OUTPUT«hip hip Parcel␤»
masak hip hip Parcel! \o/
jnthn r: sub prefix:<@@>($x) { $x }; say "omg @@"wtf".uc() bbq" 20:00
p6eval rakudo e67fa9: OUTPUT«omg WTF bbq␤»
masak .oO( because, ya know, it's your birthday... )
20:00 SamuraiJack joined, SamuraiJack_ left
timotimo that's pretty crazy, jnthn :) 20:01
jnthn You learn a few things when you spend a bunch of time working on quote parsing :)
diakopter r: sub prefix:<@@>($x) { $x }; say "omg @@@@@@@@@@@@@@@@@@@@@@@@@@"wtf".uc() bbq" 20:03
p6eval rakudo e67fa9: OUTPUT«omg WTF bbq␤»
20:04 REPLeffect left
masak somehow that just doesn't feel uppercased enough. 20:04
timotimo r: sub prefix:<@>($x) { $x }; my @a = 1, 2, 3; say @a;
p6eval rakudo e67fa9: OUTPUT«===SORRY!===␤Undeclared routine:␤ a used at line 1␤␤»
20:04 REPLeffect joined
timotimo heh 20:04
r: sub prefix:<@>($x) { $x }; my @a = 1, 2, 3; say @@a;
p6eval rakudo e67fa9: OUTPUT«===SORRY!===␤Undeclared routine:␤ a used at line 1␤␤»
masak timotimo: why do you try to call 'a'? 20:05
jnthn masak: I think timotimo probably expected it to mean @ called on @a
masak yes, I know :)
just teasing him :)
timotimo masak: that's like someone punching someone else with their own fist and asking them "why are you hitting yourself?"? ;)
jnthn Which it never will since <prefix>* will swallow both @s before you get to parse a term.
masak timotimo: yes... so... why? :P 20:06
timotimo was just verifying if my intuition was correct - and it was
masak timotimo: and it's not exactly like that, mind. you were punching yourself, and I was just commenting on it.
timotimo :D
20:07 SamuraiJack left
jnthn Righty, time to write some code... 20:08
rurban Found my nqp problem with an installed parrot: -L. -X. is needed for parrot
flussence anyone willing to crash their browser to help me reproduce a bug? :D 20:09
tadzik bring it on!
flussence chrome/ium, hit f12, type "print()\n". It might freeze instantly 20:10
tadzik with quotes?
20:10 SmokeMachine left
flussence nah, just the function 20:10
tadzik nah, works
Chromium Version 22.0.1229.94 20:11
flussence hm, I'm on 24.something
tadzik F12 opens the resource monitor and stuff, eh?
flussence oh wait, 25
f12 opens the dev console here...
tadzik yeah, this sort of thing
flussence ok
20:12 sftp left
flussence on mine, it freezes the tab as soon as you hit enter, the tab bar starts acting weird, and opening the dev console on any other page also freezes that. I ended up having to kill processes from the command line to get it working again... 20:13
20:14 sftp joined
skids_ \o/ Sum now installs clean with panda, jnthn++ for fixing pre-compiled curried roles. 20:15
Though, the tests run even slower under panda... 511 seconds. I guess I have unintentionally created a new benchmark suite :-) 20:16
jnthn Real world benchmarks are welcome :) 20:18
dalek p/dot-libpath-gh71: 6a9828f | rurban++ | tools/build/Makefile.in:
[GH #71] Add -L. -X. to parrot for newer parrots.

See github.com/parrot/parrot/issues/368
rurban nqp: Ok to apply?
p6eval nqp: OUTPUT«Confused at line 2, near "Ok to appl"␤current instr.: 'panic' pc 13231 (src/stage2/gen/NQPHLL.pir:4687) (src/stage2/gen/NQPHLL.pm:328)␤»
20:19 brrt joined
timotimo :D 20:22
wow, skids_, that looks like a lot of work, also high quality documentation!
skids_ Eh, it's just my equivalent of knitting. 20:25
FROGGS skids_++ # well written code 20:30
masak where is this code of which you speak?
skids_ You just haven't seen the hacky parts yet :-)
masak: panda install Sum... wait... wait... wait... 20:31
FROGGS masak: github.com/skids/perl6sum
.oO( dary? )
masak ooh 20:32
tadzik skids_ | masak: panda install Sum... wait... wait... wait... 20:33
for a moment I thought you wrote "panda install Sum<TAB>" and impllemented auto-completion :D
20:34 nyuszika7h left
masak and I thought you were speaking to skids_ and me in an or-junction... 20:34
skids_ That's how I read it too. 20:35
Sad.
20:35 nyuszika7h joined
FROGGS is that valid english? github.com/skids/perl6sum/blob/mas....pm6#L5-L6 20:35
PerlJam s/does// 20:36
skids_ FROGGS++ thanks.
20:37 brrt left 20:39 brrt joined
FROGGS rn: class A { method b {} }; my $c = A.new; say $c.^can('b') 20:41
p6eval rakudo e67fa9: OUTPUT«b␤»
..niecza v24-16-g89e47b6: OUTPUT«True␤»
FROGGS which one is right?
20:42 Patterner left
doy rakudo 20:43
jnthn rn: class A { method b {} }; my $c = A.new; say $c.^can('b').WHAT
p6eval niecza v24-16-g89e47b6: OUTPUT«Bool()␤»
..rakudo e67fa9: OUTPUT«Parcel()␤»
jnthn The spec is not perfect, but it is at least clear that what comes back from can is something that indicates the available method(s), and will be boolean true/false. 20:44
rn: class A { method b {} }; my $c = A.new; say $c.^can('b')[0].WHAT
FROGGS okay, so both is not wrong
p6eval rakudo e67fa9: OUTPUT«Method()␤»
..niecza v24-16-g89e47b6: OUTPUT«Bool()␤»
jnthn No, because niecza only returns a bool, not a result that conveys the methods. 20:45
doy S32 says that can should return a Callable
jnthn yeah, that's the weird bit
rurban rakudo also needs parrot -L. -X. for parrot 5.0
jnthn S12 suggests it should return multiple results if they exist, iirc. 20:46
FROGGS rurban: -X is executable search path?
masak r: say Method ~~ Callable
p6eval rakudo e67fa9: OUTPUT«True␤»
rurban -X is the dynext path
jnthn masak: Yes, but .^can returns a Parcel.
masak: Of Method, each of which is callable.
skids_ Well, returning the dispatcher would also constitute returning a list of candidates, indirectly, via introspection, no? 20:47
jnthn skids_: "the dispatcher"? It's only going to hand back stuff from the method table. If one of those is a proto controlling a bunch of multi-candidates, you can also get those, yes 20:48
doy S32 says that it should return a sub that closes over $self and just redispatches, if i understand it correctly
jnthn eek, and S12 wants it to return some kind of iterator... 20:49
20:49 sqirrel left
jnthn Of all the things that match the name. 20:49
So yeah, the spec is inconsistent, as I remembered it.
It'd be nice if we could settle on exactly what we'd like it to do :)
masak what's inconsistent about a callable iterator? :P 20:50
20:50 Psyche^ joined, Psyche^ is now known as Patterner
jnthn masak: heh :) 20:50
skids_ I guess I don't understand what else would be in the array -- shadowed methods from parent classes?
jnthn I guess
skids_: Yeah
masak: Well, I *can* implement something like that I guess...
Not sure it's a good idea 20:51
Hm, guess it may not be too crazy
jnthn puts it on the to-try list
masak I was mostly kidding.
but it doesn't seem impossible to me.
jnthn No no, too late now :P
masak and if that's what the spec *says*... :)
jnthn I think at one point I considered something that did both to be crazy 20:52
But it feels fairly do-able now
masak must have been a less crazy version of you thinking that :P
jnthn Either I'm just smarter or crazier by now :)
meh, shoulda known it'd go the crazy way :P
20:52 brrt left
masak of course. it's like, everybody knows at this point what the light at the end of the tunnel really is. :) 20:54
the world comes pre-loaded with a certain amount of pessimism.
20:56 bitonic joined, cognominal left 20:57 cognominal joined
jnthn Why the hell does eclipse-- still sometimes insert tabs instead of spaces even after I ticked the "Insert tabs instead of spaces" box... :/ 21:06
flussence per-file settings?
jnthn It has...per-file settings?
flussence I dunno, just throwing ideas around... (haven't used eclipse since 2003 :) 21:07
masak jnthn: as I recall, it has different settings for "indentation" and "vertical alignment". might be something like that. 21:08
jnthn ah, found it...
flussence oh, separate :sw and :ts settings... :)
jnthn But of course, I can't just change it. 21:09
Oh no.
Instead I have to clone a "formatter profile", then change the cloned one.
Makes sense. Java, the language of excess verbosity, spawns a toolchain where everything requires more steps than is sanely needed. 21:10
diakopter also yes there are project-specific settings
jnthn o.O
masak oh joy.
21:11 cognominal left
skids_ Moral of this story: swiss army chainsaws should retract automatically. 21:12
masak fails to see what that metaphor would correspond to 21:15
21:28 xinming_ left 21:29 Chillance left
FROGGS less steps needed? 21:29
21:29 xinming joined
masak well, it's tricky. I can see why someone would like per-project settings, or separate rules for indentation and vertical alignment... 21:32
the trouble comes when a feature bites you that you didn't even know existed.
I'm not even sure it's a trade-off so much as a difficult problem of design. 21:33
21:35 mberends left
dalek kudo/nom: c072f82 | moritz++ | src/Perl6/World.pm:
implement the rest of require + indirect lookup
21:37
moritz timotimo: this works now on latest rakudo: use lib "t/spec/packages"; my $name = "Util"; require Test::($name) <&throws_like>; throws_like "1 1", X::Syntax::Confused 21:43
timotimo cool :)
jnthn moritz++
dalek kudo/nom: ffde430 | moritz++ | docs/ChangeLog:
require + indirect names deserves a ChangeLog entry
21:44
timotimo so basically it generates code to join the components with :: and use that as the value
masak moritz++
moritz timotimo: correct
masak 'night, #perl6
timotimo night masak 21:45
moritz also retires
timotimo so the basic principle is to create lots of QAST things if you want a feature to work
moritz timotimo: if it requires codegen, yes 21:46
once you get used it, it's a rather cool approach
timotimo if i do get to create that guided tour screencast, i'll make sure to explain where code needs to be generated and when you can just write code that gets run at run time
that's a big confusion i have right now
also, what code gets run at compile time and what code is still relevant at run-time (which would probably be mostly the same distinction?) 21:47
[Coke] jnthn: we definitely want the settings to be in the project so we can share them.
I can do that part if you tell me what you want the settings to be. 21:48
flussence random idea: a makefile target that precompiles all the spectests to catch precomp bugs
jnthn [Coke]: If you know how to sort that out, it'd be great.
[Coke] (or I can just pick saneish defaults)
jnthn [Coke]: Well, spaces instead of tabs is the only thing I've tweaked from the default
[Coke] jnthn: i just did this at work a little while ago for one of my projects. Sure.
moritz timotimo: note that in this case, we just generate calls (to &infix:<,> and Parcel.join), and those calls happen at run time
flussence: precompiling scripts isn't supported 21:49
[Coke] jnthn: I can add that to the project-specific settings, sure. Will do so after $DAYJOB
flussence oh :(
21:49 alec left
moritz flussence: and most spectests have pretty simple cross-dependency chains, so it's not such a big help 21:49
dalek p-jvm-prep: 7d90a20 | jnthn++ | t/qast_6model.t:
Basic native attribute test.
21:50
p-jvm-prep: b16cdd9 | jnthn++ | src/org/perl6/nqp/sixmodel/ (3 files):
Teach P6opaque about inlining native attrs.
p-jvm-prep: 1268e9d | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
A little re-think that avoids code-dupe.

Also simplifies code generation for an error case that should never really occur.
p-jvm-prep: e5b4604 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6 (3 files):
Teach P6int, P6num and P6str how to inline.

This means that native int, num and str attributes now work with P6opaque.
p-jvm-prep: 5ed35e9 | jnthn++ | t/qast_6model.t:
Test native num and str attrs also.
timotimo at this pace, rakudo should run on the jvm in about a week's time! 21:51
jnthn :P
tadzik shush, timotimo. Don't spoil jnthn's surprises! 21:52
jnthn There's still quite a bit to do :P
tadzik yeah, right, you always say that ;)
21:57 bluescreen10 left
diakopter I'd estimate there's around 600 jnthn-hours left before rakudo runs on the jvm 21:59
(that would be around 6000 me-hours)
PerlJam either way, whenever it's done, rakudo-on-jvm will come as a surprise :) 22:00
22:01 nyuszika7h left, bluescreen10 joined 22:02 nyuszika7h joined, skids_ left 22:10 kaare_ left 22:13 bluescreen100 joined 22:15 bluescreen10 left 22:16 alec joined, alec left, alec joined 22:19 alec left, alec joined
dalek p-jvm-prep: 6b81e0e | jnthn++ | t/qast_6model.t:
Tests for P6opaque box_target handling.
22:26
p-jvm-prep: f353a12 | jnthn++ | src/org/perl6/nqp/sixmodel/ (2 files):
Give P6opaque box target handling.
p-jvm-prep: 1099d65 | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6 (3 files):
Teach P6int/P6num/P6str to be box targets.
p-jvm-prep: 1ffa9ab | jnthn++ | docs/ROADMAP:
Remove some completed ROADMAP items.
22:35 mp____ joined 22:44 zooks joined, amkrankruleuen joined 22:45 amkrankruleuen left 22:46 zooks left 22:47 mp____ left 22:49 snearch joined 22:50 MayDaniel left 22:53 whiteknight joined 23:06 amkrankruleuen joined, amkrankruleuen left, amkrankruleuen joined 23:07 amkrankruleuen left
jnthn 'night, #perl6 23:11
tadzik good knight jnthn 23:14
23:23 grondilu joined
grondilu I get this when trying to run panda: 23:24
===SORRY!===
No object at index 332
slavik1 give it bamboo ... 23:26
sorry, the best I can come up with :(
sorear grondilu: delete stuff and reinstall panda. you have a problem with your precompiled modules. 23:28
23:28 stopbit left
grondilu sorear: which stuff exactly? There are so much. 23:31
*many
flussence first start by blowing away the rakudo install/ dir and doing a clean reinstall of that, then bootstrap panda, and when that doesn't work delete the .pir versions of installed panda modules. It'll work after that, slowly. 23:32
23:32 spider-mario left
grondilu removes the install directory 23:33
23:33 skids_ joined
grondilu runs make clean 23:34
grondilu runs make
(that failed) 23:35
grondilu runs perl Configure.pl --gen-parrot --gen-nqp
japhb_ grondilu, make sure you don't still have modules hanging around in ~/.perl6 (the old location for panda installs) 23:36
grondilu nope, nothing there
23:42 amkrankruleuen joined, amkrankruleuen left, amkrankruleuen joined 23:43 PacoAir left 23:49 snearch left