»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moderator on 20 October 2009.
00:15 jaldhar joined 00:19 seanstickle joined 00:29 frew_ joined 00:38 orafu joined 00:43 Whiteknight joined 00:50 Whiteknight joined 00:57 xomas_ joined 01:41 Chillance joined 01:59 seanstickle joined 02:05 granvork joined
Wolfman2000 back from dinner. Now...to take care of this pastebin 02:07
02:11 meppl joined, jaldhar joined 02:22 granvork left
diakopter howyd 02:40
colomon jnthn: you still there? 03:01
03:08 seanstickle joined 03:09 seanstickle left
colomon jnthn, pmichaud: the line causing the trouble in Rat.gcd is ($a, $b) = ($b, $a) if ($b > $a); 03:29
I'm not sure to what degree you guys want to work around issues like this, versus solving the underlying ng issue causing the trouble? 03:30
03:30 seanstickle joined
colomon jnthn: also, make t/spec/S32-num/rat.t fails miserably for me. Does this match what you are seeing? 03:30
time for bed now, I reckon (though this Cincinnati game is pretty good...)
Wolfman2000 g'night 03:34
03:36 pdcawley joined 03:43 Meldrake joined 03:58 seanstickle joined 04:04 meppel joined 04:06 seanstickle left 04:12 pnate joined
pmichaud colomon: good find -- ng doesn't have list assignment yet. I might be able to add that. 04:33
Wolfman2000 pmichaud: what made you guys decide to work heavily on ng anyway? 04:38
pmichaud Wolfman2000: I don't quite understand the question
diakopter Wolfman2000: (as opposed to what) 04:39
Wolfman2000 pmichaud: seems like the major focus of Perl 6 right now is the ng branch...compared to...well, other branches or the master branch.
pmichaud Wolfman2000: we needed to redo the grammar, which is what the ng branch is for
it ends up being a major refactor 04:40
in many ways, starting over ends up being much simpler and cleaner than trying to keep things working in the master branch
(because the changes are _that_ pervasive)
eventually we'll have the ng branch roughly comparable to master, at which point we'll rename 'ng' to 'master' and it'll be the released version 04:41
(incoming!)
Wolfman2000 ducks and covers.
pmichaud oops, not yet. ended up with a merge conflict 04:43
diakopter heh
Wolfman2000 unducks
japhb pmichaud, can you take a look at the statement modifier if parsing bug in NQP-rx? 04:45
pmichaud sure.
japhb thanks!
04:45 Eevee joined
pmichaud what's the bug...? 04:45
diakopter nqp: say(3) if (4 if 1); 04:46
p6eval nqp: Confused at line 1, near "say(3) if "␤current instr.: 'parrot;HLL;Grammar;panic' pc 448 (src/cheats/hll-grammar.pir:197)␤
pmichaud that's not a bug as far as NQP is concerned.
diakopter japhb: I was just guessing
japhb nqp: sub foo () { return 0 if 0; return 1; }; say(foo());
p6eval nqp: Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1630 (src/Regex/Cursor-builtins.pir:179)␤
pmichaud I might decide against fixing that one. 04:47
diakopter o_O 04:48
pmichaud if only because fixing it requires some extra stuff in the grammar that I might not want to put there.
diakopter moar backtracking?
pmichaud let me see if I can get my merge conflict fixed
no, it means recognizing a number of keywords as expression terminators
such as 'if' 04:49
diakopter nqp: sub foo () { (return 0) }; say(foo()); 04:51
p6eval nqp: Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1630 (src/Regex/Cursor-builtins.pir:179)␤
diakopter nqp: sub foo () { [return 0] }; say(foo()); 04:52
p6eval nqp: Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1630 (src/Regex/Cursor-builtins.pir:179)␤
diakopter nqp: sub foo () { if 0 { 4 } else { } }; say(foo()); 04:53
p6eval nqp: Null PMC access in get_string()␤current instr.: 'print' pc 63783 (gen/nqp-actions.pir:4431)␤
japhb pmichaud, so ... how does t/nqp/02-if.t work, when this does not? What is the real difference? I originally thought it was the return, but that appears not to be the only way to trigger it (in my code). 04:54
pmichaud in NQP, return is a statement, not a function
I don't know which test you're referring to in 02-if.t
(I've not seen them -- PerlJam++ added all of the statement modifiers to NQP) 04:55
japhb The last two are say and print modified by if.
pmichaud right, those are function calls.
they have parens
so NQP knows where the expression argument ends
diakopter nqp: sub foo () { (if 3 { 4 }) }; say(foo()); 04:56
p6eval nqp: Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1630 (src/Regex/Cursor-builtins.pir:179)␤
pmichaud with "return 0 if ..." there aren't any parens
japhb I take it parens on the return don't disambiguate?
nqp: sub foo () { return(0) if 0; return 1; }; say(foo());
p6eval nqp: Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1630 (src/Regex/Cursor-builtins.pir:179)␤
pmichaud not at this point they don't
(because "return" is a statement, not a function call....)
japhb right
diakopter see the several other examples of the "couldn't find final '}'....
(not involving return) 04:57
pmichaud the other examples are all issues of trying to put statements inside of parens
diakopter ok
(also a npmca up there somewhere) 04:58
pmichaud yeah, that's because the empty else block returned a npmc
that one I can probably fix to return an empty list or something.
04:59 dalek joined
pmichaud ugh, "return 0 if $expr" is not going to be pretty 04:59
japhb nqp: sub foo () { { return 0 }() if 0; return 1 }; say(foo()); 05:01
p6eval nqp: 1␤
diakopter japhb: :D
japhb Thankfully block != sub ...
diakopter nqp: sub foo () { { return 0 }() if 1; return 1 }; say(foo());
p6eval nqp: 0␤
diakopter except it doesn't work.. 05:02
pmichaud I suppose I could create a new syntactic category
or perhaps define 'return' and 'make' as prefix operators
diakopter oh wait
japhb diakopter, yes, it does. ;-)
?!?
pugs_svn r29078 | kyle++ | [t/spec] More tests for Nil based on r29056 05:05
r29079 | kyle++ | [t/spec] Test for RT 70267: {nextsame}()
r29080 | kyle++ | [t/spec] Test for RT 70003: $/.orig produces CodeString
pmichaud I wonder if having return and make as prefix works....
I'll try that. 05:07
japhb [git] If you have edits in progress in several files, and are ready to test some out, but others cause parsefail, what's the best way to stow away just the edits causing failure? The best idea I've got so far is 'git stash; git stash apply; git checkout <parsefail files>; ... test "working" files ... commit ... ; git stash pop; ... fix parsefails ... test ... commit' 05:13
pmichaud $ ./nqp 05:14
> sub foo () { return 0 if 0; return 1; }; say(foo());
1
lambdabot <no location info>: parse error on input `0'
japhb pmichaud++
05:24 justatheory joined 05:26 eternaleye joined
dalek p-rx: e46c70d | pmichaud++ | src/NQP/Grammar.pm:
Convert statement_control:return to prefix:return .
05:28
p-rx: 53fc7ad | pmichaud++ | src/NQP/ (2 files):
Convert statement_control:make to prefix:make .
p-rx: 710c598 | pmichaud++ | src/NQP/ (2 files):
Remove obsolete regexes and methods for 'return'/'make'.
p-rx: e574f6f | pmichaud++ | src/stage0/ (3 files):
Update bootstraps.
Wolfman2000 ...I've found another Perl 6 hater. 05:48
Tene Yeah, noticed. 05:51
He's being kind of an ass. m'eh. 05:52
quietfanatic Just don't be a Perl 6 hater hater. :) 05:53
Tene He's still helpful, though, so I wouldn't hold it against him. 05:54
Yes, that.
Wolfman2000 quietfanatic: no intention to. 05:55
I don't think he likes that I'm trying to use Perl 5 to make a Perl 6 pastebin
...the syntax highlighting could be useful though
05:56 nihiliad joined 06:03 chromatic joined 06:14 masak joined
masak morning, #perl6. 06:15
pmichaud \\o/ itsmasak 06:16
Wolfman2000 masak: morning. I'm HOPING to understand HTML::Parser enough to get syntax highlighting working
masak Wolfman2000: what does HTML::Parser have to do with syntax highlighting? 06:17
Wolfman2000 masak: I need to extract the <pre> that results from Syntax::Highlight::Perl6
masak I thought all you needed to do was parse the YAML from STD.pm.
06:17 frew_ joined
Wolfman2000 masak: remember, I'm on Perl 5 here 06:18
masak Wolfman2000: well, so is STD.pm.
at least the half of it that outputs the YAML. 06:19
Wolfman2000 masak: If I was familiar with YAML, I may have been able to save some time. 06:22
But at this point, I'm very close.
masak Wolfman2000: it's very important that you do not listen to me. I'm probably the largest threat to your success at this point. keep going on the way you've chosen. 06:23
Wolfman2000 masak: I'm unsure how much of that is sarcasm.
masak not a great deal, actually. 06:24
sometimes it's important that people make their own path before listening to advice.
Wolfman2000 ...in other words, allow me to make my mistakes.
If nothing else, thank you for that 06:25
masak I deliberately chose to avoid that word, but yes. :)
since I have no good estimate of whether it would really be a mistake, or how much it would cost you, I think it's best that you try and see what happens. 06:26
one against: hbfs.wordpress.com/2009/11/13/the-perl-6-logo/ 06:28
and one, I think, for: twitter.com/mcspring/status/5701459470
"Perl 6's logo shows that it will be some kind of Martian!" 06:29
based on the picture, I thought that Twitterer might be a girl, but it turned out to be a boy. 06:31
quietfanatic masak: You never can tell these days :) 06:35
masak quietfanatic: :) 06:40
06:46 pdcawley joined
masak KyleHa++ # many new spectests 06:49
pmichaud sleep time here -- be back in the morning 06:50
masak pmichaud: sleep tight.
fperrad++'s p6c email about setup.pir looks interesting. 06:52
gotta play a bit with that.
"It’s repulsively cute." -- from that blog post. Yes, that's an accurate description of Camelia, and of the perl6.org design. 06:54
by design. 06:55
gotta go manage laundry. I'll pop by later. 07:01
Wolfman2000 phenny: tell masak HTML::TreeBuilder and HTML::Element to the rescue! 07:03
phenny Wolfman2000: I'll pass that on when masak is around.
07:09 diakopter joined
diakopter sigh 07:09
Wolfman2000 diakopter: Further progress on the pastebin has been made...but the implementations won't take place until I wake up. I apologize 07:11
I'm about to get sleep
diakopter TimToady: howzit 07:13
TimToady still upgrading my ubuntu... 07:31
diakopter 9.10? 07:34
scary
pugs_svn r29081 | finanalyst++ | typo 07:46
PerlJam IS there something that Perl 6 has borrowed from Perl 5 in the last 9 years? 07:47
(something that was invented for perl 5 in the last 9 years, that was subsequently specced for perl 6)
07:49 TiMBuS joined
diakopter nqp: sub a () { say($a) }; my $a := "4"; a(); 07:52
p6eval nqp: 4␤
diakopter std: sub a () { say($a) }; my $a := "4"; a(); 07:53
p6eval std 29081: Potential difficulties:␤ Variable $a is not predeclared at /tmp/JYdVOJJfUu line 1:␤------> [32msub a () { say($a[33m⏏[31m) }; my $a := "4"; a();[0m␤ok 00:02 105m␤
07:55 zloyrusskiy joined 07:56 Exodist joined
carlin Argh, batch files are painful 08:00
08:16 zamolxes_ joined 08:20 masak joined, quietfanatic joined
masak I just re-stumbled over these; they made me happy. :) 08:22
phenny masak: 07:03Z <Wolfman2000> tell masak HTML::TreeBuilder and HTML::Element to the rescue!
masak pugscode.org/talks/oscon05/movies.html
08:22 agentzh joined
masak Wolfman2000: woot! 08:22
08:35 araujo left 08:55 iblechbot joined 08:56 colone joined 09:02 jaldhar joined, lmc joined 09:08 pnate2 joined 09:15 zamolxes joined 09:17 M_o_C joined 09:19 barney joined, M_o_C joined 09:20 M_o_C joined 09:24 Su-Shee joined
Su-Shee good morning 09:24
masak \\o/ 09:26
Su-Shee is that a "it's finished" \\o/ yay? :) 09:29
masak no, I was just stretching a bit.
Su-Shee and I got my hopes up.. ;)) 09:30
masak well, if you want to see it finish sooner, I'm sure we can think of something. :) 09:31
09:31 bryan[c1] joined
Su-Shee na, it's just something like the pre-christmas jitter.. ;) I want to see how rakudo * spreads and what people think. 09:32
masak me too.
I actually want to see a bunch of things land before April, though. 09:33
bryan[c1] if perl6 = fail, { what will we do? };
masak bryan[c1]: you're assigning, not comparing.
bryan[c1] seems like the difference between python 2.x and 3.x is vast
masak bryan[c1]: that will set perl6 to fail.
Su-Shee it won't fail. litereally _everybody_ perlish I know is interested. some people actually wait since 2000 now.
bryan[c1] i hope perl doesnt fall into the same situation
masak bryan[c1]: then don't assign. 09:34
bryan[c1] haha clever
masak no, it's fundamental logic.
Su-Shee and I see the right programming language with the appropriate decade of programming style coming together.
bryan[c1] lighten up man, it's just a chat room.
masak bryan[c1]: aye. 09:35
bryan[c1]: anyway, Su-Shee is right, it won't fail.
though it can surely continue to be the underappreciated underdog.
which many people will consider a kind of failure.
bryan[c1] seems like thats what perl is
Su-Shee I don't even think that. my feeling is that people are hungry for something new. 09:36
masak Su-Shee: if so, then we're in for interesting times.
Su-Shee masak: if perl 6 would have finished when the ruby hype just took off - this would have been bad timing, probably.. but now it looks good imho. 09:37
masak bryan[c1]: Perl is an underdog too, but maybe less than you'd think. Python and Ruby have better PR machines, but Perl 5 is still widely used.
bryan[c1] ruby is fail 09:38
Su-Shee masak: that's in germany actually not really true anymore.
09:38 zamolxes joined
Su-Shee and it's not ruby and python which are competing, here it's java (massively) and php. 09:38
masak interesting. I hadn't heard that before.
bryan[c1] all 4 of those languages are fail
masak from my angle Ruby is still wildly popular.
bryan[c1] imo at least 09:39
Su-Shee masak: that's how it looks on the internet. in terms of jobs and companies, it doesn't.
bryan[c1] what the hell kind of company would need ruby?
a failing one i say
masak bryan[c1]: I see you're a bit of a language connaisseur. what do you normally use? 09:40
Su-Shee startups like ruby very much, it suggests a modern, dynamic image and they get the right bunch of people with it.
bryan[c1] not really at all
masak bryan[c1]: you're not a programmer?
bryan[c1] even a skiddie could tell you ruby's syntax is horrible and ugly
masak bryan[c1]: I don't think it's horrible and ugly.
bryan[c1] and plus it's probably only REALLY popular in japan
Su-Shee thank you, I don't need other people for that, I actually speak a little ruby. ;)
bryan[c1] it's not google's shenanigans at least 09:41
speaking of failures across the board
google's new excuse for a language is a big pile of fail, hit by an avalanche of more fail
masak bryan[c1]: did you come in here to catalogue failures of different kinds? 09:42
bryan[c1] no i was just wondering what you guys thought of perl6
kinda went off on a tangent
masak oh, I like it.
bryan[c1] but GO is pertty dumb imo 09:43
its like they tried to make a hybrid of java c++
java and c++**
masak I saw a few things that I liked in Go.
and a few things that Perl 6 already has. :) 09:44
bryan[c1]: have you tried Rakudo Perl 6 yet? 09:51
bryan[c1] no
masak bryan[c1]: did you know you can try it right here on the channel?
rakudo: say "OH HAI bryan[c1]!"
p6eval rakudo d04cce: OH HAI bryan[c1]!␤
masak but I should warn that p6eval has been unreliable lately for unknown reasons. 09:52
sometimes it doesn't answer, even though the program is correct.
bryan[c1] interesting
masak but you can download the latest Rakudo at perl6.org
bryan[c1]: yes, it's useful when you want to demonstrate a feature. 09:53
say, for example, that I want a random dice throw.
rakudo: say (1..6).pick
p6eval rakudo d04cce: 1␤
masak or I want to throw three dice
rakudo: sub dicethrow() { (1..6).pick }; say [dicethrow, dicethrow, dicethrow].perl 09:54
p6eval rakudo d04cce: ( no output )
masak aww.
that's what it does sometimes. :/
not Rakudo's fault, just the bot. 09:55
rakudo: sub dicethrow() { (1..6).pick }; say dicethrow for ^3 09:56
p6eval rakudo d04cce: 1␤maximum recursion depth exceeded␤in Main (file <unknown>, line <unknown>)␤
masak o.O
it would seem we have a 'live demo' effect going on here... 09:57
masak rebuilds Rakudo and tries to reproduce the problem locally 09:58
sjohnson o/ 10:00
masak \\o 10:02
nope. problem does not reoccur locally. 10:06
rakudo: sub dicethrow() { (1..6).pick }; say dicethrow for ^3
p6eval rakudo d04cce: 1␤maximum recursion depth exceeded␤in Main (file <unknown>, line <unknown>)␤
masak I posit that p6eval is running on a broken Rakudo. 10:07
10:31 mariuz joined 10:41 _eMaX_ joined 10:54 zamolxes joined 11:03 _eMaX_ joined 11:14 zamolxes joined 11:16 abworrall joined 11:42 |Jedai| joined, _eMaX_ joined 11:47 Su-Shee joined 11:53 zamolxes joined
abworrall How best to expose a C lib in rakudo ? Do I need to work it into Parrot first ? (/me compiled the moving parts for the first time an hour ago, has little clue :) 12:00
12:02 payload joined 12:23 Su-Shee joined 12:24 _eMaX_ joined 12:30 colone joined 12:35 lasse joined 12:36 lasse_ joined
lasse_ Hey, I need some help. I try to compile rakudo on Mandriva 2010 but 'failed with 'i586-mandriva-linux-gnu-gcc'. Anyone who can help? 12:38
12:41 rfordinal joined
carlin lasse_: What was the exact error message you got? 12:41
lasse_ the last lines are: inter::progs - Determine what C compiler and linker to use...Compilation failed with 'i586-mandriva-linux-gnu-gcc' Building Parrot ... ===SORRY!=== Unable to locate parrot_config 12:42
12:42 rfordinal left
carlin lasse_: what output do you get if you run the command 'gcc'? 12:44
lasse_ this is somewhat embarrasing: gcc bash: gcc: command not found 12:46
carlin That's alright. What does 'i586-mandriva-linux-gnu-gcc' get you? 12:47
lasse_ It probably works better if I have a compiler :) thanks :|
I install gcc and try again 12:48
carlin No problem :-) 12:49
jnthn oh hai 12:53
carlin o/
abworrall am I right in thinking that I can't read binary files from perl6 at the mo ? 13:00
or is there a way I can persuade C<slurp()> to tolerate non-UTF-8 data ? 13:12
13:13 agentzh joined
jnthn abworrall: Glancing the implementation, it looks like there isn't a way at the moment. :-( 13:20
abworrall: slurp uses open, and open doesn't know about other encodings yet.
abworrall jnthn, thanks for digging that up; I was resorting to skimming the results of find -name "*IO*" :) 13:23
13:34 mberends joined 13:36 Whiteknight joined
abworrall is setting/Any-str.pm:unpack private support for the rakudo setting; with the unpack() that I want for my perl6 program lurking unimplemented in classes/Str.pir ? 13:39
13:40 araujo joined
pugs_svn r29082 | carlin++ | [t/spec/S32-io] Add batch file and allow these tests to run on Windows. Confirmed passing on Vista. 13:46
13:47 masak joined
masak a bit quiet here today. 13:48
jnthn abworrall: That doesn't look private to me...you should be able to call it. 13:49
(granted, it really should have an "our" or "is export" in proper Perl 6)
rakudo: unpack
p6eval rakudo d04cce: Not enough positional parameters passed; got 0 but expected 2␤in Main (file src/gen_setting.pm, line 324)␤
jnthn Aye.
masak: You were up early! 13:50
masak jnthn: nespal som.
jnthn masak: O... :-(
masak I'm not complaining.
it means I'll sleep well tonight.
jnthn Hopefully! 13:51
masak yes. :)
there is also the off chance that I'll hit that combination of deadly-tiread and can't-sleep...
jnthn eh well...being concious at 7am is much easier if you never became unconcious. :-)
masak aye. :)
jnthn Yeah...that'd suck. I really hate that.
Get that with jetlag sometimes, but thankfully not so much these days. 13:52
masak jetlag! that's it!
I feel jetlagged.
huf not as awesome as being jetlegged 13:53
jnthn ENOJET
Well, yeah. Jet lag means you're going on - or coming back from - some small adventure. :-)
masak look ma, no jet.
jnthn: well, I wrote many lines of code during the night. 13:54
jnthn masak: Oooh. Many lines of Perl 6? :-) 13:55
masak yup.
once again, I'm hitting Parrot limits.
I have one situation where a program is about to exit, and it just sits there, swapping. 13:56
jnthn :-(
masak eventually, it exits. after a couple minutes.
jnthn oh wtf?
13:56 pmurias joined
pmichaud good morning, #perl6 13:56
masak it seems to occur when the program run itself involves enough time and memory.
pmichaud: \\o
jnthn lolitspmichaud
masak: Maybe weird "very expensive exit destruction" stuff 13:57
Or something.
masak jnthn: I blame the GC. :)
jnthn Very possibly that, or destruction ordering issues.
I dunno.
masak it's a tough problem to debug.
jnthn I'm not sure what's worse - taking a couple of minutes at exit or segfaulting and getting out quick. :-/
masak jnthn: well, sometimes it does the latter also. 13:58
exits in the middle of a program.
jnthn Oh, that one also sucks.
masak sometimes it doesn't even say 'Segfault'. it just exits.
jnthn ?
Ouch.
masak so I'm definitely doing something right, complexity-wise :) 13:59
rakudo: enum A <a b c>; my A $x = a; ++$x
p6eval rakudo d04cce: ( no output )
masak locally, I get 'Assignment type check failed; expected A, but got Int' 14:00
jnthn Yeah, but it sucks that you're hitting these kinds of limitations.
Erm
abworrall rakudo: unpack("Z*", "perl6")
p6eval rakudo d04cce: Method 'postcircumfix:[ ]' not found for invocant of class 'Failure'␤in Main (file src/gen_setting.pm, line 324)␤
jnthn Re-phrase: it sucks that these limitations exist.
masak jnthn: yes.
14:00 mubot joined
masak jnthn: it sucks, but I'm not overly surprised. 14:00
jnthn masak: One way or another, things will improve. :-) 14:01
abworrall am I being dim here ? That looks correct to me
masak abworrall: unpack is not very far implemented.
jnthn masak: Uhm, er, do you understand unpack? :-)
masak I wrote what little there is.
jnthn abworrall: Actually I never figured out unpack in Perl 5. 14:02
masak unpack in Perl 6 has problems.
abworrall ah right then :)
masak spec-wise.
it's basically blocking on Str and Buf being properly spec'd.
jnthn :-/
masak TimToady is not entirely sure unpack has a place in the Perl 6 ecosystem, and if so, what place.
pmichaud spins the wheel of "what shall I work on this morning" and it lands on ..... 14:03
mberends masak: were you writing about your secr^W boring time consuming project?
pmichaud looks like numerics.
mberends magic number wheel 14:04
pmichaud unfortunately I'll be leaving in under an hour for soccer game
so, might not get a whole lot done in that time
pugs_svn r29083 | carlin++ | [t/spec/S32-io] Fix the indenting and whitespace from my previous commit
jnthn pmichaud: At least get 1.0 to parse ;-)
...doesn't ahve to work ;-) 14:05
<grin>
pmichaud it doesn't parse yet?
jnthn pmichaud: Not afaik
pmichaud: Rat and complex literals do though.
pmichaud okay, good idea
masak mberends: I've started procrastinating the slides for BPW. I'm not sure if I should have started procrastinating slightly earlier.
mberends: at least this time I don't have to invent the software along the way.
jnthn masak: ooh, I need to start procrastinating mine too...thanks for the reminder! 14:06
mberends procrastination is a fine art, improved with lots of practice
masak jnthn: tonight I even created a folder on the hard drive for the presentation!
jnthn pmichaud: Complex.pm I added back. We parse much of it, other bits are commented out.
pmichaud: There's two things that tells me I need to work on. :) 14:07
masak: oh wow!! 14:08
masak: I guess my closest equivalent would be creating a new powerpoint file :-P
masak aye. an empty one. 14:09
jnthn well akshually...I gave one of my talks before.
So I'll use that as a base, then add Extra Shiny Awesomeness.
masak :) 14:10
I have not given my talk before.
jnthn The cover picture stays the same though. That already is awesome.
The lolsql slides...now those I haz to write.
PLZ I CAN HAZ LITENIN TALK?
masak ah; that's why I only see you once in the schedule. :) 14:11
jnthn Yeah. One big talk, one lightning.
masak 'Talks in bold type have been confirmed by their respective speakers.' event.perl.lv/baltic2009/schedule 14:12
jnthn: you should log in and confirm your talk.
jnthn oh, I forgot to do that? 14:13
masak the lack of bold seems to suggest that. 14:14
jnthn done
masak jnthn++
jnthn lol...i writed the lolsql abstract in lolspeak.
masak :D
14:14 zamolxes joined
masak ah. time to prepare tonight's dinner: lasagna. & 14:17
14:18 _eMaX_1 joined 14:25 fridim_ joined, reid08 joined
Wolfman2000 *yawn* morning 14:27
jnthn morning, Wolfman2000 14:28
Wolfman2000 If I'm lucky (and not distracted by company coming later today), I will have more progress on the pastebin completed. Some stuff I took care of last night should help. 14:29
dalek p-rx: 5b31d0a | pmichaud++ | src/HLL/ (2 files):
Replace decimal and binary digit strings with <decint> and <binint>.
p-rx: 453c3b5 | pmichaud++ | src/stage0/ (3 files):
Update bootstrap with new decint/binint.
pugs_svn r29084 | carlin++ | [t/spec/S32-io] Remove/update some comments 14:31
dalek p-rx: 7b584c0 | pmichaud++ | src/ (2 files):
Remove spurious "=cut" lines to make Parrot's pod checker happier (mikehh++).
14:50
pmichaud afk, kid soccer
14:51 payload joined 14:56 itz joined
itz ok I'm too hungover to read docs, so how do I pull the ng branch? 14:57
jnthn itz: If you've already pulled the Rakudo git repo, then it should just be something like git checkout ng or maybe git checkout origin/ng 15:01
itz hmmm I seem to be on it on .. tnx 15:04
15:08 zamolxes joined 15:13 Whiteknight joined 15:17 Psyche^ joined
colomon jnthn: do you have a thought on patching Rat.gcd to work with the current ng versus fixing ng so Rat.gcd works? 15:21
15:29 nihiliad joined
jnthn colomon: The issue seems to be that list assignment ain't done yet in ng 15:32
colomon jnthn: yes.
jnthn So probably not using list assignment will fix it.
colomon yes, I've already fixed it locally.
my question is, should I check in the workaround or not?
jnthn Oh, I see.
You can check it in, but please put a comment on it saying that it's a workaround. 15:33
colomon I mean, in theory list assignment should work sometime in the next couple of days...
should I include the word workaround?
jnthn Sure, but I guess this may make the difference between us being able to pass some tests and no?
colomon # ($a, $b) = ($b, $a) if ($b > $a); # TODO: next block could be this if NG supported it
jnthn: I dunno, rat.t doesn't work at all for me.
jnthn That's fine.
colomon I'm just doing rat tests by hand in the REPL.
jnthn colomon: Ah, OK. Any ideas why? 15:34
colomon one sec.
jnthn Maybe the test relies on things ng doesn't do yet.
lisppaste3 colomon pasted "mae t/spec/S32-num/rat.t" at paste.lisp.org/display/90384
colomon Ah, it actually says "number parsing" now, that's an improvement. 15:35
jnthn Ah, OK
I think pmichaud++ is working on that area today. 15:36
colomon yes.
I'll push as soon as I can figure out how. :)
oh, done! 15:38
jnthn :-)
colomon Second try complained about master not being up to date, but pushed the ng patch anyway. 15:40
jnthn heh. git. 15:42
colomon I'm completely convinced that in a couple of years when I understand it better, git will be the greatest thing ever. :) 15:44
15:44 pmurias joined
colomon Right now from my POV it's like awesome raw power "controlled" by shear chaos. 15:44
jnthn :-) 15:45
colomon oh wow, the test we're breaking on is a bad test now.
~(Rat.new(1,4)), ~(0.25)
Thing is, that assumes that 0.25 is a Num. And when pmichaud is done today, it will probably be a Rat. 15:46
jnthn oh, yes. 15:49
colomon I'm not really sure how to get around that. maybe 1.Num / 4.Num?
did Num.Str get written when I wasn't looking? 15:50
jnthn 0.25e0 or so?
colomon nope, it didn't.
why the heck does that work?
I mean, say 1.Num / 4.Num works, but say 1/4 doesn't. 15:51
Wolfman2000 colomon: Isn't 1/4 supposed to be a rational?
colomon Internally, (1/4).Num is 1.Num / 4.Num...
Wolfman2000: it's a Rat, yes. But Rat.Str is just implemented as self.Num.Str. 15:52
Wolfman2000 Fair enough
15:52 am0c joined
colomon jnthn: 0.25e0 is probably right, but doesn't actually work yet either. :) 15:53
jnthn Aye
colomon looks like stringification must have some sort of special case handling of Num?
that is, I can say 1.Num / 4.Num, but I can't say (1.Num / 4.Num).Str, which should be exactly the same thing. 15:54
(or maybe say has special handling of Num?
)
Hah, more dodgy tests: there's a bunch of "mixed type math" tests that assume things like 3.5 are Nums. 15:55
jnthn I don't think say does anything more than .Str... 15:57
colomon Hmmm... think I'm going to give a quick once over on rat.t to make it smart about 3.5 as Rat. 16:02
but do it in the master branch build.
jnthn OK, cool. 16:03
colomon do we agree 0.25e0 should be a Num? 16:04
jnthn Depends whether you think it should be. ;-)
I think it should. :-)
colomon I'll change the tests to use that, then. 16:05
rakudo: say (0.25e0);
p6eval rakudo d04cce: 0.25␤
colomon rakudo: say (0.25e0).WHAT;
p6eval rakudo d04cce: Num()␤
colomon jnthn: I'll be driving back home soon, but tell pmichaud when he gets back from soccer that if he can get 0.25e0 (etc) to work, we can probably have rat.t fully working by tomorrow morning. 16:11
jnthn Excellent. 16:12
colomon++
Safe drive. :-)
Wolfman2000 phenny: tell pmichaud for jnthn to get 0.25e0 (etc) to work...something related to Rat and Num. If successful, rat.t will be fully working by the end of the weekend. 16:14
phenny Wolfman2000: I'll pass that on when pmichaud is around.
16:15 [particle]1 joined, payload1 joined
pugs_svn r29085 | colomon++ | [t/spec] Librarally sprinkle "e0" throughout the code to ensure that numbers that were intended to be Nums actually are Nums. 16:16
16:17 TopoMorto joined
pugs_svn r29086 | lwall++ | [gimme5] switch $<foo>= to not suppress binding of what follows 16:22
16:23 justatheory joined 16:24 iblechbot joined 16:27 Chillance joined 16:34 frew_ joined
pmichaud back 16:35
phenny pmichaud: 16:14Z <Wolfman2000> tell pmichaud for jnthn to get 0.25e0 (etc) to work...something related to Rat and Num. If successful, rat.t will be fully working by the end of the weekend.
cottoo jnthn, can you test a win32 patch in #parrot? 16:36
pmichaud 15:45 <colomon> ~(Rat.new(1,4)), ~(0.25) 16:38
assuming that we reduce fractions, why wouldn't that be true anyway? ;-)
itz I get a segfault with ng on FreeBSD 8 16:39
pmichaud (I somewhat disagree with r29085, fwiw) 16:40
jnthn oh hi 16:42
cotto: link?
cotto jnthn, nopaste.snit.ch/18685 16:43
jnthn cotto: k
cotto if t/pmc/filehandle.t passes, that's all that matters
(assuming I don't 'splode the build)
jnthn pmichaud: The problem is that it's "trivially true" in that both are Rat... 16:45
pmichaud what's the purpose of the test? 16:46
jnthn pmichaud: Perhaps a better check would be ~(Rat.new(1,4)), "0.25"
pmichaud do rats stringify to decimals?
jnthn I was guessing so.
I mighta missed the point though.
pmichaud anyway, if that's the case, then yes, it would be better to explicitly check for the expected string value rather than a stringification of some other value 16:47
I think rats stringify to decimals and perlify to rats
either way, the e0 approach doesn't seem right ish.
jnthn Hm, yeah.
cotto: Applied patch, running make...
pmichaud I wonder if number:sym<rational> should directly call the Rat constructor or if it should go through &infix:</> 16:50
pmichaud guesses the latter
jnthn ?
Nah, should just construct a Rat, surely?
pmichaud what if the num+den are "out of range"?
jnthn Why another level of indirection?
Won't that be a check in the Rat construction?
pmichaud perhaps, in which case it should throw an exception 16:51
I'd be surprised if Rat.new gave me back a non-Rat, though. &infix:</> doesn't have that issue
jnthn oh
it's not meant to fail?
:-/
pmichaud I'll go look
jnthn At some level, it's all kinda irrelevant at the moment in that AFAIK Parrot doesn't give us portable 64-bit integers... 16:52
pmichaud C<Rat>s that would require
more than 64 bits of storage in either numerator or denominator are
automatically converted to C<Num>s.
jnthn oh, we concert
meh
*convert
OK, guess it'll ahve to be infix:</> then. :-(
pmichaud ....that's what it was before anyway :-) 16:53
jnthn EDESIGNEDFORSLOWNESS
pmichaud oh, if we think that infix:</> is going to be significantly slow as an operator, then we might as well give up now
I mean, 3+4 calls infix:<+>
we can also do a compile-time call to infix:</>, and then keep the result as a constant 16:54
jnthn Well, my point is more that rather than just constructing a Rat, we have to chekc if it's OK to construct a Rat, and if not do something else.
diakopter well, there's DLR on Mono. if it does anything well, it specialized numeric operations for types... and is good/efficient at it.
jnthn Yeah, true. 16:55
I guess I should stop worrying about Parrot's invocation speed as a design consideration. :-)
pmichaud jnthn: (check if it's ok) that *is* what the spec says, though.
jnthn pmichaud: I'm not disagreeing it's what the spec says, just over whether that's a good idea. :-)
pmichaud I'm pretty sure it's okay. I don't think rat constants will be quite that common to worry about.
jnthn Yeah, true. 16:56
pmichaud and we can .once them
jnthn cotto: aww...fail
cotto well crud
jnthn cotto: gist.github.com/234639
pmichaud I'm still slightly more concerned with correct semantics than speed :)
cotto {{{ win32 }}}
thanks 16:57
Wolfman2000 Hmm...STD.pm is a Perl 6 module primarily, yet I was able to build a Perl 5 compatible version. Seems that almost any time I try to use it, I am told of "Use of uninitialized value $DEBUG in bitwise and (&) at (file location)". Where/how do I set this debug, first of all? 16:58
lisppaste3 Wolfman2000 pasted "Simple test, yet...it failed." at paste.lisp.org/display/90385 17:00
diakopter Wolfman2000: would you nopaste the contents of that STD.pm you have there 17:01
Wolfman2000 diakopter: sure. hang on
17:02 seanstickle joined
diakopter b/c I'm curious how it's working at all in that path 17:02
pmurias diakopter: hi
17:02 seanstickle left
diakopter oh 17:02
Wolfman2000 argh...I can't seem to remember the terminal command to cat to clipboard
diakopter pmurias: howdy! :)
Wolfman2000: never mind 17:03
I see how that module does it
Wolfman2000 diakopter: while you prepare the next task for me, I have to do the next round of laundry
17:04 synth joined
diakopter Wolfman2000: well, I don't know; I use the STD.pm from the pugs repo 17:04
17:05 ktne joined
Wolfman2000 diakopter: back. I believe I also have the pugs repo, but...isn't THAT STD.pm more for...well, Perl 6 versus Perl 5? 17:11
diakopter they're both for the same purpose
pmurias Wolfman2000: STD is compiled to perl5 17:12
diakopter parsing Perl 6 source code using a Perl 5 module that happened to be compiled/generated/translated from STD.pm (written in Perl 6)
Wolfman2000 ...I could have thought I already did that compiling step. Hence, perl5/lib/perl5/STD.pm 17:13
diakopter right.
though here's one thing you missed: 17:14
'You have to put "use STD;" before using this module.'
TimToady which actually pulls in STD.pmc 17:15
diakopter (from) search.cpan.org/~azawawi/Syntax-Hig...t/Perl6.pm
Wolfman2000 diakopter: put that in...still get the same error
also: I originally HAD use STD; in the code in question before I loaded Syntax::Highlight::Perl6; 17:16
TimToady note also that the line number you get is really in STD.pmc, not STD.pm
lisppaste3 Wolfman2000 pasted "My STD us--hey, where'd the captcha go?" at paste.lisp.org/display/90388
TimToady STD.pm5 is the readable version of that 17:17
diakopter cpansearch.perl.org/src/AZAWAWI/Syn...-0.76/lib/
(doesn't have a STD.pm5)
TimToady that's probably getting pretty ancient
Wolfman2000 ...so who has the right version? azawawi or me?
TimToady if he bundled a STD, it has to be an old snapshot 17:18
Wolfman2000 ...well, of Syntax::Highlight::Perl6, we both have the same version.
...oh: talking of STD.pm now
Well, STD.pm has been updated recently...guess I'll have to re-figure out how to "compile" it 17:19
17:20 araujo joined
TimToady why is there a literal \\r\\n\\r\\n in the file? 17:20
Wolfman2000 TimToady: pastebin. <textarea>
TimToady well, p6 can't parse that
the warning is unrelated to the parsefail 17:21
Wolfman2000 ...
so strip the \\rs and I should have it?
TimToady there's some failure of understand of abstraction levels here...
*understanding
the problem is that after you take a text and turn CRLF into \\r\\n, it's no longer Perl 6 17:22
you should be parsing whatever you had before CRLF turned into \\r\\n
Wolfman2000 TimToady: That's difficult. The original lines: use v6;ENTERENTERsay "Hello World!"; 17:23
TimToady that's why it's saying there's no 'r' subroutine
that's not Perl 6 either
Wolfman2000 This was entered in a <textarea>, and then stored in the database mostly verbatim
granted, it escaped the \\"double quotes\\", but that's easily fixible.
TimToady depending on what you mean by ENTER
Wolfman2000 TimToady: I entered a newline. HTML converted it to \\r\\n 17:24
TimToady do you mean the user typed ENTER?
Wolfman2000 yes
TimToady I don't understand "HTML converted"
then you need to make sure the text string ends up with a real newline in it at that point 17:25
not some meta-representation of it
Wolfman2000 TimToady: ...I was about to ask that.
TimToady P6 isn't going to guess when you're changing meta-levels
Wolfman2000 TimToady: Sounds like I need to s/\\\\r\\\\n/chr(13) . chr(10)/g (or however that regex will work) 17:26
TimToady some language processors like shells give the impression of guessing, but they're just confused, usually :)
17:26 __ash__ joined
TimToady that sounds too late to me 17:26
Wolfman2000 too late? Long as I catch it before it's sent to Syntax::Highlight::Perl6, it should be fine 17:27
TimToady something should be producing the CRLF earlier in the process, or be told not to translate to \\\\r\\\\n
argh, no, it's almost always wrong to try to undo what something earlier did wrong
information is lost 17:28
what if the program contains a real \\r\\n?
much better to fix it at the source
17:30 frew_ joined
Wolfman2000 TimToady: to confirm: when the person makes the paste, catch the error THEN. 17:32
TimToady you need to capture control someplace where whatever represents newline really represents newline, not just a meta-representation of newline 17:36
Wolfman2000 TimToady: new paste on the way.
lisppaste3 Wolfman2000 pasted "Result of Data::Dumper and SQL Insert. Not seeing \\rs or \\ns." at paste.lisp.org/display/90390 17:37
Wolfman2000 TimToady: if it also matters, SQLite put in the literal newlines, and not the meta representations 17:40
pmichaud $ ./perl6 17:47
> say 0.25.WHAT
Rat()
> say 0.25.perl
1/4
lambdabot Not in scope: `say'Not in scope: data constructor `WHAT'
Not in scope: `say'Not in scope: `perl'
pmichaud > say 5.25.perl
lambdabot Not in scope: `say'Not in scope: `perl'
pmichaud 21/4
>
lambdabot not an expression: `'
pmichaud \\o/
TimToady arguably, .perl could spit out 5.25 to mean a Rat 17:50
Wolfman2000 TimToady: I think I have a better idea of what's going on. My latest pastes inserted themselves seemingly correctly. When I tried to store the value into a perl variable, the newlines BECAME \\r\\n
pmichaud TimToady: what would we expect for (1/3).perl, then ?
TimToady 1/3 :)
Wolfman2000 rakudo: say (1/3).perl; 17:51
pmichaud that's a little too dwimmy for my tastes :)
p6eval rakudo d04cce: 1/3␤
Wolfman2000 rakudo does it
TimToady well, the question is what the user expects
it's certainly correct to return either 1/3 or 5.25 by current spec
pmichaud Wolfman2000: TimToady is suggesting that (21/4).perl should perhaps output "5.25"
Wolfman2000 TimToady--: I have to disagree with you there. 17:52
pmichaud Wolfman2000: while (1/3).perl would output "1/3"
anyway, both are technically correct according to current spec, yes. :)
TimToady rakudo: say 3.14159265.perl 17:55
p6eval rakudo d04cce: 3.14159265␤
pmichaud $ ./perl6 17:56
> say 3.14159265.perl
62831853/20000000
>
lambdabot Not in scope: `say'Not in scope: `perl'
not an expression: `'
TimToady I think 3.14159265 preserves understanding
though it could be argued the Rat preserves a different understanding :)
pmichaud so, what's the guideline for deciding when it perlifies to a rational vs a dec_number ? 17:57
TimToady well, obviously non-repeating is one criterion 17:58
17:58 payload joined
TimToady but there could be some kind of relative length criterion 17:58
pmichaud 21/4 and 5.25 have the same length :)
but yes, I understand the point :) 17:59
TimToady it would be nice to figure out which denominators work and which ones don't without actually doing it
18:02 masak joined
Wolfman2000 may have a new idea...better try it 18:02
TimToady: Perhaps my issue is that I'm trying to do all of the conversions at once. I'm going to see if I can instead split the lines by newline and parse individually. 18:03
18:09 Whiteknight joined
masak Wolfman2000: what do you mean by 'and parse individually'? 18:11
Wolfman2000 masak: interate line by line, separated by the literal newlines.
Can't seem to do it all in one gulp, so I'm breaking it apart.
masak Wolfman2000: yes, but iterate what? what is it you're doing line by line?
pmichaud phenny: tell colomon dec_number (1.23 and 1.05e+3) is now implemented in ng branch.
phenny pmichaud: I'll pass that on when colomon is around.
Wolfman2000 masak: the paste 18:12
pmichaud a line-by-line parse doesn't seem likely to work.
masak that's what I was getting at.
pmichaud (assuming that the goal is to indeed parse the paste)
Wolfman2000 pmichaud: that goal is correct.
let me try this solution out: if I'm wrong, I'll paste it
pmichaud hugme tweet rakudo-ng now correctly treats 1.23 as Rat 18:13
hugme pmichaud: Sorry, I don't have access to twitter account ''
pmichaud hugme tweet rakudoperl rakudo-ng now correctly treats 1.23 as Rat
hugme hugs pmichaud; tweet delivered
Wolfman2000 ...GAH! Alright, I'll paste. 18:15
pmichaud time for lunch 18:16
lisppaste3 Wolfman2000 pasted "My failed attempts at using Syntax::Highlight::Perl6 with pastes inside the database. OY!" at paste.lisp.org/display/90395
masak Wolfman2000: the idea of highlighting line-by-line is doomed from the beginning. 18:17
Perl 6 simply isn't that context-free.
pmichaud
.oO(I wonder if it would be possible to have an "ng:" entry on p6eval? Or perhaps we'll be able to merge back to master soon enough that it won't matter.)
18:18
Wolfman2000 masak: Well, my idea of slurping the whole thing hasn't worked out either
masak Wolfman2000: why is that?
Wolfman2000 Somehow, the literal newlines aren't being respected when you place the database contents into $paste 18:19
my $txt = $row->content; From what I've seen, $txt usually convers \\x13\\x10 to \\r\\n
masak well, you'll have to fix that. 18:20
find out what's doing the escaping. 18:21
Wolfman2000 masak: the content is stored in the database correctly. It's DBIC that's doing this I think. So far, that room has not been helpful.
masak unfortunately, I have no clue either. 18:22
lisppaste3 Wolfman2000 pasted "My error message BTW." at paste.lisp.org/display/90396
TimToady I think I figured out how to identify denominators that would work well as decimals for .perl 18:26
it has to have only factors of 2 and 5
masak that sounds like it could make sense.
TimToady so basically you shift off all the low 0 bits, and if the remaining number is a power of 5, it works 18:27
basically, you're constructing a new denominator that is a power of 10
so you multiply excess 2's by 5 and excess 5's by 2 18:28
18:28 jeremiah1 joined
moritz_ re 18:28
TimToady once you have a power of 10, you can use its size to place a dot into the numerator
jeremiah1 Zip is not playing friendly. 18:29
TimToady so can probably be done without any division at all, I think, if you allow table lookup of powers of 5 and powers of 10
jeremiah1 I have pasted some code from perlcabal
masak moritz_! \\o/
jeremiah1 And it says it cannot find zip. 18:30
I wonder if that means I need a newer rakudo? hmmm.
moritz_ zip is not implemented in rakudo, only infix:<Z> is (iirc)
rakudo: say zip [1, 2], [3, 4]
p6eval rakudo d04cce: Could not find non-existent sub zip␤in Main (file src/gen_setting.pm, line 324)␤
jeremiah1 okay 18:31
thanks moritz_
masak is it because zip would use slices with semicolons in them as arguments?
moritz_ masak: yes 18:32
masak will ng give us that? :>
masak believes the ng branch represents miraculous things
moritz_ masak: I think it's about the only thing it doesn't give us ;-)
Wolfman2000 could use a miracle right now.
jeremiah1 Where can I get ng? =] 18:33
moritz_ unless the the capture/parcel thing brings it to us
TimToady which it might, if we ever converge on a spec
masak I still haven't mentally gotten used to Parcels.
TimToady they're just Captures that haven't been sorted into sheep and goats yet
masak nod.
jeremiah1 Goats? Sheep? 18:34
masak I know how they work, just haven't grokked why we need them just yet.
jeremiah1 I may be in the wrong channel . . .
:)
masak jeremiah1: we also have monkeys and rats in Perl 6.
jeremiah1 Now THAT sounds more like it.
masak and a big boat, if it starts to rain.
TimToady it did just start to rain, and the forecast was for 'clear' 18:35
jeremiah1 Picture becoming clearer - metaphor taking shape.
masak TimToady: I'll keep the boat engine running, just in case.
TimToady one could imagine Perl 6 as a kind of arcology :)
jeremiah1 groans
moritz_ my girlfriend suggested to introduce a Zoo ;-)
moritz_ wonders if the KitchSink role also fits into the Zoo 18:36
TimToady so maybe we should have a KitchetSkink
moritz_ *KitchenSink
TimToady that too
masak moritz_: a KitchSink is just a tacky KitchenSink? :)
Wolfman2000 I thought the goal of Perl 6 was to have everything BUT the KitchenSink
masak Woody2143: too late. it's in STD.pm. 18:37
TimToady no, we have that too
jnthn std: KitchenSink
p6eval std 29086: ok 00:01 101m␤
masak std: KitchSink
TimToady std: KitchenSkink
p6eval std 29086: Undeclared name:␤ 'KitchSink' used at line 1␤ok 00:01 99m␤
std 29086: Undeclared name:␤ 'KitchenSkink' used at line 1␤ok 00:01 99m␤
jnthn oh noes, the sink had a leak!
masak std: CatchySkunk
TimToady Excess Flood!?!?
p6eval std 29086: Undeclared name:␤ 'CatchySkunk' used at line 1␤ok 00:01 99m␤
jeremiah1 heh
18:38 dalek joined
diakopter alack, poor dalek 18:38
masak TimToady: it's yet another sign.
TimToady: I feel the level rising in this channel.
jeremiah1 I knew him well.
TimToady well, dalek is in .nl, so it'll be the first to go
masak *lol*
moritz_ might have killed dalek with some commits :-)
moritz_ just showed his girlfriend what a nice place #perl6 is 18:39
TimToady not sure if you can characterize horrible pun wars as "nice".... 18:40
masak
.oO( signal-to-nice ratio )
18:41
TimToady
.oO( single-to-nice ratio )
jeremiah1 That is marriage itself: Single to nice. 18:42
masak ah. that explains a lot. maybe I'd be much nicer if I had a girlfriend. :)
TimToady I don't know if we could stand it
jnthn ETOONICE
mathw Hello 18:43
TimToady alas, with Unix folks, niceness is a negative priority
masak "Apparently, the whole channel was appeased to death."
jnthn pmichaud: about? 18:44
masak mathw! \\o/
mathw yo masak
jnthn hi mathw! :-)
How (i|wa)s London?
mathw Crowded
I'm currently utilising the free wifi at st pancras
my train isn't for another two hours
but I've just dispatched my sister off to cambridge
jnthn Is that because it's delayed?
TimToady ah, good old st pancreas...
mathw and my feet hurt
jnthn ;-) 18:45
mathw no it's because I'm on an advance, one-train-only ticket
TimToady we stayed in a hotel about 2 blocks from there once
mathw on the other hand, it means I did Nottingham<->London first class for £28
TimToady for a whole week, so we got used to the look of that station
kinda
masak is there a St Spleen and St Liver too?
mathw TimToady: Was that before or after the big refurb and the arrival of the Eurostar?
masak: No but there should be 18:46
masak St Appendix Vermiformis!
jnthn masak: That gives me horrible memories of someone who dressed up as St Pancreas station at fancy dress once, back in my uni days...
mathw jnthn: rofl!
masak jnthn: I have no trouble imagining that as 'horrible' :) 18:47
mathw starts a campaign to rename Stratford International to St Medulla Oblongata in time for the 2012 Olympics
Sorry, St Medulla Oblongata International
masak :)
TimToady mathw: we were there ~6 years ago, I think
mathw that would be while the Eurostar was still at Waterloo then 18:48
jnthn rode the Eurostar on the day after it had moved to St Pancras.
Given I was arriving from the north into KX, I was rather glad that I had a five minute walk arather than a 45 minute tube ride... 18:49
mathw yes
it's convenient for me, as the nottingham trains arrive at StP too
although I haven't used the Eurostar for years
and my passport's expired
jnthn Heh. :-) 18:50
.oO( If my passport were to expire right now, I'd have to get a new one before I could get back into England. However, I could visit most of continental Europe just fine. )
18:51
mathw and I'm not sure how much longer I'm going to be in nottingham
jeremiah1 oh noes - Unable to locate parrot_config
Just installed the parrot package on debian
jnthn jeremiah1: OH NOES!
mathw jnthn: yeah, crazy isn't it. We really need to sign up to Schengen
jeremiah1 But rakudo cannot find it. :(
jnthn: Hi!
mathw jeremiah1: nooooooooooooooo
jeremiah1 I'll see you next weekend in Riga :)
jnthn jeremiah1: oh hi, you the...yes, you are. 18:52
Awesome.
jeremiah1 mathw: Have I done something horribly wrong?
jnthn wanted to make sure he said "see you in Riga" to the corret Jeremiah. :-)
masak jeremiah1: hi. I don't believe we've met, but see you in Riga. :)
jeremiah1 THere are others?
mathw jeremiah1: I don't know, I was just comiserating. I'm in no fit state to help you at the moment I'm afraid.
jeremiah1 masak: We meet quickly at NPW :) 18:53
But not formally,.
masak ok :)
TimToady obviously if there's a jeremiah1 there's a jeremiah0...
jeremiah1 mathw: :)
jnthn jeremiah1: Riga is like, so getting invaded by (Swedish|people living in Sweden) next week.
jeremiah1 I thought jeremiah0 was me when I was not lazy and registered my nick.
jnthn: Dude, totally. :)
And perl 6ers
jnthn \\o/ 18:54
mathw wishes slow station announcement man would get to the point
jeremiah1 I'm taking the ferry from Stockholm to Riga.
Should be fun
TimToady last I checked, there were 137 Larry Walls in the U.S. and two of them were me.
jeremiah1 TimToady: So you must get his mail.
TimToady only about half the time
jeremiah1 :P
mathw TimToady: two of them? 18:55
137 out of whatever the current US population is makes that a pretty rare name, I'd say
jnthn mathw: Is it actually a real person, or automated? :-)
mathw jnthn: real person
jnthn mathw: Ah.
mathw: Some statioins go in for automation, it seems.
mathw jnthn: st pancras international, oddly, has no automated announcements 18:56
there are no announcements of train departures
you have to watch the screens
jnthn mathw: Leading to such wonderous announcements as "We're sorry to report that the 17:37 train will depart 20 minutes late late because...it has been delayed."
mathw they only announce like they did just now that something exceptional has occurred
jnthn erm, without the dupe late...but still...
mathw jnthn: don't forget "East Midlands Trains apologises for any inconvenience caused"
Wolfman2000 masak: ......I found the error. 18:57
masak Wolfman2000++
sometimes you look at the output of a MegaHAL bot, and you just know they've been spending too much time in the wrong circles. 19:03
TimToady I'm sorry, masak.
masak TimToady: I didn't mean you in particular, TimToadybot. :) 19:04
but I found this Twitter user who's a MegaHAL bot.
I found it because it said "Perl 6 excites my man-loving gene.", which triggered my live "Perl 6" search. 19:05
jeremiah1 Talking to that TimToadybot is like talking to a wall.
masak jeremiah1: :)
jeremiah1 :)
19:06 colomon joined
masak that bot also says things like "Don't even think anarchism is a crab slut.", "Zen and the desperate need to find a way to think too hard.", and "It's great how Fox News reports it straight, fair and balanced." 19:06
(those are the nicer things it says, by the way)
indecent MegaHAL bot, you just got another follower on Twitter. :) 19:07
Wolfman2000 masak: the error I was making was a silly one. I was always selecting the first post. The post that had...the initial \\r\\ns placed manually. 19:08
masak Wolfman2000: there you go :)
Wolfman2000 Now...how can I squelch this warning with my STD.pm? Use of uninitialized value $DEBUG in bitwise and (&) at FILE 19:09
I'm getting tired of seeing that on the command line: I have to keep my debug stuff open 19:10
moritz_ define $DEBUG? 19:11
19:12 colomon_ joined
quietfanatic My guess, from that error message, is that it's supposed to be $DEBUG && do_something, but the && turned into & for some reason. 19:12
Wolfman2000 moritz_: if I knew what value to give it
quietfanatic: My STD.pm is not the most updated right now 19:13
quietfanatic because $DEBUG && do_something is probably common
moritz_ Wolfman2000: I'd try it with 0
Wolfman2000 But I don't recall how to compile the version
quietfanatic that do_something is probably warn() in fact
masak "Maybe it's about sexual liberation and not Perl & Python." - Yet another reason to rename it Perl Sex, then. 19:14
Wolfman2000 moritz_: $DEBUG = 0 does not work for the code
I'm still warned
19:14 snearch_ joined, snearch_ left
jnthn masak: Isn't it "Perl Sex" in Swedish anyway? ;-) 19:14
masak jnthn: yes, but we've always been progressive in that respect in Sweden. 19:15
or so I've heard.
19:15 snearch joined
quietfanatic What does the offending line look like in STD.pmc? 19:15
colomon pmichaud: just caught up with your comments on the rat tests. 19:16
phenny colomon: 18:11Z <pmichaud> tell colomon dec_number (1.23 and 1.05e+3) is now implemented in ng branch.
colomon \\o/
I was hoping I'd discover that when I got home. :) 19:17
jeremiah1 masak: Is Squerl only on GitHub?
masak jeremiah1: as opposed to what? CPAN?
jeremiah1 Yes
masak jeremiah1: then yes, it's only on github.
jeremiah1 Or rather, where should I be looking? :) 19:18
GitHub it is.
19:18 chromatic joined
jeremiah1 Thanks 19:18
masak Web.pm (of which Squerl is currently a part) hasn't been released to CPAN... yet.
jeremiah1 Squerl.org was amuzing.
I mean amusing.
masak heh. I have nothing to do with that one :)
jeremiah1 I figgured 19:19
colomon pmichaud: the tests were originally set up to verify that Rats stringified like the equivalent Nums, without forcing Nums to stringify a particular way.
19:19 fridim_ joined
jnthn (squerl.org)++ 19:21
colomon or perhaps rat.t will fail for no apparent reason. :( 19:29
plan * not implemented yet? 19:30
okay, plan 60 (arbitrarily chosen) gets it going again. 19:31
moritz_
.oO( plan 9 is implemented, but plan * isn't? ;-)
19:32
colomon: what aobut no plan at all, but done_testing() at the end?
colomon moritz_: hard to say, since test three bombs out. :) 19:33
So, test three needs Int.Rat. I uncommented Int.Rat in Int.pm, but seems like Int.pm doesn't recognize Rat. Suggestions? 19:34
I could just move the definition to Rat.pm, I suppose...
Wolfman2000 masak, others: i37.tinypic.com/30tjja1.png FINALLY got something here! 19:35
masak Wolfman2000: cool!
Wolfman2000 The fun part will be coming now: will an improper syntax break, or be caught in my exception code? 19:36
moritz_ colomon: you can the order of the .pm files in Make (grep for CORE_SOURCES =)
colomon But Rat depends on Int, of course...
moritz_ colomon: if Int doesn't know about Rat, it must be forward declared
colomon oh, will that work here? 19:37
moritz_ class Rat { }; class Int { ... }; augment class Rat { ... }
probably not with stubbing yet, but with augment
dalek kudo: 7347ec0 | masak++ | src/parser/actions.pm:
[parser/actions.pm] aligned documentation with code

more sense.
TimToady std: class R {...}; class I { }; class R {} 19:39
p6eval std 29086: [31m===[0mSORRY![31m===[0m␤Illegal redeclaration of symbol 'GLOBAL::<R>' (from line 1) at /tmp/VR6y9iXbQL line 1:␤------> [32mclass R {...}; class I { }; class R[33m⏏[31m {}[0m␤FAILED 00:01 101m␤
TimToady hmm, thought I fixed that one
moritz_ thinks TimToady needs regression tests for STD.pm
TimToady std: my class R {...}; my class I { }; my class R {}
p6eval std 29086: [31m===[0mSORRY![31m===[0m␤Illegal redeclaration of symbol 'R' (from line 1) at /tmp/ubT7FNW7nd line 1:␤------> [32mlass R {...}; my class I { }; my class R[33m⏏[31m {}[0m␤FAILED 00:01 100m␤
TimToady I use the whole test suite for regression tests :) 19:40
moritz_ that does tell us a bit about missing tests ;-)
I think we have such tests inside eval
TimToady std: sub foo {...}; sub foo {} 19:41
p6eval std 29086: [31m===[0mSORRY![31m===[0m␤Illegal redeclaration of routine 'foo' (from line 1) at /tmp/b26aau4LmO line 1:␤------> [32msub foo {...}; sub foo[33m⏏[31m {}[0m␤ expecting new name to be defined␤FAILED 00:01 100m␤
TimToady huh
moritz_ is bitwise negation of floats allowed? 19:42
zaslon lolmasakhazblogged! masak++ 'November 14 2009 -- it's a slightly smaller step for a man': use.perl.org/~masak/journal/39898?from=rss
moritz_ perl6: say +^ -1 19:43
p6eval pugs, rakudo d04cce: 0␤
..elf 29086: Undefined subroutine &GLOBAL::prefix__43_94 called at (eval 123) line 3.␤ at ./elf_h line 5881␤
TimToady I think +^ probably implies coercion to Int
moritz_ TimToady: thanks, good answer ;-) 19:44
it means that S03-operators/bit.t is not as bad as I thought
pugs_svn r29087 | moritz++ | [t/spec] test for RT #70415, split() should return real strings 19:47
r29088 | moritz++ | [t/spec] move tests for RT #67852 to integration/real-strings.t
masak 'night, #perl6. 19:53
Tene ENOMOREMASAK 19:57
mberends :) # Tene: we have a continuation for masak 20:06
Tene Wait, so what happens if I invoke masak's continuation a dozen times? Do we get a dozen masaks? 20:07
mberends Yes, the trick is to get each one to do something different. 20:08
jnthn
.oO( multi masak { ... } )
20:09
Wolfman2000 moritz_: How will Perl6 handle datetimes anyway? 20:14
mberends Wolfman2000: perlcabal.org/syn/S32/Temporal.html 20:15
Wolfman2000: with a lot of background from the Perl 5 DateTime: search.cpan.org/~drolsky/DateTime-0...ateTime.pm 20:18
Wolfman2000 mberends: ...yeah, I'm using DateTime right now for the pastebin 20:19
at least I'm getting closer to finishing this darn thing.
mberends :)
20:30 oZ] joined
colomon Oh ack, our Num.Rat depends heavily on list assignment (NYI in ng). 20:43
jnthn colomon: Ah. Ouch.
colomon: I think it's on the "do soon" list though. :-)
colomon :)
Just trying to sprint and see how far I can get here. :) 20:44
jnthn :-D 20:45
colomon++
colomon You know: fix test 3. skip test 4. then test 5 breaks. :)
Rat.new (no arguments) doesn't work anymore: No applicable candidates found to dispatch to for 'new' 20:46
Rat.new(1,4) does work.
jnthn That's odd... 20:47
colomon It would be trivial to implement, but I thought it was automatic? 20:48
pmichaud back again 20:49
colomon \\o
jnthn colomon: is Rat.new marked multi?
colomon Thanks for the number parsing work.
jnthn wb pmichaud
colomon jnthn: yes
pmichaud jnthn: difficult to implement class stubs?
jnthn pmichaud: prob not. 20:50
colomon: that's...odd...then.
pmichaud might help with the Rat/Int/Num ordering
jnthn pmichaud: Heh. I thought that might be where you were going.
colomon I've already checked in the simple workaround of just putting Int.Rat in Rat.pm.
jnthn I was thinking jsut yesterday, "hmm...class stubs would solve this problem..."
pmichaud well, in the meantime I don't have any problem with putting some of Int's methods into the Rat.pm file
colomon++
jnthn I can do class stubs Monday at latest. 20:51
Perhaps tomorrow.
colomon Num.Rat hung up over list assignment, non-trivial to sort it out.
pmichaud I'll work on list assignment later today then 20:52
I worked on it a bit last night, but decided I needed a bit more thinking on it first
colomon don't let me rush you, either. 20:53
jnthn I thought long enough to know to leave it to pmichaud++ :-)
colomon no eval yet in ng, I see... 20:54
Nor Num.Str. Any idea what it would take to implement that? 20:55
pmichaud eval? or Num.Str ?
colomon Num.Str would be more short-term useful, and probably easier, I'm guessing. 20:56
(Num.Str was what I was asking about.)
pmichaud seems like Num.Str ought to be super-simple to implement
why not whatever version was in master ?
colomon I assumed it was some deep PIR thing and didn't look for it. 20:57
Doh!
jnthn It may ahve been PIR before, but probably need not be.
colomon ~self 20:58
jnthn :D
pmichaud that's wrong.
colomon is the implementation.
oh wait, that's Num.perl
and also Num.Str
pmichaud we can cheat it that way for now, but in general I think that operators should be defined in terms of methods, not vice-versa
jnthn yeah
colomon the question is, is ~Num implemented yet?
jnthn method Str { pir::set__SP(self) } # is what I was pondering
colomon ~Num is implemented. 20:59
pmichaud jnthn +1
colomon That's why "say Num" works, but say Rat.Num.Str doesn't.
20:59 Eevee joined
colomon Also, we don't have a Num.pm in ng yet, I don't think? 21:00
pmichaud that's just because say currently goes through Parrot's stringify interface
say doesn't use prefix:<~>
colomon ah, okay.
jnthn colomon: say Num and say (instance of Num) are different.
colomon or .Str?
jnthn (type objects stringify differently)
pmichaud at the moment say just goes through Parrot's stringify interface. I'm not sure what the ultimate result will be.
colomon jnthn: I know, just using say Num as shorthand here. (either that, or I totally don't get your comment.)
jnthn colomon: ah, ok 21:01
colomon It was driving me crazy that "say 1.Num" would work, but "say 1.Num.Str" wouldn't.
Any objection to going with Num.Str() { ~self } for the moment? And if so, where does it go? 21:02
pmichaud Num.pm
actually,
src/cheats/num-str.pm
we're trying to put our various cheats into the src/cheats directory
you can just do src/cheats/num.pm if we think we'll have more num-based-cheats 21:03
moritz_ phenny: tell KyleHa re kh-1, I'm pretty sure that Bool::True.name should return 'True'; S12:1762 defines Bool to be an enum, and S12:1649 says .name returns the short name
phenny moritz_: I'll pass that on when KyleHa is around.
moritz_ did I read the backscroll correctly, and we have rakuo-ng reporting from dalek now? 21:04
pmichaud I haven't seen that.
colomon me neither.
pmichaud although I was wondering if it would be a huge pain to have ng in p6eval
moritz_ I've probably confused it with nqp-rx
pmichaud: not a huge pain, just work ;-) 21:05
pmichaud well, I think the merge is likely to be at least >7 days away, and a lot of people could be p6eval-testing it
but since I'm not doing the work, it's just a suggestion/idea :) 21:06
moritz_ I guess I'll a do it a bit less elaborate than mainline rakudo, which has two alternating parrot installs to guarntuee minimal downtime while rebuilding 21:07
colomon where do I add src/cheats/num.pm so it gets compiled properly?
pmichaud build/Makefile.in 21:08
21:08 oZ] left
pmichaud see the example for traits-export.pm (or something like that) 21:08
yeah, same as trait-export.pm
colomon that did something, anyway... 21:09
pmichaud dont forget to use Configure.pl to rebuild the makefil e:)
colomon :)
looks good! 21:10
The Rat stringification tests (which rely on Num.Str extensively) now work. :) 21:12
pushed. 21:13
Does "dies_ok" currently work? 21:14
jnthn colomon: If a whole test file passes, uncomment it in spectest.data :-)
colomon: I'm not sure - there was some odd issue with "defined" last time I looked...
colomon jnthn: not even close to a whole test file yet. :)
jnthn Aww!
21:17 nihiliad joined
colomon Huh. infix:<+> doesn't work for Rats. 21:18
jnthn colomon: When called from within the setting? 21:19
colomon infix:<+> called from rat.t.
it complains about Rat.new.
No applicable candidates found to dispatch to for 'new' 21:20
jnthn ah, that...
You *may* have run into a nasty dispatch problem that I discovered yesterday.
In fact, quite likely - I was chasing the same kinda error. :-( 21:21
colomon Actually, problem seems to be that Int math is returning a Num.
21:22 c9s joined
colomon Huh. $a.denominator * $b.denominator is coming out Num, even though both of those are Int. 21:26
21:26 c9s joined
colomon doesn't seem to happen in the REPL? 21:27
21:27 c9s joined
jnthn colomon: right 21:27
colomon: It's certainly the dispatch bug then.
Parrot mis-applies an optimization, and in doing so circumvents the multi-dispatcher. 21:28
Unfortunately, much as I'd like to rip out said optimziation, people have come to rely on the bug. :-(
pmichaud "mis-applies an optimization" -- that really depends on perspective. 21:30
there's nothing that says that find_name semantics have priority.
is there an &infix:<*>(Int, Int) yet? 21:31
ah, there is.
jnthn pmichaud: Well, there's nothing that says otherwise either. :-) 21:32
pmichaud except tradition and history :)
jnthn But taking that view, that suggests it's up to us to generate different code.
(or get a behavior-changing pragma added) 21:33
pmichaud or that imcc should provid.... right
should I go ahead and add the flag to past? or should we add :multi to our subs?
I'd hate for us to block on this for a long time.
jnthn I'm pretty sure that adding :multi to our subs will break other things.
pmichaud why is that? 21:34
21:34 frew_ joined
pmichaud if you're already doing :anon, it won't go in the namespace 21:34
jnthn oh, true...
pmichaud and :multi tells imcc not to optimize it
jnthn So that means it'd ignore the :multi completely? Or?
(Other than for saying "don't optimzie it"?)
pmichaud I dunno. I just know that :multi doesn't participate in the optimization
(because for obvious reasons it can't) 21:35
jnthn Right, I'm just not sure how :multi and :anon play together.
If we aren't ending up somewhere building a Parrot MultiSub, then we're fine.
pmichaud I think we might end up building Parrot MultiSubs and throwing them away as unbound
but that might be an acceptable interim that is preferable to a past flag 21:36
jnthn That'd be a tad inefficient, but if it works fine as a fix for now, it's fine by me.
And I'm really not sure a PAST flag is a good idea. :-) 21:37
pmichaud I'd give it a try until we have some idea what Parrot is likely to do
actually.....
pugs_svn r29089 | moritz++ | [evalbot] first shot at ng
pmichaud come to think of it, I wouldn't do it as a flag
I'd do it as a new :pasttype
'callbyname'
instead of 'call
'
jnthn I think both may be wrong. 21:38
pmichaud I don't see a problem with adding a new pasttype for it, though.
jnthn Call by name just feels like an odd name for it.
pmichaud I'm open for other suggestions 21:39
jnthn I mean, if we do this, we probably should be defining these in terms of the scope we look in to find the thingy.
pmichaud or, it could be a flag.
we might need 'tailcall' versions at some point
jnthn In many ways, :name('foo'), :pasttype('call') is a convenience.
For PAST::Op.new( :pasttype('call'), PAST::Var(...look up foo in the right place...) ) 21:40
Thing is, while we have "lexical" and "package" scopes for vars, we don't have a "find_name" equivalent. 21:41
pmichaud sure, with the advantage(?) that the convenience also offers some possible optimization hooks
where if we explicitly use PAST::Var, those hooks are less obvious.
jnthn Well, maybe the answer is that :name(...) is what you use when that optimization is allowable.
pmichaud that's possible, yes.
jnthn And if you don't want said opt you write a PAST::Var node in there.
pmichaud we do have a find_name equivalent
jnthn Oh?
pmichaud PAST::Op.new( :pirop('find_sub_not_null'), 'foo') 21:42
it doesn't deserve to be a PAST::Var, because you can't store to it.
jnthn Hm
Perhaps, yeah.
pmichaud same for :pirop('find_name')
jnthn Aye.
21:42 eternaleye joined
jnthn Well, technically you could store to something that you look up in that way, Parrot just doesn't have an op for doing a store with the same lookup semantics as find_name. 21:43
pmichaud btw, I'm thinking that for consistency I might have :pirop('opcode sig') accept the double-underscore form as well (:pirop('opcode__sig'))
jnthn Yeah, I'd prefer only one form.
pmichaud if you store to something you look up that way, you'd have to know what kind of thing you found
and yes, it's possible to have a store_name opcode.... I just don't know how likely it is 21:44
eternaleye Is there any particular reason that all Junction types have infix constructors _except_ 'none'? Would infix:<!> complicate the grammar somehow?
moritz_ evalbot control restart
21:44 p6eval joined
moritz_ ng: say 'hi'; 21:45
p6eval ng 7347ec: hi␤
jnthn evalbot control yourself
;-)
moritz_: Yay! :-)
pmichaud ng: say 0.25.perl;
p6eval ng 7347ec: 0.25␤
pmichaud hmmmm
moritz_ don't know yet if the crontab for the rebuild works
pmichaud ng: say 0.25.WHAT;
p6eval ng 7347ec: Num()␤
moritz_ will find out tomorrow if you keep comitting stuff ;-)
pmichaud that doesn't look like the ng branch to me.
moritz_ oh 21:46
moritz_ fail
pmichaud eternaleye: there's been off-and-on discussion about creating an infix constructor for none junctions, but nobody's come up with a real need or use case for them outside of filling up a slot
infix:<!> would mean not really having a postfix:<!> for factorial, though :-) 21:47
and we also have the case that ! is a meta-infix op
eternaleye ng: multi infix:<!> is :assoc<chain>( *@eigenvalues --> Junction ) { return( none( @eigenvalues ) ); }; say (3 ! 2 ! 1).WHAT
p6eval ng 7347ec: Malformed routine definition at line 2, near "infix:<!> "␤in Main (file <unknown>, line <unknown>)␤
pmichaud ng doesn't do operator overloading yet. 21:48
sorry, rephrase
ng doesn't understand custom operator definitions yet
(it'll overload existing operators just fine)
eternaleye pmichaud: Also, how would it block postfix:<!>? <term><postfix><term> is a parsefail, whereas <term><infix> is also a parsefail - no intersection 21:49
pmichaud eternaleye: you're assuming backtracking, I think.
eternaleye Maybe 21:50
pmichaud but in general infix and postfix occur in operator position, so one has to be careful with collisions there.
eternaleye Heh, maybe use ¡
pmichaud or ⊥ 21:52
jnthn or nor
colomon pmichaud++ # just realized that (0.25).WHAT is Rat in ng now! \\o/ 21:53
eternaleye Ooh, I like nor
jnthn Well
It really wants a prefix neither too is the problem. :-)
neither 1 nor 2 nor 3
:-)
eternaleye heh
jnthn Which is no better than none(1,2,3) :-)
pmichaud and at some point it's just easier to say none(1,2,3) than "1 nor 2 nor 3"
eternaleye Although, nor fits the pattern of code-branching better than junction construction
jnthn Yeah, like, already after you typed nor twice. :-) 21:54
eternaleye and, or, etc
jnthn yeah
pmichaud ooooh 21:56
we've sometimes talked about a when't feature
maybe that's really when none(...)
i.e., when none(Int) # anything but an Int 21:57
21:57 kidd_ joined
pmichaud afk for a short bit 21:58
22:06 astrojp joined 22:09 hcchien joined
chromatic jnthn, fixing your bug yesterday means fixing a lot of things in PGE. 22:14
jnthn chromatic: Yeah. pmichaud feared it may be that way, I think.
chromatic: I guess too much code that exists relies on being able to call anonymous subs that way :-( 22:15
22:15 alester joined
chromatic In particular, PIR tests check explicitly that .const can find subs by name even when declared :anon. 22:15
jnthn I think .const is meant to go by subid anyway (which just defaults to name), so that isn't a problem - that's the "right way" in many senses. 22:16
22:16 hcchien joined
jnthn Ah, or was your point that .const and "foo" go through the same mechanism? 22:16
erm, "foo"()
for even foo() 22:17
chromatic They go through the same mechanism.
jnthn Ah, OK.
That makes it a bit tricker then. :-(
chromatic I *may* be able to disambiguate on the const case, but that's definitely trickier.
jnthn Yeah.
We can probably do code-gen differently to avoid the issue.
Maybe it's one to re-visit in pirc. 22:18
chromatic It should be much easier in pirc, but I'll keep thinking about it.
jnthn I hadn't quite appreciated how this form was used purposefully to call anonymous subs. If PGE does it, though, then I'm sure plenty of other code out there does too. 22:19
And the .const form really should always work - I hadn't appreciated they were tied either.
Anyway, thanks for looking into it.
My question was going to be "is it possible to add a pragma to disable the optimization", but if it breaks .const lookups of anonymous subs, it'd be unusable for us too. 22:20
jnthn afk for a little bit 22:21
22:23 lichtkind joined
jeremiah1 chromatic: I am planning to talk about 'modern perl' at the Baltic perl workshop event.perl.lv/baltic2009/ 22:27
chromatic I saw that; very nice.
jeremiah1 I have some things in my head already, but is there anything you think I should say?
I mean, anything that I shouldn't miss or that i should emphasize?
chromatic The next time I give my talk, I'll emphasize these: www.modernperlbooks.com/mt/2009/06/...-talk.html 22:28
... as well as Try::Tiny, Sub::Call::Tail, and more on local::lib. 22:29
jeremiah1 Ah, cool. I'll read that now. :)
local::lib is really great - I was planning to talk about htat
Oh wow. Tons of great stuff at those links. Thanks. 22:31
22:38 oZ] joined 22:44 NorwayGeek joined
zaslon lolpmichaudhazblogged! pmichaud++ 'Failure()<0xb6bb09e0>': Failure()<0xb6ba3678> 23:31
lolpmichaudhazblogged! pmichaud++ 'The Rakudo-ng branch': use.perl.org/~pmichaud/journal/39874?from=rss 23:35
23:47 rgrau joined 23:49 seanstickle joined