|
»ö« | 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 1current 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 1current 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 1current 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 1current 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 1current 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();[0mok 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: 1maximum recursion depth exceededin 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: 1maximum recursion depth exceededin 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 2in 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 zipin 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 1ok 00:01 99m | ||
| std 29086: Undeclared name: 'KitchenSkink' used at line 1ok 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 1ok 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===[0mIllegal redeclaration of symbol 'GLOBAL::<R>' (from line 1) at /tmp/VR6y9iXbQL line 1:------> [32mclass R {...}; class I { }; class R[33m⏏[31m {}[0mFAILED 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===[0mIllegal redeclaration of symbol 'R' (from line 1) at /tmp/ubT7FNW7nd line 1:------> [32mlass R {...}; my class I { }; my class R[33m⏏[31m {}[0mFAILED 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===[0mIllegal redeclaration of routine 'foo' (from line 1) at /tmp/b26aau4LmO line 1:------> [32msub foo {...}; sub foo[33m⏏[31m {}[0m expecting new name to be definedFAILED 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
|
|||