Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-04-19

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 payload joined #perl6
00:05 Limbic_Region joined #perl6
00:06 dalek rakudo: da03c6c | pmichaud++ | build/PARROT_REVISION:
00:06 dalek rakudo: Bump PARROT_REVISION to get latest ** <expr> changes.
00:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/da03c6ca9f0605d95d077553e948e4534fec9439
00:11 justatheory joined #perl6
00:15 pugs_svn r26263 | pmichaud++ | [t/spec]:  rakudo unfudge for quantified-by-separator tests
00:30 dalek rakudo: d0310a3 | pmichaud++ | build/PARROT_REVISION:
00:30 dalek rakudo: Bump PARROT_REVISION once again.
00:30 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d0310a3b04a61195e3486edb393f6f6d1526a141
00:37 simcop2387 joined #perl6
00:38 pmichaud rakudo:  say ~('abc,def,ghi' ~~ / \w+ ** ',' /)
00:38 p6eval rakudo e453f4: OUTPUT«sh: ./perl6: No such file or directory␤»
00:42 pmichaud rakudo:  say ~('abc,def,ghi' ~~ / \w+ ** ',' /)
00:42 p6eval rakudo e453f4: OUTPUT«sh: ./perl6: No such file or directory␤»
00:46 pmichaud rakudo:  say ~('abc,def,ghi' ~~ / \w+ ** ',' /)
00:46 p6eval rakudo e453f4: OUTPUT«sh: ./perl6: No such file or directory␤»
01:24 sitaram left #perl6
01:37 puddle joined #perl6
01:37 puddle left #perl6
01:49 cspencer joined #perl6
02:00 LylePerl rakudo: say 'hi'
02:00 p6eval rakudo d0310a: OUTPUT«hi␤»
02:01 LylePerl pmichaud: There is a problem with rakudo and more recent parrots. I've submitted a bug last week but have no idea what the problem is unfortunately :(
02:02 LylePerl rakudo: say ~('abc,def,ghi' ~~ / \w+ ** ',' /)
02:02 p6eval rakudo d0310a: OUTPUT«abc,def,ghi␤»
02:19 c9s_ joined #perl6
02:57 spx2 does 7zip support recovery ?
03:03 meppuru joined #perl6
03:11 eternaleye rakudo: 'abc,def,ghi' ~~ / \w+ ** ',' /); say ~$/
03:11 p6eval rakudo d0310a: OUTPUT«Syntax error at line 1, near "); say ~$/"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
03:11 eternaleye rakudo: 'abc,def,ghi' ~~ / \w+ ** ',' /; say ~$/
03:11 p6eval rakudo d0310a: OUTPUT«abc,def,ghi␤»
03:11 eternaleye rakudo: 'abc,def,ghi' ~~ / \w+ ** ',' /; say $/.perl
03:12 p6eval rakudo d0310a: OUTPUT«Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ ast  => "abc,def,ghi",␤ text => "abc,def,ghi",␤ from => 0,␤ to   => 11,␤)␤»
03:12 eternaleye rakudo: 'abc,def,ghi' ~~ / (\w+) ** ',' /; say ~$/
03:12 p6eval rakudo d0310a: OUTPUT«abc,def,ghi␤»
03:12 eternaleye rakudo: 'abc,def,ghi' ~~ / (\w+) ** ',' /; say $/.perl
03:12 p6eval rakudo d0310a: OUTPUT«Match.new(␤ # WARNING: this is not working perl code␤ # and for debugging purposes only␤ ast  => "abc,def,ghi",␤ text => "abc,def,ghi",␤ from => 0,␤ to   => 11,␤ positional => [␤  Match.new(␤     ast  => "abc",␤     text => "abc",␤     from => 0,␤     to   => 3,␤    ),␤
03:12 p6eval ..Match.ne...
03:12 eternaleye rakudo: 'abc,def,ghi' ~~ / (\w+) ** ',' /; say ~@( $/ )
03:12 p6eval rakudo d0310a: OUTPUT«1␤»
03:12 eternaleye rakudo: 'abc,def,ghi' ~~ / (\w+) ** ',' /; say @( $/ )
03:12 p6eval rakudo d0310a: OUTPUT«abcdefghi␤»
03:13 eternaleye rakudo: 'abc,def,ghi' ~~ / (\w+) ** ',' /; say $/[1]
03:13 p6eval rakudo d0310a: OUTPUT«Use of uninitialized value␤␤»
03:13 eternaleye rakudo: 'abc,def,ghi' ~~ / (\w+) ** ',' /; say $[1]
03:14 p6eval rakudo d0310a: OUTPUT«say requires an argument at line 1, near " $[1]"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
03:14 eternaleye rakudo: 'abc,def,ghi' ~~ / (\w+) ** ',' /; say $<1>
03:14 p6eval rakudo d0310a: OUTPUT«Use of uninitialized value␤␤»
03:14 eternaleye rakudo: 'abc,def,ghi' ~~ / (\w+) ** ',' /; say $<0>
03:14 p6eval rakudo d0310a: OUTPUT«Use of uninitialized value␤␤»
03:14 eternaleye rakudo: 'abc,def,ghi' ~~ / (\w+) ** ',' /; say @( $/ )[1]
03:14 p6eval rakudo d0310a: OUTPUT«Use of uninitialized value␤␤»
03:38 Kisu joined #perl6
03:47 orafu joined #perl6
04:07 alester joined #perl6
04:09 c9s_osdc joined #perl6
04:12 cspencer joined #perl6
04:36 alanhaggai joined #perl6
04:37 brunov joined #perl6
04:57 justatheory joined #perl6
05:13 literal perl6: my $foo; $foo<bar> = 1; say $foo.perl;
05:13 p6eval pugs: OUTPUT«\\(\("bar", 1),)␤»
05:13 p6eval ..rakudo d0310a: OUTPUT«Method 'postcircumfix:{ }' not found for invocant of class 'Failure'␤current instr.: 'postcircumfix:{ }' pc 5508 (src/classes/Associative.pir:133)␤»
05:13 p6eval ..elf 26263: OUTPUT«{"bar" => 1}␤»
05:13 literal is this supposed to autovivify?
05:14 literal it does in Perl 5, which surprised me
05:14 pmichaud yes, its supposed to autovivify.
05:14 pmichaud It's one of our ongoing annoying bugs.
05:18 cspencer pmichaud: you available to field a spec related question? :)
05:22 pmichaud cspencer: sure
05:23 cspencer i'm moving the trig subs from src/builtins/math.pir into Num in the setting and i'm wondering what S32 means when it says that "use Num :Trig" will install the sub names into Num::Trig
05:23 cspencer i'm assuming that the :Trig flag should make sin/cos/atan etc available in the global namespace, no?
05:23 pmichaud yes, fsvo "global namespace"
05:24 cspencer (what's fsvo, for my future reference) :)
05:24 pmichaud (for some value of)
05:24 cspencer ah ok
05:24 pmichaud but I'm guessing the intent is that the transcendentals aren't in the curernt setting by default;  they have to be imported
05:25 cspencer yes, that's my take too
05:25 pmichaud for the time being Rakudo is acting as if they're always imported, until we get import tags fully implemented
05:25 pmichaud (and possibly until we get proper lexical settings)
05:26 cspencer are the import tags not working?
05:26 cspencer i thought that i'd had it such that :Trig would haul the subs into the calling package
05:27 cspencer or do you mean in the current revision of rakudo
05:27 pmichaud afaik, the import tags aren't implemented yet.
05:27 pmichaud I could be wrong about that.
05:28 cspencer i'm under the impression that they work for me, though i could be wrong myself :)
05:29 pmichaud currently I think everything gets imported, regardless of tag.
05:29 pmichaud the way to know for sure would be to try to use a trig function w/o having done "use Num :Trig".  If it fails, then perhaps tags are working.
05:30 pmichaud rakudo:  say sin(3);
05:30 p6eval rakudo d0310a: OUTPUT«0.141120008059867␤»
05:30 cspencer oh, yes, you referring to the current builtin trig functions
05:30 cspencer in my local copy i've moved them over to Num.pm with tags
05:31 cspencer and that does work for me
05:31 pmichaud and the above fails?
05:31 cspencer yes
05:31 pmichaud interesting.
05:31 pmichaud I'd be very interested in seeing the patch.
05:31 cspencer do you want me to do a format-patch and send it over?  it's not quite completed yet
05:32 pmichaud sure... although I'm going to have to disappear in a bit
05:32 pmichaud (to travel to the hackathon venue)
05:32 cspencer ah, that's still on-going
05:32 cspencer :
05:32 cspencer i'll head to bed and send it off to you in the morning
05:33 pmichaud okay, that'll be great
05:33 pmichaud I already have a fairly full hackathon day scheduled :-)
05:33 cspencer i was hoping to get the ability to specify degrees/radians/gradians cut in tomorrow anyways
05:33 pmichaud (Lots of wonderful hacking.  Not enough hours.)
05:33 cspencer heh :)
05:34 cspencer alrighty then, happy hacking, i'll follow up tomorrow with a patch of some sort :)
05:36 cspencer rakudo: say "asdf".p5chop
05:36 p6eval rakudo d0310a: OUTPUT«f␤»
05:36 cspencer rakudo: say p5chop("asdf")
05:36 p6eval rakudo d0310a: OUTPUT«f␤»
05:38 c9s_osdc joined #perl6
05:39 c9s_osdc joined #perl6
05:46 c9s_osdc joined #perl6
06:05 ejs joined #perl6
06:06 sitaram joined #perl6
06:12 iblechbot joined #perl6
06:12 sitaram left #perl6
06:14 cspencer joined #perl6
06:29 jnthn import tags are implemented and tested somewhat.
06:33 c9s_osdc_ joined #perl6
06:34 cspencer jnthn: good to know that i wasn't just imagining them working for me then :)
06:37 * jnthn -> hackathon venue
06:44 Kisu joined #perl6
06:56 alanhaggai joined #perl6
07:01 sephee joined #perl6
07:13 mib_46y74j joined #perl6
07:14 Konge joined #perl6
07:15 masak joined #perl6
07:15 masak OH HAI
07:15 masak so, day #2 of the hackathon.
07:15 pmichaud I'M IN YR PROJECTR, SCRLIN YR SCREEN
07:16 szabgab joined #perl6
07:16 szabgab Konge, OH HI
07:20 hanekomu joined #perl6
07:21 szabgab Konge: room ?
07:23 hanekomu Konge: you at/from Linpro?
07:23 hanekomu *you're
07:24 szabgab hanekomu, Konge is the name of our room projected to the screen
07:24 hanekomu ah
07:24 hanekomu are you at the linpro offices already?
07:25 hanekomu (this seems to be a difficult question. no one in any channel can answer it.)
07:26 * szabgab is batman at the moment...
07:26 szabgab batman aka the linpro guy
07:26 baest hanekomu: yes we are here, but I'm not sure there's any from linpro, but salve has a card
07:26 hanekomu ok
07:26 hanekomu i just need to find out whether i can print out the boarding pass pdf file this afternoon at 5pm at linpro
07:26 baest OMG 2 buts, need more coffee
07:26 baest oh
07:27 szabgab hanekomu, you can use a printer here.
07:27 hanekomu cool, thanks!
07:27 szabgab it's really no problem :)
07:27 hanekomu :)
07:27 * hanekomu is much relieved
07:27 szabgab ok, got to get marcus ... see you around
07:27 hanekomu see you
07:27 baest szabgab: sorry, didn't see you there :)
07:27 * szabgab is not batman anymore ;)
07:27 baest linpro in the house
07:31 mberends joined #perl6
07:41 imarcusthis house is in the linpro
07:42 sjn Hackathon morning meeting @ 10:00
07:43 masak excellent.
07:50 ihrd joined #perl6
08:05 xinming_ joined #perl6
08:09 hanekomu joined #perl6
08:19 payload joined #perl6
08:20 barney joined #perl6
08:25 stas joined #perl6
08:33 dalek rakudo: 0458077 | pmichaud++ | docs/spectest-progress.csv:
08:33 dalek rakudo: spectest-progress.csv update: 372 files, 10430 passing, 0 failing
08:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0458077065f2c42d39e3f12759c66025e2d764ce
08:40 DemoFreak joined #perl6
08:42 jnthn std: @arr(-->Num)
08:42 p6eval std 26263: OUTPUT«##### PARSE FAILED #####␤Unable to parse argument list; couldn't find final ')' at /tmp/DGQ8WBrWdi line 1:␤------> [32m@arr([31m-->Num)[0m␤    expecting any of:␤ argument list␤    standard stopper␤ terminator␤       whitespace␤Other potential difficulties:␤  Variable @arr is
08:42 p6eval ..not predec...
08:42 jnthn my @arr(-->Num) = <1 2.1 3.2>;
08:42 jnthn std: my @arr(-->Num) = <1 2.1 3.2>;
08:42 p6eval std 26263: OUTPUT«ok 00:02 35m␤»
08:43 jnthn .oO( I didn't know we had *that* syntax too )
08:45 masak .perl is very broken.
08:47 jnthn masak: How so?
08:48 masak jnthn: getting Null PMC access in can() and stuff.
08:49 jnthn masak: Example?
08:50 masak jnthn: actually, I think those were Parrot objects.
08:50 masak we're debugging HTTP::Daemon code.
08:50 payload joined #perl6
08:51 payload joined #perl6
08:53 payload joined #perl6
08:57 jnthn masak: Sure, well, Parrot objecs won't have a .perl - but sounds like the wrong error.
08:57 masak aye
08:57 masak will investigate later and submit a rakudobug.
08:58 jnthn cool
08:58 dalek rakudo: 65b3bb5 | jnthn++ | src/parser/actions.pm:
08:58 dalek rakudo: Implement --> for specifying return type.
08:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/65b3bb556df56c0098f1717e8b77af20759b8096
08:58 dalek rakudo: 80f0d32 | jnthn++ | :
08:58 dalek rakudo: Merge branch 'master' of git@github.com:/rakudo/rakudo
08:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/80f0d32e4a0513c7a4acfae92568cadd9449a6fd
08:58 jnthn (btw git pull --rebase gave me an error...)
09:01 Tene jnthn: I just implemented |%args, but only for the case when it's in a % var.  Do you have issues with me committing it?
09:01 Tene Lemme show you the patch.
09:01 masak jnthn: what error?
09:02 jnthn masak: the can one
09:02 jnthn oh
09:02 jnthn for git
09:02 jnthn somehting about me not being up to date?
09:02 jnthn :-S
09:03 Tene jnthn: copy/paste the error, and I'd be glad to help.
09:03 Tene You could even paste it into my pastebin running on rakudo: http://pleasedieinafire.net:5080/
09:04 Tene ;)
09:06 jnthn lost it now, will paste it next time I get it though
09:06 Tene kk
09:06 Tene jnthn: I'm asking about |%args because you mentioned some issues with implementing it a while back... do you remember?
09:06 sjn Next @ hackathon: Group picture, 12:00
09:07 jnthn Tene: Yeah. I think this will do as a first cut though
09:07 jnthn However
09:07 jnthn if substr($past.name(), 0, 1) eq '%' {
09:07 jnthn Probably better as
09:07 jnthn if $past<sigil> eq '%' {
09:07 Tene ah!
09:07 jnthn That should work I think.
09:07 * Tene tests
09:09 Tene yes, that works
09:09 pugs_svn r26264 | lwall++ | [STD] copy $<sym> up for [X] brackets
09:12 dalek rakudo: 0dfcf49 | (Stephen Weeks)++ | src/parser/actions.pm:
09:12 dalek rakudo: Implement |%args for interpolating a hash into named arguments to a sub call.
09:12 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0dfcf497357e5090a310a8ffd53cfac5b76e64dc
09:14 c9s_ joined #perl6
09:14 c9s_ joined #perl6
09:29 Guest29693 joined #perl6
09:31 baest pmichaud: I'm not sure I understand why /'ab\\yz'/ matches ab\x5cyz, seems like it gets translated to something weird in perl6regex/01-regex.t. Now /"ab\\cd"/ matches ab\cd, but not ab\x5cyz
09:31 * baest is puzzled
09:32 baest hmmm, the last one should be ab\x5ccd
09:33 baest pmichaud: I'm not sure I understand why /'ab\\yz'/ matches ab\x5cyz, seems like it gets translated to something weird in perl6regex/01-regex.t. Now /"ab\\cd"/ matches ab\cd, but not ab\x5ccd
09:33 omega http://gist.github.com/97991 <-- I get that trying to make latest rakudo master (I pulled 5min ago, ran perl Configure.pl --gen-parrot, which built a new parrot), and then gmake
09:34 masak omega: :/
09:35 baest omega: builds at my machine
09:35 baest not that that helps
09:40 Schnueff joined #perl6
09:41 masak omega: I'd say this happens sometimes.
09:41 masak omega: try doing 'git reset --hard HEAD^' until it compiles.
09:51 baest masak++ # for saving my day by explaining that yz is not hexidemical :)
09:52 masak :)
09:52 masak it's those little things that always gets us.
09:52 baest indeed
09:52 masak mberends++ and I are up to here in little things right now.
09:52 frettled heh
09:52 * masak holds hand above head
09:53 masak we hope to be able to bring all the little things together into a useable Rakudo patch.
09:53 masak we seriously want this.
09:53 masak Tene++ bacek++ cosimo++ for providing the groundwork.
09:55 sjn pictures at 12:30? raise your hand to vote
09:55 sjn o/
09:56 frettled oh, here too?  /o\
09:57 masak sure, 12:30 is fine.
09:58 bacek who woke me up???
09:59 mberends bacek: hi, masak and I are doing the server bits of IO::Socket and IO::Socket::INET for Rakudo Setting
09:59 omega masak: I had to gmake clean first
09:59 masak bacek: \o/ preved!
10:00 baest pmichaud: you've got patch mail
10:00 bacek masak: preved!
10:00 baest omega: I do that every time, just to make sure
10:00 bacek mberends: how is going with server side?
10:01 omega baest: yeah, I just keep forgetting since I seldom do compiled work
10:01 mberends some intermediate tests work, there is refactoring to do and then the S32 specified objects and methods.
10:05 Guest29693 joined #perl6
10:07 jnthn We can haz Rakudo web server?! :-)
10:07 masak jnthn: this is... nontrivial. but we're working on it.
10:07 mberends jnthn: don't be too impatient!
10:07 presh joined #perl6
10:08 frettled mberends: so it won't be done in time for the group photo?  :D
10:08 masak frettled: probably not. :)
10:08 frettled masak: darnit :)
10:08 masak frettled: why, you need it that badly?
10:09 frettled masak: well, I have this video streaming server written in Rakudo that needs a web server...  ;) ;)
10:09 masak o_O
10:09 frettled hey, the smileys are there for a reason.
10:09 masak indeed.
10:09 masak my reaction was a smiley too. ;)
10:10 araujo joined #perl6
10:19 masak jnthn: ping
10:21 moritz_ masak: you pinged me yesterday?
10:23 moritz_ pmichaud: in r26263, does the #!rakudo have any meaning?
10:23 pmichaud it's just a comment -- I forgot to remove the line after unfudging it.
10:23 pmichaud feel free to remove the line.
10:23 moritz_ ok
10:24 baest pmichaud: you have a quick hint of how to do \n \r and stuff in /"\n"/ in pge?
10:26 pugs_svn r26265 | szabgab++ | start creating a CPAN package from the smartlinks.pl script
10:32 mikehh rakudo (0dfcf49) builds on parrot r38204 - make test/make spectest PASS on Ubuntu Intrepid i386
10:32 frettled So, er, hmm, where is Matt's blog?
10:32 frettled (and shouldn't I be downstairs taking your pictures?  woops.(
10:34 kate21de joined #perl6
10:39 pmichaud baest: sure, I do.
10:41 cosimo joined #perl6
10:48 masak moritz_: I've forgotten what about. :/
10:48 masak the density of events is just too large right now.
10:49 masak and sleep too scarce.
10:49 mberends cosimo: hi, we're continuing with listen(), accept() and so on :)
10:54 ihrd rakudo: my $foo = { "Yay" }; say $foo(foo => 'bar');
10:54 p6eval rakudo 0dfcf4: OUTPUT«FixedIntegerArray: index out of bounds!␤current instr.: '_block21' pc 108 (EVAL_17:54)␤»
10:55 ihrd rakudo: my $foo = { "Yay" }; say $foo(1);
10:55 p6eval rakudo 0dfcf4: OUTPUT«Yay␤»
10:55 ihrd aha, first looks like rakudobug
10:55 jnthn yeah but already known/ticketed
10:56 masak oh, I completely missed that one.
10:56 * masak rubs eyes
10:56 Maghnus joined #perl6
10:56 mikehh_ joined #perl6
10:56 jnthn masak: did ma patch help?
10:56 jnthn Or not tried yet?
10:57 masak jnthn: remaking parrot.
10:58 jnthn :-)
10:59 cosimo mberends: cool
10:59 iblechbot joined #perl6
10:59 masak rebuilding rakudo.
11:00 masak jnthn: yah, it helped.
11:00 masak running spectests.
11:00 pugs_svn r26266 | szabgab++ | moving some of the sub of smarlinks.pl to the Smart::Links module
11:02 pasteling "mberends" at 87.238.46.195 pasted "RFC: S32 - Temporal Proposed Time::Absolute specification :)" (148 lines, 6K) at http://sial.org/pbot/36073
11:02 masak mberends: this looks really worthwhile. I think it's time we supported quantum mechanics in our Temporal class.
11:03 pugs_svn r26267 | jnthn++ | [t/spec] Tests for subtyping of roles within the type parameters.
11:04 jnthn 17 new tests we're about to pass :-)
11:04 masak one error in t/spec/S03-junctions/basic.t -- is that one known?
11:05 jnthn no
11:06 pmichaud no, probably not known.  Might be something the patch breaks.  :-(
11:06 jnthn and likely related to the patch...
11:06 masak I'll try without it as well.
11:06 barney hydrogen at absolute 0 is a bit inpractical,
11:07 masak barney: I agree fully. I normally ingest it at higher temperatures.
11:08 mberends barney: the hydrogen in pizza is easier to handle too :)
11:08 barney Of course the drift of fundamental constants needs to be parametized
11:09 mberends barney: I forgot about that. sorry.
11:15 alanhaggai joined #perl6
11:19 ihrd jnthn:  I just trying to find RT ticket for this bug, but search have no result for 'FixedIntegerArray' at all
11:20 masak ihrd: submit a new one just in case.
11:20 ihrd RT Search works? I was find other tickets in mail be this key word
11:21 masak RT Search works, as far as I know.
11:22 jnthn ihrd: oh, I thought you meant the second one...missed the first paste
11:24 ihrd jnthn: ok, I will send rakudobug
11:26 moritz_ rakudo: use Num :Trig; say atan(2)
11:26 p6eval rakudo 0dfcf4: OUTPUT«1.10714871779409␤»
11:26 moritz_ rakudo: say atan(2)
11:26 p6eval rakudo 0dfcf4: OUTPUT«1.10714871779409␤»
11:27 mjk joined #perl6
11:29 jnthn I think they are not marked :Trig yet?
11:30 mberends pizza alert!
11:30 moritz_ presumably
11:30 pugs_svn r26268 | moritz++ | [t/spec] remove disabled fudge line; make sure that we compare Strs (and not Matches) with Strs
11:30 pugs_svn r26269 | moritz++ | [t/spec] unfudge a line for rakudo
11:30 moritz_ jnthn: but it should be fixable
11:30 nsh joined #perl6
11:31 masak jnthn: after upgrading parrot, the t/spec/S03-junctions/basic.t error persists. :/
11:31 rblasch joined #perl6
11:33 moritz_ I think Configure.pl should check if the current parrot is too old, and warn - even if not run with --gen-parrot
11:52 masak moritz_: +1
11:52 moritz_ any takers on the hackathon?
11:52 moritz_ ;-)
11:53 masak jnthn, pmichaud: ok, so the results are in. only one testfile fails. it's not the one we thought.
11:53 masak ...which explains why we couldn't reproduce from the cmdline.
11:53 masak it's t/spec/S03-junctions/autothreading.rakudo
11:54 moritz_ what are you trying to do?
11:56 baest moritz_: it could also warn when parrot is too new
11:57 moritz_ baest: I don't think that helps very much
11:58 baest moritz_: I would think that a few problem could arise that way and it should bevery trivial to check if the reverse is checked. Newer parrot could also break the spectest or even rakudo
12:08 PhatEddy joined #perl6
12:24 kidd joined #perl6
12:28 PacoLinux joined #perl6
12:32 ihrd rakudo: multi foo (@a, %h?) { say 1 }; multi foo ($a) { say 2 }; foo(<1 2>);
12:32 p6eval rakudo 0dfcf4: OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:(Positional.new() @a, Associative.new() %h?)␤:(Any $a)␤␤current instr.: '_block14' pc 94 (EVAL_16:51)␤»
12:32 hanekomu joined #perl6
12:33 ihrd why it is ambiguous here?
12:36 moritz_ a list can be bound to a scalar as well... but i think the list should be preferred
12:36 moritz_ s:2nd/list/array/
12:38 ihrd I think the same way, this is what I mean
12:38 ihrd rakudo: multi foo ($a) { say 1 }; multi foo (@a) { say 2 }; foo(<1 2>);
12:38 p6eval rakudo 0dfcf4: OUTPUT«2␤»
12:39 ihrd and this work, when arity the same
12:39 ihrd but I think it is should work in first example too
12:40 moritz_ maybe a not provided optional argument counts the same as a type match?
12:40 moritz_ lunch &
12:42 ihrd left #perl6
12:58 jnthn "refusing to pull with rebase: your working tree is not up-to-date"
12:58 jnthn ^ whoever cares
12:58 jnthn that's what git pull --rebase gets me
13:00 masak jnthn: and 'git status' is clean?
13:01 jnthn no, I have local uncommitted too
13:02 masak jnthn: don't. 'git stash'
13:02 jnthn can't be arsed ;-)
13:02 masak git stash is like one command. :)
13:02 jnthn But yes, that'd have been a way.
13:02 jnthn yeah but svn ci was one command under svn :-P
13:02 masak jnthn: is the above ambiguity (which moritz_ and ihrd discussed) in order?
13:02 dalek rakudo: cc6b141 | jnthn++ | src/parser/actions.pm:
13:02 dalek rakudo: our T sub foo() { ... } form of setting the return value now akshually sets it.
13:02 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/cc6b1411908564aa814c61babd780e21c74ae6b4
13:02 dalek rakudo: 25f7728 | jnthn++ | :
13:02 dalek rakudo: Merge branch 'master' of git@github.com:/rakudo/rakudo
13:03 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/25f7728ad466eef6de0dcce78cc71c87b7fb66dd
13:03 dalek rakudo: d803a10 | jnthn++ | src/classes/Role.pir:
13:03 dalek rakudo: Implement subtyping based on role parameters, so now Positional[Int] ~~ Positional[Num], for example.
13:03 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d803a1056a032c688d4030ab64539e0ea678bbcd
13:03 dalek rakudo: df86625 | jnthn++ | t/spectest.data:
13:03 dalek rakudo: Mark a test that needs ICU as such, and add S12-role/parameter-subtyping.t.
13:03 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/df866252af41ed14fdbdfe3878f1d33129a6b1ff
13:03 masak jnthn: git gives you more granularity. you can build a workflow so that you don't use that granularity. but I find it's very nice to have at times.
13:03 jnthn I suspect that one may be more about the arity and the optional rather than sigil based stuff...
13:04 masak ok.
13:04 mib_sau8miyp joined #perl6
13:05 pugs_svn r26270 | jnthn++ | [t/spec] Unfudge some tests for different forms of specifying the return value, and add a copule too.
13:05 azawawi joined #perl6
13:05 azawawi hi
13:05 szabgab hi
13:06 jnthn rakudo: multi foo (@a) { say 1 }; multi foo ($a) { say 2 }; foo(<1 2>)
13:06 p6eval rakudo 25f772: OUTPUT«1␤»
13:06 azawawi szabgab: cool :)
13:06 jnthn yeah, that works
13:06 jrockway heh, that look a lot like perl 5 :)
13:07 jrockway (with MX::MultiMethods :)
13:08 jnthn my @arr[3](-->Num) = <1 2.1 3.2>;
13:09 jnthn std: my @arr[3](-->Num) = <1 2.1 3.2>;
13:09 p6eval std 26269: OUTPUT«ok 00:02 35m␤»
13:10 masak jnthn: what does that do?
13:11 jnthn well, give a type check error at best ;-)
13:11 masak jnthn: are you about to commit the parrot patch, by the way?
13:11 jnthn I think whoever wrote the test with it in expects it to be the same as my Num @arr[3]
13:12 masak jnthn: I think I'd expect that, too.
13:12 jnthn I'm asking if we really need yet another way to specify a typed array.
13:12 jnthn And if we can kill the syntax. ;-)
13:12 masak :)
13:12 jnthn my Num @arr and my @arr of Num is already two ways...
13:12 masak it does look a bit superfluous...
13:13 jnthn Parrot patch - I can do that now.
13:13 pnu rakudo: my Num $x = +"xx"; say $x
13:13 p6eval rakudo 25f772: OUTPUT«0␤»
13:13 pnu should that throw an exception?
13:13 pmichaud no.
13:14 jnthn masak: Did you run the Parrot tests too btw?
13:15 masak jnthn: nope.
13:15 masak should I? :)
13:15 * masak runs them
13:15 jnthn yeah, probably will be faster on your laptop than mine ;-)
13:15 * masak 's laptop smiles
13:16 pnu rakudo: my Int $x = +"xx"; say $x
13:16 p6eval rakudo 25f772: OUTPUT«Type mismatch in assignment.␤current instr.: 'die' pc 17309 (src/builtins/control.pir:225)␤»
13:16 pnu pmichaud: and that..?
13:16 masak pnu: it coerces to a Num at present.
13:17 pmichaud pnu:  what masak just said :)
13:17 pnu ok
13:17 pmichaud right now string numification always returns a num
13:17 * masak does not want
13:17 masak but you know that already. there's an RT ticket. :)
13:18 pmichaud to fix that, we have to start actively working around parrot's numification semantics (more than we already do)
13:18 pnu i guess int is not the narrowest APPROPRIATE type at the moment.. :-)
13:18 masak jnthn: I see a few failures in the parrot tests. are they all supposed to pass?
13:18 pmichaud well, we'd be disappointed if  +"3.14"  returned 3.
13:19 jnthn heh, who knows ;-)
13:19 jnthn Actually though
13:19 jnthn If they're not related to P6Object...
13:19 masak jnthn: oh, sorry. all tests successful.
13:19 masak I must have misread the scrollage.
13:20 masak jnthn: so, plz commit! :)
13:20 masak kthxbai.
13:21 azawawi joined #perl6
13:21 jnthn masak: comitted!
13:21 pugs_svn r26271 | szabgab++ | move the javascript code into a separate file called smartlinks.js
13:21 masak jnthn++
13:22 azawawi hi masak :)
13:22 masak azawawi: OH HAI
13:22 masak azawawi: how's life?
13:23 azawawi masak: getting better by the second :)
13:24 masak azawawi++
13:24 * azawawi is off to upgrade Syntax::Highlight::Perl6 :)
13:24 masak yay!
13:25 pugs_svn r26272 | jnthn++ | [t/spec] More tests for parametric subtyping.
13:30 pnu Since +"xx" == +"0" == 0, how should I find the difference .. I'm trying to validate user input without using my own regexp for that.
13:34 pmichaud how do you mean "find the difference"?
13:34 pmichaud you want to verify that you have an integer, or ...?
13:35 baest it is possible to have something like $I0 = $S0 == 'x' || $S0 == 'y'?
13:35 baest in parrot
13:35 baest in pir even
13:36 pnu pmichaud: yes, i'm trying to verify that the Str is parsable as a Num.
13:37 PhatEddy left #perl6
13:38 pmichaud pnu:  you could try    /<Perl6::Grammar::dec_number>/
13:38 pmichaud which ends up using the grammar's definition of what counts as a number
13:38 pmichaud baest: no, what you describe has to be broken out into separate steps
13:39 baest pmichaud: ok, yes that's what I did, but I hoped for a pretty solution. Oh well
13:40 pnu pmichaud: ok, thanks. dec_number matches everything that can be stored in a Num without losing information?
13:40 pmichaud it's what Rakudo uses to determine a valid number, yes.
13:40 pmichaud It's also likely to be what Rakudo uses to convert a string to a number.
13:45 pnu pmichaud: isn't Perl6::Grammar::number more appropriate for a Num? and ..::integer for a Int?
13:48 frettled Group photos from today: http://howcaniexplainthis.blogspot.com/
13:49 LylePerl joined #perl6
13:51 masak jnthn, pmichaud: we have a patch ready, we think. but running 'perl Configure; make' gives us this error when making gen_setting.pir: Method 'join' not found for invocant of class 'ResizablePMCArray'
13:52 masak is that a bad sign? or are we missing something vital?
13:52 Whiteknight joined #perl6
13:54 masak frettled++ # http://howcaniexplainthis.blogspot.com/
13:57 pugs_svn r26273 | szabgab++ | start turning the Smart::Links into a class
14:01 masak http://en.wikipedia.org/wiki/Emanuel_Vigeland # for those who went along to the mausoleum
14:02 pugs_svn r26274 | szabgab++ | fix test for Smart::Links
14:07 pnu Let's say i have $x='foo' how do i call foo() -- i recall there was a syntax like $x.() or something but can't find it now.
14:07 moritz_ for methods it works with $object.$x()
14:08 moritz_ for subs... don't know. eval?
14:08 moritz_ or maybe ::$x() ?
14:10 justatheory joined #perl6
14:11 moritz_ rakudo: sub foo { say "bar }; my $x = 'foo'; $x()
14:11 p6eval rakudo df8662: OUTPUT«say requires an argument at line 1, near " \"bar }; m"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
14:11 jferrero joined #perl6
14:11 moritz_ rakudo: sub foo { say "bar" }; my $x = 'foo'; $x()
14:11 p6eval rakudo df8662: OUTPUT«invoke() not implemented in class 'Perl6Str'␤current instr.: '_block14' pc 84 (EVAL_17:49)␤»
14:12 moritz_ rakudo: sub foo { say "bar" }; my $x = 'foo'; ::$x()
14:12 p6eval rakudo df8662: OUTPUT«ResizablePMCArray: Can't pop from an empty array!␤current instr.: 'parrot;Perl6;Grammar;Actions;typename' pc -4425070 ((unknown file):-1)␤»
14:12 moritz_ that looks a bit like a bug
14:12 * moritz_ summons masak
14:12 pugs_svn r26275 | szabgab++ | stop exporting functions from Smart::Links
14:12 moritz_ rakudo: sub foo { say "bar" }; my $x = 'foo'; eval $x
14:12 p6eval rakudo df8662: OUTPUT«bar␤»
14:14 pnu hmh.. self.$x() might work for me.. eval seems evil.
14:15 pnu i'm writing a test suite and would like to pull the method names from a table.
14:15 masak moritz_: oh hai.
14:15 * masak submits
14:16 moritz_ pnu: I'd use eval for that... it's OK when you trust your data source, which you seem to do
14:16 pugs_svn r26276 | lwall++ | [extract_pghpw.t] missing paren
14:17 pnu moritz_: yea, or i could use code refs
14:18 moritz_ pnu: or that, yes
14:18 pnu i just recall there _was_ a syntax, so ::$x() is it but broken?
14:19 moritz_ don't know, you'd have to check the specs
14:19 moritz_ most likely S02
14:20 TimToady for a real code ref &$x() works
14:21 dalek rakudo: 4a11dd5 | pmichaud++ |  (2 files):
14:21 dalek rakudo: Allow 'dumper' option to pick dump style.
14:21 dalek rakudo: Bump PARROT_REVISION.
14:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4a11dd5b9db83229ab98a733ca332ac7754c96fa
14:21 TimToady for a symref, you have to use &::($x)() or some such
14:22 pugs_svn r26277 | jnthn++ | [spec] Tidying up, removing duplication and filling out S14.
14:23 moritz_ rakudo: sub foo { say "bar" }; my $x = 'foo'; &::$x()
14:23 p6eval rakudo df8662: OUTPUT«Syntax error at line 1, near "&::$x()"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
14:23 moritz_ rakudo: sub foo { say "bar" }; my $x = 'foo'; &::($x)()
14:23 p6eval rakudo df8662: OUTPUT«Syntax error at line 1, near "&::($x)()"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
14:24 pugs_svn r26278 | szabgab++ | move add_link to the class
14:25 pnu ..that would be nice to have.
14:25 moritz_ pnu: feel free to open a TODO ticket
14:26 masak I've done stuff like that. I used eval. it's a workaround, but it was sufficient.
14:26 masak but yes, TODO ticket.
14:26 pugs_svn r26279 | cosmicnet++ | added spec test for $*CWD
14:26 masak tickets are a way of saying "I care".
14:27 masak LylePerl++
14:27 LylePerl That's the first Spec test to use inline parrot Q:PIR
14:28 masak :)
14:28 masak arguably, spec tests shouldn't.
14:28 moritz_ LylePerl: that's not a good idea, because they are not portable
14:28 moritz_ among implementations, that is
14:28 masak right.
14:28 LylePerl ah
14:28 LylePerl oops
14:28 moritz_ there's something you can do, however
14:28 masak LylePerl: what's the Q:PIR used for in this case?
14:29 LylePerl Is there a way to make the test run only if it's Rakudo?
14:29 moritz_ you can write a Perl 6 version, fudge it by preceeding it with #?rakudo emit #
14:29 moritz_ and write a #?rakudo emit $yourversionhere line
14:29 LylePerl masak: To check Rakudo's $*CWD matches parrots
14:29 pnu masak, moritz_: Ok, i'll open that ticket if I find the spec. Or i just quote TimToady. :-)
14:30 masak LylePerl: ah. well, what moritz_ said.
14:30 masak pnu: the latter is faster. :)
14:30 moritz_ LylePerl: that's nothing you should care about, from a language perspective
14:30 moritz_ LylePerl: it might be better chdir somehwere, and then check $*CWD if it matches
14:31 hanekomu joined #perl6
14:31 LylePerl moritz_: I was trying not to depend on chdir... oh well, at least I learned something
14:31 pugs_svn r26280 | szabgab++ | Smart::Links broken_link_count
14:32 moritz_ LylePerl: the tests assume that the current working directory is above t/spec/, so you could check if "$*CWD/t" exists, or so
14:34 masak I swear I wasn't doing a disco dance in the second picture on http://howcaniexplainthis.blogspot.com/2009/04/group-photos.html , but I admit it sure looks that way.
14:37 masak jnthn: 'Why yes, "OMFG" is a correct response to this hack.' :P
14:38 moritz_ who's the one on the right, on the second picture?
14:38 LylePerl moritz_: Could I use #?rakudo emit =begin <code....> #?rakudo emit =end
14:38 masak moritz_: baest.
14:38 nihiliad joined #perl6
14:39 moritz_ LylePerl: no
14:39 jnthn masak: Yeah, it's a hack alright.
14:39 masak :)
14:40 moritz_ LylePerl: you need at least a label after =begin and =end
14:41 masak I'll see what I can do to improve it.
14:41 pmichaud rakudo-specific tests don't belong in spectests
14:41 LylePerl moritz_: Think I've found a bug in S05-modifier/ignorecase.t
14:41 pmichaud spectests should test language features that are part of the spec.
14:42 LylePerl mortiz: it uses that syntax... unless I'm missing something else
14:42 LylePerl pmichaud: ok, I'll take it out
14:42 moritz_ LylePerl: I think that testing for the existance of  "$*CWD/t" might be a good alternative
14:43 pmichaud if we're testing something that really needs a rakudo-specific test, we can put it in rakudo's t/00-parrot directory or something similar.
14:43 pmichaud but better is to just have the generic Perl 6 tests.
14:45 pugs_svn r26281 | moritz++ | [t/spec] improve fudging of ignorecase.t, LylePerl++
14:45 pugs_svn r26282 | baest++ | Updating specs with Larrys clarification of whether space in /< abe>/ is optional
14:45 pugs_svn r26283 | szabgab++ | Smart::Links move error method
14:45 moritz_ szabgab: do you "just" refactor the smart links, or do you also want to add missing features?
14:46 szabgab both
14:46 szabgab I hope
14:46 moritz_ good ;-)
14:46 pugs_svn r26284 | moritz++ | [S28] $*INC should be @*INC, I hope
14:46 szabgab and would like to release to CPAN
14:47 moritz_ currently the S32 documents are unlinkable, and don't produce HTML copies
14:47 szabgab to make it usable for any project with pod and test
14:48 szabgab I add this as TODO to the smartlinks.pl file
14:48 baest how often is the spec built?
14:48 moritz_ the html files? hourly, I think
14:48 baest moritz_: thanks
14:49 cosimo left #perl6
14:50 moritz_ 01 * * * * nice -n5 /home/agentzh/update-syn
14:50 pugs_svn r26285 | cosmicnet++ | replaced rakudo specific spec test
14:50 moritz_ from agentzh's crontab
14:51 masak moritz_: right! now I remember my question to you: it was about smartlinks. how up-to-date are the smartlinks that are in the spectests?
14:51 baest moritz_: even more thanks :)
14:52 moritz_ masak: before the big S32 refactor, all of them worked (ie found a target)
14:52 masak ah.
14:52 moritz_ masak: now most S32 tests still point to S29, and are broken... but since linking to S32 doesn't work yet, I haven't found the motivation to fix them
14:53 masak jnthn: I now have a patch that handles :: right in build/gen_setting_pm.pl -- but that made the 'join' error return during build. :/
14:53 masak (i.e. it works without the fix, but breaks with it)
14:53 masak moritz_: I see. makes sense.
14:59 szabgab moritz_, can you check pls if Class::Accessor is installed on that machine ?
15:00 moritz_ ii  libclass-acces 0.31-2         Automated accessor generator
15:00 szabgab thanks
15:00 moritz_ np
15:00 pugs_svn r26286 | szabgab++ | Smart::Links start using Class::Accessor and move the $check to the class
15:02 masak jnthn: http://gist.github.com/98094
15:03 dalek rakudo: 6161852 | (Carl Masak)++ | src/setting/IO/Socket (2 files):
15:03 dalek rakudo: added server bits to IO::Socket::INET
15:03 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/61618521b40cb4853c69f5bb73fb6a23326ffd0b
15:16 LylePerl For string interpolation, what's the p6 equiv of "dir${sep}folder" where the variable is called $sep?
15:18 baest literal: "dir{$sep}folder"
15:19 baest LylePerl: ^^
15:19 LylePerl baest: that did it, thanks :)
15:20 baest LylePerl: {} is a closure so you can just about anything inside there
15:21 skids joined #perl6
15:22 pugs_svn r26287 | cosmicnet++ | added chdir spec test
15:24 dalek rakudo: f03edcc | (Carl Masak)++ | src/builtins/control.pir:
15:24 dalek rakudo: [src/builtins/control.pir] switched to op form of join
15:24 dalek rakudo: The method form is in the setting, and not accessible at this early stage.
15:24 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f03edcc0b0ec48819a1d576fcc5d575c19f3660c
15:24 dalek rakudo: c271e16 | (Carl Masak)++ | build/gen_setting_pm.pl:
15:24 dalek rakudo: [build/gen_setting_pm.pl] added support for multi-jointed type names
15:24 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c271e16392faecf04f9d20e55563433eb44cda42
15:25 FurnaceBoy joined #perl6
15:27 cspencer joined #perl6
15:28 pugs_svn r26288 | lwall++ | [repeat.t] ** is not allowed on an already quantified atom
15:34 pnu rakudo: my $foo=1; eval "$foo+=1"; say $!
15:34 p6eval rakudo c271e1: OUTPUT«Unable to set lvalue on PAST::Val node␤»
15:35 cspencer can i define a subroutine signature that will do something although the lines of: sub foo(Num $x where $x ~~ one(10|13|39)) { say "x was $x" }
15:35 cspencer ie) the signature will enforce $x being one of 10, 13 or 39?
15:36 skids specwise yes, and some of the where stuff was working for a while, then not so well, but maybe now it is better.
15:36 skids though IIRC where needs curlies?
15:36 frettled yesterday, we discussed how to do this with parametric subtypes, jnthn is the right guy for this >:->
15:37 cspencer do you recall what S\d\d this was in?
15:37 * skids looks
15:37 masak joined #perl6
15:39 cspencer ah, okay, you were right - the where block just needed the curlies :)
15:39 cspencer it parses and works as expected with them - thank you!
15:39 skids S02 "polymorphic types" has a short bit.  I think there's a longer bit on it elsewhere.
15:39 skids np.
15:40 jnthn rakudo: sub foo($x where one(10,20,30) { say "ok" }; foo(10); foo(1);
15:40 p6eval rakudo c271e1: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 1, near "{ say \"ok\""␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:85)␤»
15:40 masak pnu: did you see your error in that evaluation?
15:40 jnthn rakudo: sub foo($x where one(10,20,30)) { say "ok" }; foo(10); foo(1);
15:40 p6eval rakudo c271e1: OUTPUT«ok␤Parameter type check failed for $x in call to foo␤current instr.: 'die' pc 17428 (src/builtins/control.pir:225)␤»
15:40 jnthn You can do it like that without the curlies too :-)
15:40 masak rakudo: my $foo = 1; eval '$foo += 1'; say $!
15:40 p6eval rakudo c271e1: OUTPUT«Use of uninitialized value␤␤»
15:40 masak rakudo: my $foo = 1; eval '$foo += 1'; say $foo
15:40 p6eval rakudo c271e1: OUTPUT«2␤»
15:41 skids Oh right where without curlies is smart match, right?
15:41 jnthn Right.
15:41 jnthn It must makes it into a { $_ ~~ ... }
15:42 jnthn *just
15:42 frettled useful instead of a bother
15:43 pugs_svn r26289 | lwall++ | [e.t] e is not a function
15:44 jnthn rakudo: say Positional[Int] ~~ Positional[Num]
15:44 p6eval rakudo c271e1: OUTPUT«1␤»
15:44 jnthn woo
15:44 pnu masak: i would like to modify the variables in the callers environment, but i guess that's a feature (that you can't)?
15:45 masak pnu: no, you can.
15:45 frettled Blimey, I already have a user on github, I just forgot it.  AND I got my old unix user name
15:45 masak pnu: the problem was that you used double quotes.
15:45 pnu ah, ok.
15:45 masak pnu: because then $foo is interpolated as 1.
15:45 masak and you can't += a literal.
15:46 pnu very reasonable
15:46 masak indeed.
15:46 moritz_ \$foo maybe?
15:46 * moritz_ doesn't really know what you are talking about, just guessing
15:46 masak moritz_: or just single quotes :P
15:46 * masak prefers to default to single quotes, and only use the double quotes when interpolation is needed
15:47 * skids has been trying to get into that habit for years now :-)
15:47 frettled masak++
15:48 baest masak: yeah, me to. It should be faster as well (not that it's important at all) since less parsing is necessary
15:48 masak I'm a bit OCD-y about it, actually. I've been known to demote "" strings to '' strings when they lost their variable or \n.
15:48 cosimo joined #perl6
15:48 Psyche^ joined #perl6
15:48 masak baest: also, I print with commas instead of string concatenation. it just feels saner.
15:49 masak it's not premature optimisation, it's just a preference.
15:49 masak I don't want the computer to spend its life concatenating strings.
15:49 baest masak: I'm beginning to do that as well (commas)
15:49 moritz_ it's not easy when you come from a C/C++ background and '' denotes characters, not strings ;-)
15:50 pugs_svn r26290 | lwall++ | [STD] delete extrapost and affix contextuals
15:50 pugs_svn r26290 | lwall++ | [viv] remove S_\d\d\d from VAST classnames for mangled names
15:50 pugs_svn r26290 | lwall++ | [viv] beginning of --p5 output, translates @foo[<a b c>] to $foo[qw<a b c>]
15:50 skids hrm does infix ~ return a string or a Cat?
15:50 moritz_ a Str
15:50 baest well I don't think getting used to using the more efficient way of doing things (when readability is the same) is premature optimization. Just being nice
15:50 masak moritz_: for me it's the other way around. I tend to do '' in Java when I mean an ordinary string.
15:51 baest moritz_: even though I wrote C++ before Perl, I have problems in C++ now since a put all strings in single quotes :)
15:51 baest masak: oh, should have read your comment, apparently we agree
15:51 moritz_ masak: yes, it's the same for me now
15:52 moritz_ walk &
15:59 skids is it kosher to have a parameter (@list) given "list" is a builtin?  I'm still not clear as to when or if that might cause problems.
16:00 masak skids: it's kosher.
16:01 masak skids: having sigils just makes such problems go away.
16:01 skids I figured but was then like "you know there might be some esoteric way to get into trouble here"
16:01 skids :-)
16:02 masak jnthn: we didn't bump the Parrot version, did we? :)
16:02 masak people over here are experiencing Parrot build problems.
16:03 * skids had to rebuild parrot this morning after an update.
16:03 skids for a GMT-5 definition of morning
16:04 masak skids: well, saying $.attr and @.attr will call the same accessor, but will (I think) present the returned value differently.
16:04 skids Yeah, that I noticed.  I forgot if raw $!attr was also affected.
16:05 masak skids: no, don't think so.
16:06 masak those are just normal (instance-scoped) storage locations.
16:06 justatheory joined #perl6
16:07 skids That reminds me of a question of mine.
16:08 skids Suppose you have class X is int16 { #other attribs, methods }
16:08 skids Is there a way to repoint the base int16 at another memory location.
16:09 skids e.g. for attributes, you could overload := to := the attribute PMC.
16:09 cosimo is there any known problem with t/spec/S03-operators/assign.t ? seems to hang for me on win32
16:09 skids But for the "self"?
16:09 masak skids: I'd recommend using composition there instead of inheritance.
16:10 masak rakudo: class A { has $.x := 42 }; say A.x
16:10 p6eval rakudo c271e1: OUTPUT«Use of uninitialized value␤␤»
16:10 masak is this a bug?
16:10 skids I think a not-implemented-yet.
16:11 masak maybe I should make it a forget-me-not by submitting a TODO ticket.
16:11 skids Actually I'm not entirely clear pseudo-:= is specced to work, but I think it may not work even if done later in a method.
16:13 skids It'll probably get a look when the accessors and raw access get another smack with the "ye shall now work" stick.
16:13 masak rakudo: class A { has $.x; method foo { $!x := 42 } }; my $a = A.new; $a.foo; say A.x
16:13 p6eval rakudo c271e1: OUTPUT«Null PMC access in set_attr_str()␤current instr.: 'parrot;A;foo' pc 250 (EVAL_20:99)␤»
16:14 * masak submits rakudobug
16:26 pmichaud rakudo:  say "\c[INFINITY NEGATED WITH VERTICAL BAR]"
16:26 p6eval rakudo c271e1: OUTPUT«⧞␤»
16:26 pmichaud rakudo:  say "\c[FINITE]"
16:27 p6eval rakudo c271e1: OUTPUT«perl6regex parse error: Unrecognized character name FINITE at offset 8, found 'F'␤current instr.: 'parrot;PGE;Perl6Regex;parse_error' pc 10792 (compilers/pge/PGE/Perl6Regex.pir:1367)␤»
16:28 masak rakudo: say "\c[Unrecognized character]"
16:28 p6eval rakudo c271e1: OUTPUT«perl6regex parse error: Unrecognized character name Unrecognized character at offset 8, found 'U'␤current instr.: 'parrot;PGE;Perl6Regex;parse_error' pc 10792 (compilers/pge/PGE/Perl6Regex.pir:1367)␤»
16:28 masak rakudo: say "\c[Unrecognized character name]"
16:28 p6eval rakudo c271e1: OUTPUT«perl6regex parse error: Unrecognized character name Unrecognized character name at offset 8, found 'U'␤current instr.: 'parrot;PGE;Perl6Regex;parse_error' pc 10792 (compilers/pge/PGE/Perl6Regex.pir:1367)␤»
16:29 mberends joined #perl6
16:29 masak :)
16:30 mberends masak: OH HAI from Oslo Torp airport :)
16:30 masak mberends: \o/
16:30 mberends Oslo++
16:30 mberends howzit with the Socket?
16:30 masak mberends: so, Rakudo can haz socket patch, and I've pushed the changes in Web.pm.
16:30 mberends masak++
16:31 masak now I'm kind of in a blissfull daze, just writing an email to parrot-dev.
16:31 alanhaggai joined #perl6
16:31 mberends :) time for some serious blogging. Give some to mst++
16:32 mberends WTOP = World Take Over Plan, but keep it sekrit.
16:32 masak :D
16:32 mberends oops, this is not private :(
16:33 * masak does jedi wave
16:33 masak #perl6 you did not hear that.
16:33 mberends :)
16:34 * masak patches wtop README to say "wtop does _not_ stand for World TakeOver Plan"
16:37 * mberends will re-gerenarate ideas and constraints list for proto database
16:38 mberends *re-regenerererate
16:39 masak mberends: sounds good.
16:39 masak in my last hour here, I will focus on the ops idea.
16:40 masak 'fudo' -- Fake User-Defined Operators.
16:41 mberends :D
16:44 LylePerl masak: I've been battle with git... I've finally got my fork with the $*CWD and chdir features
16:44 masak LylePerl: battling with git is expected in the beginning.
16:45 LylePerl masak: I think I've made the pull request properly on github (recipient rakudo) can you confirm?
16:45 moritz_ LylePerl: please submit patches via RT, not via the fork queue
16:45 LylePerl masak: git is an appropriate name :)
16:45 masak LylePerl: I don't know if I can. I'll check.
16:46 masak moritz_: I think I might have told LylePerl that pull requests were an appropriate way. aren't they?
16:46 moritz_ masak: I don't think that pmichaud or jnthn check the fork queue, at least I don't
16:46 masak oh. I didn't know that.
16:47 masak LylePerl: unless you have yet another username, I don't see you on http://github.com/rakudo/rakudo/forkqueue
16:48 LylePerl moritz_: to perl6.compiler@perl.org or rakudobug@perl.org?
16:48 masak the latter, I'd guess.
16:48 masak then it ends up in RT.
16:50 LylePerl masak: I can't see that page. I went onto http://github.com/cosmicnet/rakudo/tree/master and clicked pull request, then 'rakudo' as a recipient
16:50 masak pmichaud: I'm writing the parrot-dev email. what was the exact benefit of qx{} to the Parrot people again? something with checking PIR files...
16:50 masak LylePerl: should be sufficient. anyway, you might want to do the RT thing instead. sorry for misleading you earlier.
16:51 masak LylePerl: git can haz an email-patch subcommand.
16:51 masak or something.
16:52 LylePerl masak: I usually do patches with a diff -u... so you need special git patches?
16:53 mberends masak: there should be project whose name is 'mausoleum', but I cannot think what would deserve it.
16:53 masak mberends: let's let that one brew for a while.
16:53 cspencer LylePerl: git has a "git diff" command as well as a "git format-patch" which will preserve the commit messages
16:53 masak LylePerl: no, not really.
16:53 masak LylePerl: what cspencer said.
16:53 mberends masak: or decompose.
16:54 masak mberends: that one's for a music module, clearly.
16:54 mberends :-)
16:55 masak mberends: it would be nice to hook up a Perl 6 REPL to an independent process which played a music loop, and then just send new instructions to that process when new commands are issued. can that be done today?
16:57 cspencer so, i've moved the trig functions out of src/builtins/math.pir and into the Num class in the setting.  does putting them into src/setting/Num-trig.pm sound reasonable instead of cluttering up Num.pm itself?
16:57 cspencer (following along the lines of Any-*.pm, i suppose)
16:58 Guest29693 joined #perl6
16:59 cspencer also, in order to support conversion of degrees/gradians/revolutions to radians, i'd added a !convert-to-radians private method, but in order to make it available to both Int and Num, i'd put it in Any-num.pm, which i'm unsure is the correct thing to do...
17:00 payload joined #perl6
17:04 mberends masak: no more hacking today. /me flies o/
17:04 alester joined #perl6
17:05 mberends left #perl6
17:08 stas_ joined #perl6
17:12 nsh- joined #perl6
17:13 LylePerl ok, I've submitted the patch and updated my guide on the wiki. What's the average turn around for patches getting committed?
17:16 skids rakudo: my $f = \(1,2,3); $f.perl.say
17:16 cspencer LylePerl: it varies depending on how busy people are, but a couple days to a week-ish is probably the norm
17:16 cspencer (based on my experience, that is)
17:17 * skids taps foot
17:17 moritz_ cspencer: I'd go with Num.pm, but in the end it's pmichaud's decision
17:18 cspencer moritz_: alright, i'll put it in there for the time being.  Num.pm's not too crowded at the moment anyways...
17:18 * skids begins to worry about evalbot rlimit
17:18 skids rakudo: 1.say
17:19 cspencer perl6: 1.say
17:19 * skids haz kilt evalbot
17:20 p6eval rakudo c271e1: OUTPUT«maximum recursion depth exceeded␤current instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)␤»
17:20 p6eval rakudo c271e1: OUTPUT«1␤»
17:20 p6eval elf 26290, pugs, rakudo c271e1: OUTPUT«1␤»
17:20 skids there we go
17:32 nihiliad joined #perl6
17:38 ejs joined #perl6
17:38 pugs_svn r26291 | cspencer++ | Import required trig functions via "use Num :Trig"
17:51 szbalint g/win 1
17:51 szbalint nm
17:53 diakopter joined #perl6
18:02 diakopter feather/pugscode http/svn down temporarily... will be back shortly.
18:17 cspencer t/spec/S03-junctions/autothreading.t seems to be broken in rakudo HEAD for me...
18:18 cspencer or rather, rakudo breaks while running that particular set of tests :)
18:19 moritz_ cspencer: did you do a 'make parrot'?
18:19 cspencer i did, yes....
18:19 pugs_svn r26292 | lwall++ | Kill prefix:<=> very, very dead.
18:20 * moritz_ compiles parrot and rakudo, to check
18:20 cspencer i'm just checking out a previous version to see if it passes alright myself...
18:20 pugs_svn r26293 | lwall++ | [STD] Kill prefix:<=> even deader.
18:21 * skids wonders what replaces prefix:<=>
18:22 * moritz_ doesn't wonder, but reads the diff instead
18:25 pugs_svn r26294 | lwall++ | [STD] forgot to kill The Fish...
18:25 moritz_ it's .lines for getting all lines - but how do I get only the next one? $handle.lines[0]?
18:26 cspencer moritz: that's what's killing it?
18:26 TimToady .get
18:26 moritz_ TimToady: ok, thanks
18:26 TimToady alias @$handls works
18:26 TimToady grr
18:26 TimToady also @$handle works
18:27 moritz_ cspencer: I guess what's killing it is its clumsyness
18:27 moritz_ TimToady: so is 'unshift @$handle' the same as '$handle.get'?
18:27 TimToady well, the first indicator was when Gabor started his tutorial with my $x = =$*IN
18:28 TimToady moritz_: maybe, or $fh.unget perhaps
18:28 * skids will clean up S07 then.
18:28 TimToady the second indicator was when we starting trying to figure out laziness, and got all tangled in the semantics of =
18:28 moritz_ TimToady: erm yes, I meant shift, not unshift
18:29 TimToady well, but that might not modify the $fh iterator itself
18:29 M_o_C joined #perl6
18:30 TimToady and finally I decided that for something that gets used very visibly in scripts that are read by non-Perl programmers, lines() was much more intuitive than =<>
18:33 moritz_ the golfers will not be that happy... ;-)
18:33 TimToady we figured out that most golf programs will start with 'no g;'  :-)
18:34 TimToady which is one char shorter than 'use g;'
18:34 pugs_svn r26295 | skids++ | Hunt down last prefix:<=> survivor in S07 and exterminate
18:35 TimToady someone will need to fix the tests now...
18:35 TimToady but we're going to dinner...
18:36 TimToady bbl &
18:36 * moritz_ guesses who that "someone" might be ;-)
18:39 cspencer moritz: were you able to replicate that test failure?
18:41 moritz_ cspencer: I was, but it seems that my Makefile was out of date, I'm trying again now
18:42 moritz_ cspencer: yes, still fails
18:43 cspencer i'm just testing previous versions right now to figure out when it started...
18:43 moritz_ if you know a good version, you can git-bisect
18:43 cspencer i haven't heard of that git command yet - what's that do?
18:43 literal (git bisect)++
18:44 cspencer does a diff between two versions?
18:44 moritz_ cspencer: you tell it a good and a bad revision, and it guides you in finding the revision that introduced the bug
18:44 moritz_ cspencer: by doing a binary search
18:44 literal cspencer: http://book.git-scm.com/5_finding_issues_-_git_bisect.html
18:44 cspencer ah ok
18:44 cspencer that's helpful
18:45 cspencer literal: thanks for the link, i'll bookmark that set of docs :)
18:45 literal that book is pretty good, also this: http://www.gitready.com/
18:45 moritz_ is readline() and .get the same?
18:47 dukeleto joined #perl6
18:48 cspencer i've found the last revision that works
18:50 moritz_ which one?
18:50 cspencer how do you get the current commit/revision number?
18:51 moritz_ git log
18:51 moritz_ or git show|head -n 1
18:51 cspencer commit df866252af41ed14fdbdfe3878f1d33129a6b1ff
18:51 cspencer it was just from earlier today
18:52 moritz_ so 4a11dd5b9db83229ab98a733ca332ac7754c96fa broke it?
18:52 moritz_ seems harmlessly enough
18:52 moritz_ sure that it wasn't a parrot problem?
18:53 cspencer i'm just checking to see if the bump in parrot version did it
18:56 cspencer it passes for me with rakudo HEAD and parrot 38200
18:56 cspencer (instead of parrot 38208)
18:57 moritz_ ok, so it's parrot
18:57 cspencer i think so, i'm just doing a "make realclean" and building again to be sure....
18:59 cspencer yes, i'm thinking it's the parrot version bump that broke it
19:01 ZuLuuuuuu joined #perl6
19:02 sri_kraih_ joined #perl6
19:02 * skids ponders git.
19:02 skids So if "my branch is ahead of origin/master by N commits" I should probably get it up to date with upstream/master before committing a change?
19:03 skids Or do I not need to worry about that?
19:03 moritz_ skids: commit first, then worry about merging or rebasing
19:04 moritz_ at least if you did your changes already
19:05 skids by commit, you mean commit, or push?
19:05 moritz_ just commit
19:05 LylePerl joined #perl6
19:06 skids OK, then what do I do to get my github copy up to sync with my pulls from upstream/master?
19:07 skids push to origin:master?
19:08 * skids == total git novice, obviously
19:08 * cspencer is in the same git novice boat
19:09 justatheory joined #perl6
19:11 cspencer skids: where did you originally pull from?  your github repo or the rakudo one?
19:11 skids I used the web UI to create a fork, pulled from that, then added upstream/master as a source and have been doing "git pull upstream master" since.
19:13 cspencer i'm think that pushing to the origin master would work then
19:13 cspencer s/i'm/i/
19:13 * skids wonders what the "fast forward" UI button does.
19:15 Kisu joined #perl6
19:16 * skids now wonders whether the "fast forward" button takes some time to work.
19:18 skids OK, well, that seemed to work.
19:23 * skids sends pull request for adding Iterator.get, and hopes he did all that right.
19:23 moritz_ skids: please submit patches to RT (with git-format-patch)
19:24 xinming joined #perl6
19:24 skids now you tell me :-)
19:25 moritz_ skids: the README says so for quite a while :)
19:26 cspencer although the rakduo wiki "steps to create a patch" still indicates otherwise
19:26 cspencer :)
19:27 moritz_ :(
19:27 cspencer (though it does mention sending it to RT as well) :)
19:27 * moritz_ updates the wiki
19:28 moritz_ ") At least until the rakudo team gets everything working together, patches also need to be submitted to RT. " seems pretty clear to me already
19:28 cspencer moritz: should the parrot version be set back to 38200?
19:28 moritz_ cspencer: I don't know... ask pmichaud++
19:29 cspencer alrighty
19:29 xinming joined #perl6
19:29 moritz_ (I hope he'll see the hilight anyway)
19:33 wayland76 joined #perl6
19:34 wknight8111 joined #perl6
19:37 wayland76 Is it my imagination, or did we have a separate makefile for ops?
19:37 * moritz_ haven't found one
19:39 skids Not for nothing, but it's not like little alarm bells go off when someone changes README :-)
19:47 wayland76 Ah, no, it was a patch from Allison that had that makefile.  My bad
19:47 pugs_svn r26296 | moritz++ | [t/spec] remove a few occurances of =$fh
19:47 pugs_svn r26296 | moritz++ |
19:47 pugs_svn r26296 | moritz++ | also delete a test that seems pretty pointless and duplicated
19:55 dukeleto joined #perl6
19:57 LylePerl Rakudo hasn't built on Vista with newer parrots for a while http://rt.perl.org/rt3/Ticket/Display.html?id=64694
19:59 wayland76 I'm reworking the build system to work with RPMs at the moment.  As soon as it seem to compile, I'll send in a patch :)
20:02 LylePerl cspancer: was 38200 working for you?
20:02 cspencer in terms of not failing one of the spectest files, yes
20:02 LylePerl cspancer = cspencer, sorry
20:03 cspencer LylePerl: np :)
20:05 LylePerl cspencer: are you on Linux or Win?
20:05 cspencer LylePerl: neither, i'm on OS X
20:08 wayland76 With me here, that's all 3 :)
20:11 * skids reminds self to try semi-annual rakudo compile on his ancient HP-parisc
20:15 wayland76 Someone said recently that someone tried to compile rakudo on DOS 5.0
20:15 wayland76 Not sure whether they were joking or not :)
20:16 skids CP/M?
20:16 skids :-)
20:16 wayland76 Analytical Engine?
20:16 wayland76 (That's Babbage :) )
20:17 skids damn I can never remember the password on this thing.
20:18 * skids goes looking for a debian sarge archive
20:21 * skids thinks computers should be designed to start make creaking noises at 10 years of age.
20:22 moritz_ you mean instead of the 3 to 4 years that it usually takes?
20:22 pmurias joined #perl6
20:23 skids Well, this is a server class box.  Weighs a lot.
20:31 donaldh joined #perl6
20:35 donaldh left #perl6
20:36 LylePerl rakudo doesn't build against 38200 for me, I'll try earlier still...
20:36 omega LylePerl: make clean?
20:36 omega LylePerl: that fixed some compile time problems for me at least
20:39 LylePerl I did a mingw32-make realclean
20:39 cosimo LylePerl: make clean fixed it for me too
20:39 LylePerl parrot builds fine but Rakudo wont
20:40 LylePerl How do I get git to show me the previous values for PARROT_REVISION
20:41 cspencer LylePerl: git log build/PARROT_REVISION
20:41 cspencer that'll show you when it was bumped
20:41 Schnueff log -u for the diff
20:46 pmichaud good evening
20:46 pmichaud there's a known failure in the spectests at the moment
20:46 pmichaud I'll comment it out.
20:47 cspencer pmichaud: that's in the S03-junctions/autothread.t file?
20:48 pmichaud cspencer: yes
20:50 cosimo pmichaud: S32-str/samecase.t and S02-builtin_data_types/type.t are failing for me too
20:50 dalek rakudo: 0d55159 | pmichaud++ | t/spectest.data:
20:50 dalek rakudo: Small regression on autothread.t.
20:50 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0d5515989e68702a8b71bf084dd36b97475e481d
20:52 szabgab joined #perl6
20:55 nekobaka joined #perl6
20:55 cosimo but on win32
21:00 nekobaka left #perl6
21:01 moritz_ is there another npw hackathon tomorrow?
21:02 szabgab moritz_, yes
21:02 szabgab another day of hackathon
21:02 frettled \o/
21:02 frettled I just need to convince my employer that it's better for me to be there than at my physical workplace.
21:03 frettled I mean, at my workplace, I can't just walk past an interesting whiteboard with Perl 6 internals.
21:03 moritz_ maybe I should write my Rakudo build system TODO list tonight, then
21:03 moritz_ in the hope that anybody takes interest
21:07 frettled sure
21:13 frettled masak and I also briefly discussed the future packaging system for Perl 6 (I'm good at discussing things, it's finding time to *do* things that hurts), and we agreed that we should at least have a look at e.g. Debian's or Red Hat's package managers, our needs seem quite similar.
21:14 moritz_ the big difference is that .rpm and .deb distribute binary packages, we want to primarily distribute source packages
21:14 skids joined #perl6
21:14 moritz_ that said, the dependency handling of apt/dpkg is really excellent
21:15 simcop2387 joined #perl6
21:20 wayland76 masak: Any idea why we're getting these non-English messages on november-wiki?  Not that I mind non-English, but I don't even recognise the language, except they seem to be claiming we've been hacked or something
21:21 skids does any of it have to do with viagra? :-)
21:21 wayland76 frettled: I've spent a fair bit of time playing with package-related stuff, and I have a theory about how we should do it.
21:22 wayland76 skids: "ba?lant?s?n? t?klay?n veya ba?lant? �al??mazsa taray?c?n?z?n adres".  You tell me
21:26 moritz_ my build system TODO is at http://rt.perl.org/rt3/Ticket/Display.html?id=64868
21:29 skids wayland76: Turkish
21:30 skids (And google will translate.)
21:30 s1n moritz_: imho, rakudo should distance itself from parrot's build and require a prebuilt parrot (check the version and fail if requirement is not met), but it may still be too early for that
21:30 moritz_ s1n: agreed on both.
21:31 moritz_ right now it's just a pain
21:31 s1n well, it may be a pain, but until parrot properly installs, we might have to just deal with the warts
21:31 moritz_ when somebody reports an error, I ask "is your parrot up to date?", then "and did you clean rakudo after you updated parrot?"
21:31 moritz_ at least some of the limitations right now are artificial
21:33 s1n true, it should check the version to make sure it's up to date, but i really think we should start moving towards requiring parrot in the path (or win32 equiv)
21:33 moritz_ s1n: it's not that easy. All developers build parrot from svn, and will do so for quite a while
21:34 frettled wayland76: okay, do you think we should roll our own?
21:34 frettled moritz_: (woops, lost your response) yes, and it's the dependency parts that are most interesting.
21:34 skids Might be worth it to have milestone-only makefile handling that uses a separate parrot.
21:34 frettled moritz_: plus, perhaps, package signing
21:34 s1n moritz_: i agree, it's not easy, but ultimately rakudo will not necessarily require a specific svn revision, but probably something more like a release revision
21:35 s1n ultimately, this is a problem most distributors handle
21:35 moritz_ s1n: yes. But right now I'm not interested in ultimate or long-term solutions
21:35 moritz_ as long as I have to ask these questions 5 times a week
21:35 s1n short term, it should keep parrot up to date when they rebuild, so yes, i agree with you
21:35 skids i can haz imedjit gratif-kashun!
21:37 frettled yikes
21:40 wayland76 s1n: I'm working on having a prebuilt parrot for my Rakudo RPM
21:40 s1n wayland76: that's not a bad idea, but what happened to you building a parrot RPM?
21:41 wayland76 s1n: That's what I meant, I guess
21:41 wayland76 :)
21:41 wayland76 maybe I've used the wrong term
21:41 skids parrot still broken on hw with quirky alignment rules (parisc)
21:41 s1n so you'll have a parrot RPM and a rakudo RPM?
21:41 wayland76 That's the plan
21:41 s1n wayland76: good plan :)
21:41 skids Not a top priority and as I understood it a year ago, real chore to fix.
21:41 s1n did you get past the whole parrot_config issue?
21:42 wayland76 s1n: I think so.  I've forgotten it :)
21:42 s1n heh
21:42 s1n wayland76: pm
21:42 wayland76 frettled: I think the first step in building a good packaging system is to start by working towards the idea of the P5 Software::Packager, except better :)
21:44 frettled wayland76: I'd say that that depends on how quick it is to subvert an existing package system.
21:44 wayland76 frettled: What do you mean by that?
21:44 frettled wayland76: but I do think that we need a Perl API for that anyway.
21:44 moritz_ I don't understand that... git-am seems to have problems with trailing carriage returns, and my dumb system patch(1) accepts these patches just fine
21:45 frettled wayland76: Well, if it's a small job to use either rpm or deb to create a new package archive and dependency resolution system, then the effort of rolling our own system from scratch may not be worth it.
21:46 wayland76 frettled: My plan is, have one object that represents the metadata for a package, and then use that to generate debs, rpms, or whatever
21:46 frettled wayland76: masak and I discussed that too, as a more of a longer term goal.
21:47 moritz_ I think what neither of these systems support is installing multiple versions of the same package
21:47 moritz_ but which is what Perl 6 is supposed to allow
21:47 wayland76 frettled: Well, the package that represents the metadata is easy.  I have a Perl5 one I can port (I hope), and you can work from there
21:47 wayland76 hmm
21:47 frettled moritz_: if you by �same package� mean �same package in same location�, then no.
21:47 wayland76 moritz_: I'm not so sure of that
21:47 wayland76 I'm sure that RPM can do multiples
21:48 moritz_ I don't think dpkg does it
21:48 wayland76 because I had an x64 package that accidentally got a bunch of i386 packages installed too
21:48 frettled moritz_: but you really ought to keep the package names different, like (e.g. Debian) �apache� and �apache2�
21:48 moritz_ wayland76: arch != version
21:48 wayland76 moritz_: Good point.
21:49 frettled the general idea is to have the package system handle upgrades automatically, and then the system must know whether something is an upgrade.
21:49 moritz_ frettled: if you encode the version into the package name, you can't say "give me any apache" without saying exactly which apache you want
21:49 frettled the version number is a pretty good cue.
21:49 skids generally on debian different versions go be versioned names.  Especially common in libs.
21:49 frettled moritz_: well, er, yes you can.
21:49 frettled moritz_: in Debian, that's specified by �provides�
21:49 frettled If they would be in conflict, you add �conflicts�.
21:50 moritz_ frettled: so you'd create a package Foo and one Foo-$version, and Foo-$version provides Foo? that's... clever!
21:50 skids You'd probably package a -core that is depended on by all versioned packages that sets up any dir structure used in common by the different versions.
21:50 frettled So there's quite a bit of flexibility and freedom to shoot your foots off.
21:50 wayland76 moritz_: I personally don't care about multiple versions, but I won't install anything on my system unless it's an RPM
21:50 wayland76 that means that a lot of the CPAN software out there is not useful to me
21:50 wayland76 I'm hoping that's one thing we can fix with the Perl6 setup
21:50 frettled I suppose that Debian admins would be happy as long as they get the equivalent of dh-make-perl.
21:50 moritz_ is there no system to convert CPAN to RPM?
21:51 moritz_ like dh-make-perl for debian, yes
21:51 wayland76 moritz_: Yes, but it doesn't always work wonderfully well
21:51 * skids recalls years ago before dh-make-perl, trying to get ExtUtils::MakeMaker to directly gen debs.
21:51 wayland76 And it doesn't do dependency resolution properly for you.  So there's plenty of room for improvement.
21:52 skids I think I did get as far as deps.
21:52 moritz_ wayland76: which one did you try? cpan2rpm? or CPANPLUS::Dist::RPM?
21:52 wayland76 I think cpan2dist is moving in the right direction, but we can do better :)
21:52 moritz_ skids: the dh-make-perl in Lenny does dependencies pretty well
21:53 wayland76 moritz_: both of those.  Best results so far with either cpan2rpm or cpanspec (which is another one of the same)
21:53 skids cool.
21:53 frettled moritz_: it's a satisfying kind of magic, but with some caveats. :)
21:54 jan_ joined #perl6
21:54 wayland76 But all that stuff could be integrated (as optional) into the cpan shell
21:54 skids the scary part is that a decade plus later I can still type 'ExtUtils::MakeMaker' faster than some english words.
21:54 moritz_ ;-)
21:55 frettled skids: my condolences
21:55 LylePerl :( I've lost the ability to build rakudo
21:55 LylePerl I've tried 4 different parrot versions
21:56 LylePerl How can I get git to rollback to previous commits?
21:56 moritz_ git checkout $other_version
21:56 moritz_ or if you want to throw away anything newere (possibly dangerous) git reset --hard $other_commit
21:58 rhr joined #perl6
21:58 jrockway joined #perl6
21:58 Diederich joined #perl6
21:58 pugs_svn joined #perl6
22:03 LylePerl "git checkout d208e1c" did it thanks
22:04 pugs_svn r26297 | moritz++ | [t/spec] test for $*OUT.say (RT #63552)
22:05 wayland76 Does $*OUT.say print a stringification of $*OUT ?
22:05 moritz_ no
22:05 moritz_ rakudo: $*OUT.say("hi")
22:05 p6eval rakudo 0d5515: OUTPUT«hi␤»
22:05 wayland76 Inconsistency!
22:06 moritz_ fix!
22:06 skids parrot's iterator in scalar context gives current "index", in boolean, peeks for more values.  This is not specced for $r = @a.iterator in Perl6, should it be?  I could add to S07.
22:06 wayland76 (A foolish consistency is the hobgoblin of small minds :) )
22:06 wayland76 skids: If no-one answers, ask ruoso
22:07 moritz_ skids: I don't think it's a good idea
22:07 moritz_ skids: because you can't always tell in which context your are
22:07 moritz_ multi f(Bool $x) { ... }; multi f(Str $x) { ... }; f($obj.iterator) # what does it do?
22:09 skids We will need a peek of some sort, to allow detection before a StopIteration while keeping that iteration uniterated.  Also a test for infinite lists without evaluating the length, as per zip() spec.
22:10 skids Both could be useful/synched with IO API
22:11 frettled moritz_: As I understood it, f($obj.iterator) would result in no matching functions to call; the type doesn't match the multiple dispatch.
22:11 moritz_ frettled: why not? if $obj.iterator returns either a Bool or a Str, context sensitively?
22:11 moritz_ frettled: that's mostly an example why want() won't work in Perl 6
22:11 cosimo left #perl6
22:12 skids Though ".eof" on class Iterator would be tacky being it's not a file.
22:13 wayland76 Maybe we should replace eof everywhere with eos (end of stream) or something
22:13 frettled moritz_: in that case, it might work iff it does so
22:14 moritz_ skids: a peek is fine by me (though istr that TimToady had some different ideas for that), but please not with more magic :-)
22:14 skids Perhaps.  Most importantly folks working on IO API should be taught to ask "could we inherit this from Iterator"?
22:14 skids moritz_: OK, fine, I'll put the tophat down :-)
22:15 wayland76 skids: s/inherit/compose/, surely?
22:16 skids Sure, I mean, whatever :-)  I'm more a bit pusher than a CS theory guy :-P
22:17 frettled moritz_: but what it really depends on is what type $obj.iterator is at the time of type checking, right?  This may actually be undefined, unless it's covered by the change in strictness (where you have to specify whether the type is <rw> or not).
22:18 moritz_ frettled: type checking is done at dispatch time, so at time  the return type of $obj.iterator is already known, because that method has run already...
22:18 frettled (the careful language is chosen because I still lack quite a bit of knowledge regarding the specs and internals)
22:19 moritz_ frettled: that means that the iterator() method can't know to which multi its return type will be dispatched...
22:19 frettled moritz_: well, it could return different types depending on runtime conditions, couldn't it?
22:19 moritz_ frettled: yes, but that condition is only known *after* it returned a value
22:20 frettled in which case, it only loosely fits the definition, and you have A Problem.
22:20 moritz_ right
22:20 skids Ah, .eoi
22:20 moritz_ the problem is that want() won't work as we know it from wantarray in Perl 5
22:20 skids Already specced for IO
22:20 frettled From my memory of Friday's talk and yesterday's discussion, that would probably result in at least a warning.
22:21 moritz_ ah, it's being discussed. That's a good thing ;-)
22:22 moritz_ I'm quite confident that jnthn and pmichaud will move TimToady from the current, unimplementable situation to a different unimplementable idea ;-)
22:22 frettled Not exactly that problem, but the problems of having multiple dispatch when the types are of equal precedence was explained by pmichaud in his Talk.  Using <rw> to define whether a type is defined loosely or strictly was discussed yesterday because of what might happen when you pass an array of a subtype to a function handling the type.
22:24 * skids tries to figure out if people really mean $obj.iterator or $iterator.get
22:24 moritz_ man, why is Oslo so far away? I really should have been there
22:24 antiphase The beer is very expensive
22:25 * antiphase got back home an hour ago
22:25 frettled moritz_: grab the next chance; Lisbon
22:25 moritz_ I don't mind the beer prices, I can live without it ;-)
22:25 moritz_ frettled: I'll try
22:25 frettled antiphase: and my tequila sunrise cost me NOK 90-ish
22:26 antiphase The beer seemed to vary between 35 and 65 NOK for a pretend pint, which is extortion
22:27 antiphase I didn't get into spirits for fear of bankruptcy
22:27 frettled antiphase: 35 NOK would be the 0.4l, then.  In more expensive and popular establishments, expect to pay up to 80-90 NOK for 0.5l
22:28 frettled I don't drink beer, and I rarely go out for drinks, but I keep a reasonable selection of red and white wine, port, whisky, cognac, armagnac, etc.
22:30 frettled moritz_: but please take what I say about the actual details of type handling with a grain of salt, I've just been a meddling observer.
22:30 Bucciarati joined #perl6
22:32 antiphase I need to get into helping with Perl 6, but I've no idea what yet. I've been somewhat inspired by NPW
22:33 frettled you too, eh...
22:33 antiphase I am but a sysadmin, without any hardcore CS knowledge
22:34 bacek joined #perl6
22:35 frettled antiphase: hey, there's a linguist here who's done pretty well, don't worry.
22:36 wayland76 antiphase: I'm a sysadmin too :)
22:36 frettled o/
22:36 frettled (though with the CS background)
22:36 wayland76 antiphase: Are you any good with build systems?
22:36 frettled muahaha :D
22:37 wayland76 frettled: Don't do that until he says "yes" :)
22:37 antiphase I'va managed to avoid them so far, but it depends what's involved... :)
22:38 * frettled waves hand: you like to work with build systems
22:38 frettled wayland76: . o O (hope that helps)
22:38 wayland76 Oh.  Well, Rakudo doesn't do "make install" yet :)
22:38 cspencer moritz_: re: your comment on the "use Num :Trig" patch, should i apply that and push it out?
22:39 wayland76 And I'm in the process of working on an RPM specfile that needs that :)
22:39 wayland76 But I think I need to beat Parrot into a bit more submission first
22:39 antiphase Are there any specific target architectures yet, or is everyone hacking it to work on their preferred OS?
22:39 wayland76 Actaully, maybe better wait until I've done that
22:39 antiphase s/architectures/OSen/
22:39 wayland76 antiphase: the second :)
22:40 wayland76 (I presume, anyway)
22:40 antiphase I'm a Debian//Ubuntu person myself
22:40 wayland76 Great, make a .deb :)
22:40 antiphase I may investigate
22:41 wayland76 antiphase: Please do.  No more than investigation can be asked :)
22:41 frettled Please do so, I'll be happy to test whatever packaging you do for Debian.
22:41 wayland76 I only know packaging because I had to learn it as a sysadmin
22:41 meppl joined #perl6
22:41 frettled Hey, I know packaging, too: tar czf foo.tgz foo/
22:42 wayland76 frettled: Unless you can remove the package after you've installed it, it doesn't count :)
22:42 frettled wayland76: oh, that's _trivial_ :)
22:43 frettled Encap isn't too bad, if you can stand symlink hell.
22:43 wayland76 (I always do "tar -czvf rakudo.tar.gz ; rpmbuild -ta rakudo.tar.gz")
22:43 antiphase tar -ztvf perl6.tar.gz | xargs rm -rf
22:44 wayland76 antiphase: That only works if it was a binary distro, but good point :)
22:44 frettled Heh, that reminds me of something I saw on a slide on Friday: chown -R dir/
22:44 frettled woops, chown -R user dir/
22:44 payload joined #perl6
22:44 frettled scary
22:45 wayland76 I've done that in the last week
22:45 frettled hopefully on directories where you have complete control over and knowledge of the contents.
22:45 antiphase They could at least have used user: to set the group as well
22:45 wayland76 I got a new Netbook and the user ID didn't match the one on my server, so NFS wasn't working.  So I changed my UID in /etc/passwd, and then did chown wayland /home/wayland :)
22:45 wayland76 Oh, yeah, I guess I did that too :)
22:46 frettled I never do chown -R on directories that I didn't make the contents in myself, and even if I did, I check carefully where the symlinks point.
22:46 wayland76 Actually, I'm wrong
22:46 sjn frettled: go to bed :)
22:47 frettled sjn: sssssh...
22:47 wayland76 I did find . -user 1000 -exec chown wayland '{}' \;
22:47 frettled mm
22:47 wayland76 So, good point, it is scary :)
22:47 Bucciarati fwiw, there is chown -h
22:48 frettled Anyway, the safer command line option set is:  -Rh (to avoid dereferencing symlinks, e.g. to /, so that you don't accidentally change ownership of entire file systems)
22:48 frettled I tend to use find . -user foo -print0 | xargs -0 chown bar:
22:49 frettled (depending on the situation, of course)
22:50 wayland76 I use cp -R dir otherdir ; rm dir ; mv otherdir dir
22:50 wayland76 :)
22:50 wayland76 :-} <-- evil grin
22:50 frettled >:->
22:50 s1n wayland76: missing a -r from that rm command?
22:51 wayland76 s1n: No, I don't think so.  I'm making a *real* mess with that :)
22:51 wayland76 (actually, good point :) )
22:51 s1n surprised it did it without complaining
22:52 frettled wayland76: how about mv tar cSf - dir | (mv dir{,.old} && su user -c 'tar xSf -')
22:53 wayland76 mv tar would be a bit confusing :)
22:53 wayland76 rakudo: system "chown :dwim";
22:53 p6eval rakudo 0d5515: OUTPUT«Could not find non-existent sub system␤current instr.: '_block14' pc 60 (EVAL_16:41)␤»
22:53 wayland76 Not implemented, I guess ;)
22:53 frettled wayland76: hmm, SNAFU in editing the line there, I see.
22:54 frettled wayland76: you _could_ try sending system(...)
22:54 frettled :]
22:54 wayland76 frettled: I thought you were trying to do something that looks kinda right, but creates a mess ;)
22:54 frettled wayland76: oh, no, I was just going for obscure solution wanking.
22:56 wayland76 frettled: Ok, but don't admit you were wrong :)  Like when s1n pointed out about my missing -r :)
22:56 wayland76 (if we were being serious, I'd be the first to admit I'm wrong :) )
22:56 frettled Were we being serious?  I hope not.
22:57 frettled I have used the tar cSf - foo | tar xSf - trick via SSH, though.
22:57 wayland76 No.  Hence the "if" :)
22:58 wayland76 :)
22:59 frettled tar cSzf - foo | uuencode | sendmail president@whitehouse.gov
23:00 frettled (okay, so uuencode needs parameters, but who cares)
23:01 frettled I'll take sjn's hint now and go to bed before someone bludgeons me to death.  Good night.
23:02 * skids sighs and begins the long process of putting his bludgeon back in its case.
23:04 wayland76 skids: You could take it to #perl :)
23:04 Bucciarati hey I want to start hacking on Rakudo, I picked a bug that looks simple http://rt.perl.org/rt3/Ticket/Display.html?id=64566 .  I can reproduce it and I think the test for that would go in t/01-sanity/07-range.t
23:04 wayland76 And ask for help, or when perl6 will be done
23:04 Bucciarati > my @a=1..4; say @a.elems
23:04 Bucciarati 4
23:04 Bucciarati > my @a=1..4; say @a[0..*].elems
23:04 Bucciarati 5
23:04 lambdabot <no location info>: parse error on input `='
23:04 lambdabot <no location info>: parse error on input `='
23:05 Bucciarati (btw is this the right place?)
23:05 Bucciarati (I mean is this discussion relevant to this IRC channel?)
23:05 wayland76 Bucciarati: It's the right place, but I'm just the channel clown, so I can't answer your question :)
23:06 wayland76 s/clown/court jester/ :)
23:12 pmichaud Bucciarati: The [0..*] construct isn't cleanly supported in Rakudo yet.
23:12 Bucciarati fine with me :)  I just hope there's someone willing to show me around the code (developer guide on parrot.org is not very comprehensive) and maybe hint at where I may go looking for the place where rakudo misbehaves
23:12 pmichaud in particular,  Rakudo  thinks that  @a[0..*]  is the same as  @a[0..4]
23:13 eiro so @a
23:13 pmichaud (which is why it does 5 elements)
23:13 pmichaud anyway, it's a bug that is high on our list to repair soon.
23:14 eiro (hello world)
23:14 Bucciarati pmichaud: yes it's clear, that made me think it's a quick bug to fix and a nice excuse to go exploring the code
23:14 pmichaud it's not a quick bug, alas.
23:15 Bucciarati er.  ok :)
23:15 s1n Bucciarati: pmichaud has stated that there are no quick bugs/features left :)
23:15 cspencer pmichaud: have you had the chance to look at the trig patch i'd sent in earlier?
23:15 pmichaud The postcircumfix:<[ ]> operator has to be refactored so that it knows how to handle a Range argument
23:15 pmichaud in particular, it has to know how to handle a Range where one or the other endpoints is a Whatever object
23:16 pmichaud cspencer: no, I haven't -- the hackathon here has kept me _very_ busy.
23:16 cspencer pmichaud: that's understandable :)
23:16 pmichaud jnthn++ and I are currently updating Rakudo's roadmap.  Ealier today we finally got some details on handling laziness; including eliminating the icky prefix:<=> op.
23:19 s1n pmichaud: back in town yet?
23:19 cspencer pmichaud: there were a couple of details i'd wanted to ask you about regarding it, but i'll wait till you've had a chance to look first :)
23:19 pmichaud s1n: no, still in oslo.
23:21 ispy_1 joined #perl6
23:26 simcop2387 joined #perl6
23:28 wayland joined #perl6
23:29 kate21de1 joined #perl6
23:35 Kyosuke_Kiryu joined #perl6

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

Perl 6 | Reference Documentation | Rakudo