|
»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot: perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moritz_ on 27 June 2009. |
|||
|
00:12
kane_ joined
00:15
hercynium joined,
hoelzro left
00:17
kane_ left
00:18
frew_ joined
00:22
Chillance joined
00:27
hoelzro joined
00:28
jrtayloriv left
00:29
hoelzro left
00:30
ascent_ left
00:32
jrtayloriv joined
|
|||
| mikehh | rakudo (0cdcc88) on parrot r40175 (spec at r27624) make test/make spectest PASS - Ubuntu 9.04 amd64 | 00:47 | |
|
00:49
jrtayloriv left
00:53
Chillance left
01:02
Jedai joined
|
|||
| pugs_svn | r27635 | lwall++ | [S03] rename 'nonchaining infix' to 'structural infix' | 01:03 | |
| tann_ | rakudo: my %h; %h<a><b>; | 01:08 | |
| p6eval | rakudo 0cdcc8: OUTPUT«Method 'postcircumfix:{ }' not found for invocant of class 'Failure'» | ||
|
01:09
Jedai left
01:12
explorer left
|
|||
| skids | rakudo: my %h; %h<a>.WHAT.say | 01:13 | |
| p6eval | rakudo 0cdcc8: OUTPUT«Failure()» | ||
| skids | ...is why. Maybe worth making that failure contain text. | 01:14 | |
| tann_ | skids: should be some clever error msg | 01:15 | |
| TimToady | well, and the fact that Failure.{} doesn't work correctly :) | ||
| tann_ | rakudo: my %h; %h<a>; | ||
| p6eval | rakudo 0cdcc8: ( no output ) | ||
| TimToady | the intent is that %h<a><b><c> just return undefined even if <a> doesn't exist | ||
| (in rvalue context) | 01:16 | ||
| (in lvalue context autoviv happens) | |||
| skids | ah. | ||
| TimToady | perhaps it should just return Nil, and Nil<> produces more Nil | 01:17 | |
| tann_ | timtoady: behavior still like p5 then? | ||
| Nil would be neat | |||
| TimToady | well, even p5 can have trouble with cascaded failures | ||
| but I wanted p6 to do it right, fsdor | 01:18 | ||
| tann_ | or else, it would've been just p5++ :P | ||
| TimToady | :B <- forked tongue | 01:19 | |
| sjohnson | or bucktoothed smile | 01:20 | |
| TimToady | :BB or both | ||
| sjohnson | ( `ー´) | ||
| TimToady | :B< | 01:21 | |
| sjohnson | 14( 13*14≖‿≖13*14) | ||
| tann_ | timtoady: i still wanna see $s.trim([:head|:tail|:both]) | 01:23 | |
| my xmas wish :) | |||
| only a geek can love s/^\s+//g; or s/\s+$//g; :D | 01:24 | ||
|
01:30
tann_ left
|
|||
| sjohnson | my magical birthday candle wish is to have trim in Perl 5 | 01:30 | |
| speaking of which, TimToady, do you have any recommendations as to how to get the attention of some high-echelon Perl 5 core maintainers? | 01:31 | ||
| i think moritz_ gave me a good hint... backlogging | |||
|
01:32
meppl left
|
|||
| sjohnson | hmm maybe not | 01:34 | |
|
01:37
ascent_ joined
|
|||
| pmichaud | good evening, #perl6 | 01:41 | |
|
01:41
KyleHa joined
|
|||
| TimToady | .HOWdy | 01:41 | |
| what's up at the con tonight? | |||
| pmichaud | I have no idea -- I left. The board only showed a few BOF sessions, all of which ended around 6:30p I think | 01:43 | |
| So I grabbed me some dinner (yummy) and now some reading+hacking | 01:44 | ||
| Maybe I'll fix some of the bugs that Damian exposed during his tutorial today. :-) :-) | |||
| pugs_svn | r27636 | lwall++ | [Cursor] translate \x[] to \x{} in symbol names | 01:45 | |
| r27636 | lwall++ | [STD] rename Nonchaining to Structural | |||
| r27636 | lwall++ | [STD] awesomize the disallowed-metaop messages a bit | |||
| r27636 | lwall++ | [STD] assignment ops now set dba to "assignment" | |||
| r27636 | lwall++ | [STD] assignment ops no longer considered fiddly | |||
| TimToady | I working on my talk, as you can see :) | ||
| pmichaud | One of the post-tutorial remarks: "...you mean the spec isn't frozen yet?!?" | 01:46 | |
| :-P | |||
| If only we didn't have talks (or applications) then we might be done by now :-) :-) | |||
| TimToady | or specs to chill down... | ||
| well, I'm being called to dinner, so in the interests of domestic harmony... | 01:48 | ||
| oink & | |||
| pmichaud | (domestic harmony)++ | ||
| pugs_svn | r27637 | kyle++ | [t/spec] Rename "nonchaining" to "structural" (in comments) to agree with spec. | 01:50 | |
| KyleHa | std: my $t = 5; $t\i; | 01:54 | |
| p6eval | std 27635: OUTPUT«ok 00:02 37m» | ||
| KyleHa | std: my $t = 5; $t.i | ||
| p6eval | std 27635: OUTPUT«ok 00:02 37m» | ||
|
01:58
synth left,
synth joined
|
|||
| pugs_svn | r27638 | kyle++ | [t/spec] Test for RT #63066 | 02:11 | |
|
02:14
ascent_ left
|
|||
| colomon | Just wanted to report that I've written another Perl 6 script for work. 85 lines, and while I don't know that I gained much by writing it in Perl 6 instead of Perl 5, I don't think it slowed me down my coding by more than about 5%. No NYI issues or bugs at all. Yay! | 02:27 | |
| pmichaud | colomon++ | 02:28 | |
| blog it somewhere, perhaps? | |||
| colomon | I could blog those results, but not the code -- it's at least mildly proprietary and completely useless to the outside world, as it's for converting from one funky internal format to another. | 02:30 | |
| Blogging that general point is a good idea. I will do. | |||
|
02:32
sri_kraih_ left
02:34
jhorwitz left
02:44
tomyan joined
02:46
colomon left
02:51
synthEEEE joined
02:55
synth left
|
|||
| dalek | kudo: d69cfe6 | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION to get proper exception from unfound regex. |
02:55 | |
| kudo: b756ac9 | pmichaud++ | src/parser/quote_expression.pir: Allow comments in << ... >> (qq:ww) lists. |
|||
|
02:56
synth joined
02:57
alester joined
|
|||
| pugs_svn | r27639 | kyle++ | [t/spec] Test for RT #63430 | 03:03 | |
| KyleHa | That was a tough one. Anyone around who can sanity check me? | 03:04 | |
| pugs_svn | r27640 | lwall++ | [identifier.t] add missing sub body | 03:05 | |
| r27640 | lwall++ | also, eval'd sub defs can't be called with via lexical name | |||
| r27640 | lwall++ | and package calls require & form to bypass MMD rules. | |||
| pmichaud | sanity checking | ||
| pugs_svn | r27641 | lwall++ | [STD] check that names that look like keywords aren't extended by ' or - | 03:06 | |
|
03:06
tomyan left
|
|||
| TimToady | KyleHa: see r27640 note | 03:07 | |
| KyleHa | eval'd sub defs can't be called via lexical name?? | ||
| TimToady | foo() is a multi-dispatch call | ||
| and multi-dispatch calls never look in the package | |||
| and when you eval a sub def, you only get a package name'd su b | |||
| since the eval is its own lexical scope, and loses the alias | 03:08 | ||
| so &foo() is how you have to call a package sub | |||
| KyleHa | Is "foo()" a multi-dispatch call because it lacks '&' on the front? | ||
| TimToady | yes | ||
| whereas &foo is just a name lookup | 03:09 | ||
| which finds the package sub | |||
| KyleHa | I think I may have to ponder this. I'm still thinking Perl 5 where every sub is in a package unless it's a closure. | ||
| TimToady | like it was a normal variable | ||
| which is why I pointed out the difficulty :) | 03:10 | ||
| KyleHa | So '&foo' without the parens refers to the sub but does not call it. | ||
| TimToady | rakudo is also suffering from some of that residual mindset | ||
| KyleHa | '&foo()' with the sigil and parens calls a package sub. | ||
| TimToady | correct | ||
|
03:11
alester left
|
|||
| TimToady | yes, the () there is the same as in my $foo = &foo; $foo() | 03:11 | |
| KyleHa | Multi-dispatch subs aren't in packages? | ||
| TimToady | nope | ||
| I think rakudo still cheats there though | |||
| KyleHa | Is there a good place in the docs that explains this so I don't have to soak your valuable time? | ||
| TimToady | multi-dispatch is only supposed to go through lexical scopes | 03:12 | |
| so that we always know the candidate list at compile time | |||
| KyleHa | Hmmm. That's why a sub you define in eval can't be multi-dispatch, can't be in a lexical scope. | 03:13 | |
|
03:13
molaf joined
|
|||
| KyleHa | It's lexical scope went away at the end of the string. | 03:13 | |
| In fact, I think you said that a minute ago and I didn't understand it. | |||
|
03:13
synthEEEE left
03:16
lucs_ left
|
|||
| TimToady | actually, it's looking like OUR::foo() will probably work, and &foo might not, since we've defined &foo to refer to the mmd candidates as well, sigh | 03:23 | |
| pugs_svn | r27642 | lwall++ | [identifier] package subs have to be called with OUR::, not & | 03:25 | |
| TimToady | you see, even I'm confused :) | 03:26 | |
| KyleHa | If only that made me less confused. 8-) | 03:27 | |
| araujo thinks TimToady shouldn't admit that in this channel | |||
| TimToady | because it would be redundant? | 03:28 | |
| [particle] | where should he admit it, then? perl 6 is a 12 step program. | ||
| araujo | TimToady, haha | ||
|
03:28
alester joined
|
|||
| pugs_svn | r27643 | kyle++ | [identifier] also test my goofed formulation | 03:31 | |
| KyleHa | Time for that ice cream I've been putting off. | ||
| alester | TimToady: You're here in SJC I assume? | 03:34 | |
| TimToady | I am in Greater SJC. | 03:36 | |
| alester | oh that's right, you LIVE HERE | ||
| TimToady | we all have our faults | ||
| pmichaud | ...especially here. :-) | 03:38 | |
|
03:39
alester left
03:42
molaf left
|
|||
| KyleHa | rakudo: sub x { try { return 'bughunt' } }; say x(); | 03:47 | |
| p6eval | rakudo 0cdcc8: OUTPUT«./perl6: error while loading shared libraries: libparrot.so.1.3.0: cannot open shared object file: No such file or directory» | ||
| KyleHa | rakudo: say 1 | 03:53 | |
| p6eval | rakudo 0cdcc8: OUTPUT«sh: ./perl6: No such file or directory» | ||
| pmichaud | rakudo: say << one #(two) three four >>.perl; | ||
| p6eval | rakudo 0cdcc8: OUTPUT«sh: ./perl6: No such file or directory» | ||
| pmichaud | hmmpf | ||
|
03:58
alester joined
|
|||
| pmichaud | hmmpf | 03:59 | |
| rakudo: say << one #(two) three four >>.perl; | |||
| p6eval | rakudo b756ac: OUTPUT«["one", "three", "four"]» | 04:00 | |
| pmichaud | \o/ | ||
| KyleHa | rakudo: sub x { try { return 'bughunt' } }; say x(); | ||
| pmichaud | rakudo: say << one#(two)three four >>.perl; | ||
| p6eval | rakudo b756ac: OUTPUT«Null PMC access in isa()in Main (/tmp/AzGQ9JR2JX:2)» | ||
| rakudo b756ac: ( no output ) | |||
| pmichaud | (I suspected that last one would fail.) | 04:01 | |
| rakudo: say << one #(two)three four >>.perl; | |||
| p6eval | rakudo b756ac: OUTPUT«["one", "three", "four"]» | ||
| KyleHa | rakudo: sub x { try { return 'Null PMC access in isa()' } }; x().say; | 04:03 | |
| p6eval | rakudo b756ac: OUTPUT«Null PMC access in find_method()in Main (/tmp/3QTNhXy7yE:2)» | ||
| KyleHa | Nyuck nyuck nyuck. | ||
| pmichaud | yes, I know about that one. | ||
| we're still waiting for parrot to updates its calling conventions a bit | 04:04 | ||
| KyleHa | I figured. | ||
| It's a lot like the test you reviewed earlier. | |||
| pmichaud | I haven't figured out what | 04:05 | |
| +is eval("'møp'".encode('UTF-8')), 'møp', 'eval(Buf)'; | |||
| is supposed to do exactly. | |||
| KyleHa | I'm pretty sure I didn't write that. | ||
| pmichaud | You're right, moritz++ did. | 04:06 | |
| KyleHa | But I might be indirectly responsible. | ||
| Since I kept messing up similar tests. 8-) | |||
| pmichaud | I guess it expects a utf8 string to automatically decode to Str and eval the result...? | ||
| KyleHa | I think the .encode() is supposed to return a Buf instead of a string, and eval is supposed to "get it." | 04:07 | |
| pmichaud | right, where "get it" means (I think) decode the Buf that it receives and eval that. | 04:08 | |
| KyleHa | I don't recall what eval should do with a Buf. | ||
| TimToady | to the first approximation, eval should treat a Buf the same way evalfile would treat a file :) | 04:10 | |
| pmichaud | oh yes, I remember you saying that now. Makes perfect sense. | 04:11 | |
| TimToady: Need anything done in Rakudo for your talk? | 04:14 | ||
| er, talk(s) ? | |||
| TimToady | I just need to know how to make git give me the most recent version... | ||
| pmichaud | git pull | ||
| and then "git checkout ." | |||
| that's what I normally do to make sure I'm on the most recent version. Might want "git checkout master" instead | 04:15 | ||
| KyleHa | Normally I'm sitting on master, and 'git pull' is all I need. | ||
| pmichaud | Yes, same here. | 04:16 | |
| TimToady | well, it gave me a bunch of stuff, so I'll see what happens when I reconfigure | ||
| pmichaud | Rakudo #19 -should- be released by the time of your keynote. | 04:17 | |
| TimToady | well, I'll mostly be talking about error messages, though with more of a slant towards "wouldn't it be nice if the community gave better error messages" :) | 04:18 | |
| KyleHa | We have so many errors, we can't name them all. | 04:19 | |
| pmichaud | "Fortunately, I keep my errors numbered for these occasions" </FoghornLeghorn> | ||
| TimToady | Integration manager is burning out in foo-porters near message 4352 | ||
| Invalid use of rhetorical device | 04:20 | ||
| Tortoise/hare mismatch at line 45 | 04:21 | ||
| any other social errors you wish there were better errors/warnings for? | 04:22 | ||
| pmichaud | Improper chauvinism in third row | ||
| TimToady | Turf protection mode enabled | 04:23 | |
| pmichaud | Failure to communicate in sub foo | ||
| KyleHa | Deprecated man to rabbit inheritance. | 04:24 | |
| pmichaud | Facts not allowed in no-spin zone on channel 42 | ||
| Obsolete use of cliche on line 42, in 2009 please use "foo bar" instead. | 04:25 | ||
| Oh, and the classic... | 04:26 | ||
| KyleHa | Effort overflow in sub 'fanatic'. | ||
| pmichaud | "Sorry, Dave, I cannot do that." | ||
|
04:26
alester left,
hoelzro joined
|
|||
| pmichaud | unfortunately that's not an exception you want to catch. | 04:26 | |
| TimToady | Suggestion is too radical | ||
| pmichaud | "Question lacks basis in reality" | 04:27 | |
| or even | |||
| KyleHa | Job terminated with the following error: command completed successfully. | ||
| pmichaud | "Question is too hypothetical, please use additional bindings" | 04:28 | |
| TimToady | Overflow on multiplication of entities | ||
| KyleHa | Perhaps until The Community contributes error messages, every error message will be "ouch". | ||
| pmichaud | Bus error, passengers dumped. | ||
| KyleHa | tri-state bus driver failure | ||
| Key term definition mismatch; dictionary resync required. | 04:29 | ||
| pmichaud | Lack of faith disturbance in sector 3, initiating dark side corrections. | ||
| (this latter one particularly appropriate for the "Perl 6 is vaporware" crowd :-) | |||
| KyleHa: in t/spec/S02-names/identifier.t, what's the intent of the various eval-forms of the tests...? | 04:32 | ||
| TimToady | Reply depth passed 100--possible bikeshed problem | 04:33 | |
|
04:33
hoelzro_ joined
|
|||
| pmichaud | KyleHa: oh, wait, moritz++ did those too. I'll have to ask him. | 04:34 | |
| KyleHa | pmichaud: I think I was thinking that it died during definition. | ||
| ...and also when it was called. | |||
| pmichaud | KyleHa: sure, but that's what "skip" is for. | ||
| We don't need eval for that. | |||
| we only need eval if we're testing that something should in fact die | 04:35 | ||
| (or that it should live where an exception might be expected) | |||
| but for standard syntax-error types of things, I'd prefer to skip with fudge than eval() everything in sight. | |||
| KyleHa | OK. | ||
| I'd think that it's harder to notice a skipped test succeeding than a todo test. | 04:36 | ||
| My inclination is to make tests as runnable as I can. | |||
| pmichaud | I agree... but not to the extent of surrounding everything in eval. | 04:37 | |
| Valid perl 6 syntax should be kept plain in the test files. | |||
| KyleHa | Okeydoke. | ||
| pmichaud | we already have tools to find where skipped tests are in fact passing. | ||
|
04:38
alester joined
|
|||
| KyleHa | I'm about an hour past my bed time now, but I'll return to clean it up tomorrow. | 04:38 | |
| pmichaud | okay, no problem. | ||
| in the specific case of identifier.t, I have a fix for the original RT ticket but the tests won't pass because we don't implement OUR:: yet | 04:39 | ||
|
04:39
kane_ joined
|
|||
| pmichaud | which means that using eval in the tests is actually getting in the way of testing the feature instead of helping it. | 04:39 | |
| KyleHa | Interesting. | ||
|
04:39
skids left
|
|||
| KyleHa | I didn't have the OUR:: there originally. I found out later that it's needed because of all the evals! | 04:39 | |
| pmichaud | Right. | ||
| Thus my point that the evals are actually interfering with the test more than helping. | 04:40 | ||
| TimToady | and STD can't find problems inside evals | ||
| and, in fact, the sub if'a actually found a problem in STD | |||
| pmichaud | In other words, we shouldn't use eval just to avoid Rakudobugs in the test -- that's what fudge is for :-) | ||
| KyleHa | I'll curb my eval enthusiasm. | 04:41 | |
| pmichaud | I'll go ahead and clean up identifier.t now so I can test it and close the ticket, though. | ||
| TimToady | @everyone»++ | 04:42 | |
| lambdabot | Unknown command, try @list | ||
| TimToady | everyone except lambdabot | ||
| KyleHa | g'night everybody! | 04:43 | |
|
04:44
KyleHa left,
hoelzro__ joined
04:46
ihrd joined
04:49
alester left
04:51
tomyan joined
04:53
hoelzro left,
hoelzro_ left
05:01
alester joined
05:03
hoelzro__ left
05:08
hoelzro joined
05:09
ihrd left
|
|||
| dalek | kudo: ae29fbf | pmichaud++ | src/parser/grammar.pg: Better handle hyphens and apostrophes after certain keywords (RT #64656). |
05:24 | |
| pugs_svn | r27644 | pmichaud++ | [t/spec]: Refactor identifier.t, unfudge for rakudo. | ||
|
05:35
redicaps joined
05:40
xinming_ joined
05:45
hoelzro left
05:46
redicaps left
05:56
xinming left
06:06
sparc_ joined,
tann_ joined
06:14
alester left
06:15
mj41 joined
06:18
kane_ left
06:19
tomyan left
06:22
agentzh left,
agentzh joined
|
|||
| moritz_ | pmichaud: did you figure out the test with eval and .encode, or would you like an explanation? | 07:02 | |
| tann_ | moritz_: rakudo.org has become a spam haven .. look at the comments | 07:07 | |
|
07:11
Su-Shee joined
|
|||
| Su-Shee | good morning. | 07:11 | |
| moritz_ | tann_: I know, but I don't have enough privs to delete spam :( | ||
|
07:12
Jedai joined
|
|||
| tann_ | mortiz_: thought you put up the site | 07:12 | |
| moritz_: i like to submit some trivial patches... the subject line should contain [patch] [perl #tktno] ? | 07:13 | ||
| moritz_ | tann_: no | ||
| tann_: right | 07:14 | ||
|
07:15
Eevee left
|
|||
| tann_ | moritz: can't seem to figure out where to put the tests in..the t/spec/* looks like a maze to me :) ... might have to ask kyleha when he's on :( | 07:15 | |
| moritz_ | tann_: or ask me ;-) | 07:17 | |
| what do you want to test? | |||
|
07:23
Eevee joined
07:25
xomas_ left
|
|||
| tann_ | moritz_: i got a trivial patch for this and 2 others rt.perl.org/rt3/Public/Bug/Display.html?id=66366 | 07:25 | |
| moritz_: but unsure where to put in the tests in the t/ | |||
| moritz_: lemme look at spec/integration/real-strings.t again :) | 07:26 | ||
|
07:26
dakkar joined
|
|||
| moritz_ | rakudo: say 1.Str ~~ / ^ 1 $ / | 07:29 | |
| p6eval | rakudo ae29fb: OUTPUT«» | ||
| moritz_ | that's the test | ||
| rakudo: say 1.Str eq '1' | 07:30 | ||
| p6eval | rakudo ae29fb: OUTPUT«0» | ||
| moritz_ | same here | ||
| bbi10 | |||
| tann_ | moritz_: you like me to put those tests in a patch as well? or that's what you see already in the file (as i don't see 'em) :) | 07:37 | |
| moritz_: or it's gotten fixed in rakudo head branch and my rakudo is old (if that's the case, shouldn't those bugs be closed then?) ...hmm...lemme pull the latest | 07:39 | ||
| moritz_ | it's not yet fixed; no need to include the tests in the patch | 07:40 | |
|
07:40
wayland76 joined
|
|||
| wayland76 | ping bots | 07:42 | |
| moritz_ | I can't find bots in the DNS | ||
| wayland76 | Oh, it's one of the new top-level domains. I had $100,000 spare, and I bought one, but they haven't come online yet :) | 07:51 | |
| [and yes, I am kidding :) ] | |||
| tann_ | rakudo: sub FtoC($d) { ($d - 32) * 5 / 9 }; say "where I live it gets up to 114F or {FtoC(114)}C degrees ... a giant natural sauna!" | 07:55 | |
| p6eval | rakudo ae29fb: OUTPUT«where I live it gets up to 114F or 45.5555555555556C degrees ... a giant natural sauna!» | ||
| Su-Shee | tann_: I like real world perl 6. :) | ||
| tann_ | Su-Shee: not when it speaks the truth of california weather ;) | 07:56 | |
| Su-Shee | tann_: hey, you still _have_ weather left, with all the debts problems and all. :) | 07:57 | |
| tann_ | Su-Shee: we're betting on p6 as our savior :) | 07:58 | |
| Su-Shee | tann_: "terminator release"? ;) | ||
| tann_ | Su-Shee: "terminated vaporware" :) | 07:59 | |
| Su-Shee | that's mean! :) | ||
| moritz_ | vapour, sauna - that fits! | ||
| Su-Shee | "schwarzenegger's finest" | ||
| tann_ | :)) | ||
| rakudo: say (1,).perl | 08:02 | ||
| p6eval | rakudo ae29fb: OUTPUT«[1]» | ||
| tann_ | moritz_: ^^^ pmichaud commented on the rt tkt that it should be (1,) ... not sure the trailing comma makes sense? | 08:03 | |
| moritz_ | tann_: it forces the object to be a List, (1) would just be an Int | 08:04 | |
| tann_ | moritz_: or anything returned by an eval that is equal to the original is good enough? | ||
| moritz_ | which ticket are you talking about? | ||
| tann_ | lemme look | ||
| just the printing thing | 08:05 | ||
| .perl | |||
| moritz_: currently rakudo prints [ ] for .perl | |||
| moritz_ | ah | ||
| tann_ | moritz_: it should probably print out () or \() instead | ||
| moritz_ | aye, one of those | 08:06 | |
| presumably \() | |||
| because otherwise nested lists get flattened | |||
| and we don't want that | |||
| tann_ | moritz_: my question is the trailing , is necessary at all? | ||
| moritz_ | rakudo: say ( \(1) ).perl | ||
| p6eval | rakudo ae29fb: OUTPUT«1» | ||
| moritz_ | rakudo: say ( \(1) ).WHAT | ||
| p6eval | rakudo ae29fb: OUTPUT«Int()» | ||
| moritz_ | yes, it is | ||
| rakudo: say ( \(1, ) ).WHAT | 08:07 | ||
| p6eval | rakudo ae29fb: OUTPUT«List()» | ||
| tann_ | moritz_: i thought the output of .perl should be eval'ed back in? | ||
| so it's more like "(1)".eval | |||
| rakudo: "(1)".eval.perl | |||
| p6eval | rakudo ae29fb: OUTPUT«Method 'eval' not found for invocant of class 'Str'» | ||
| moritz_ | tann_: yes. So a 1-item list should be a one-item list again, not a number | 08:08 | |
| rakudo: my $x = 1.list; say eval($x.perl).WHAT | |||
| p6eval | rakudo ae29fb: OUTPUT«Array()» | ||
| moritz_ | rakudo: my $x = 1.list; say eval($x.perl) ~~ List | ||
| p6eval | rakudo ae29fb: OUTPUT«1» | ||
| moritz_ | whatever you do to List.perl, this should always be true | 08:09 | |
| rakudo: say eval('(1)') ~~ List | |||
| p6eval | rakudo ae29fb: OUTPUT«0» | ||
| moritz_ | rakudo: say eval('\(1)') ~~ List | ||
| p6eval | rakudo ae29fb: OUTPUT«0» | ||
| tann_ | interesting | 08:10 | |
| moritz_ | so both are no good without trailing comma | ||
| tann_ | moritz_: so if there's one item in the list, stick a comma to the end so it can be coerced into list then? | 08:11 | |
| rakudo: say eval("(1,)") ~~ List | |||
| p6eval | rakudo ae29fb: OUTPUT«1» | ||
| moritz_ | ist not coercion but construction | ||
| but in principle: yes | |||
| tann_ | moritz_: gotcha...patch comin' :) | 08:12 | |
|
08:24
tann_ left
08:37
payload left
08:40
payload joined
08:44
mj41 left
08:52
rgrau joined
08:53
riffraff joined
08:54
masak joined
08:55
ejs joined
09:00
orafu joined
|
|||
| masak | hi, structural camels. | 09:01 | |
| cbk | hi | 09:02 | |
| moritz_ | hello fine-structure butterfly. | 09:03 | |
| masak flaps his wings delicately | |||
| cbk | can on have a array of objects? | 09:04 | |
| moritz_ | sure | ||
| rakudo: say [1, 2].perl | |||
| p6eval | rakudo ae29fb: OUTPUT«[1, 2]» | ||
| moritz_ | 1 and 2 are Int objects | ||
| actually pretty much everything is an object these days | |||
| cbk | I would like to do something like my @player[0] = Player.new(); | 09:05 | |
| masak | cbk: or maybe .shift or .push ...? | ||
|
09:06
synth left
|
|||
| moritz_ | rakudo: class Player { }; my @a; @a.push: Player.new | 09:06 | |
| p6eval | rakudo ae29fb: ( no output ) | ||
| masak | I don't like the method-call colon. I've been bitten by it. | 09:07 | |
| cbk | o | ||
| moritz_ | luckily Perl 6 offers a different syntax as well | ||
| masak | aye. | 09:08 | |
| the sane one. :) | |||
|
09:08
mj41 joined
|
|||
| cbk | so, if i do something like that, could I also set some of the vars inside the obj at the same time? | 09:09 | |
|
09:09
icwiener joined
|
|||
| masak | cbk: yes, in the call to new. | 09:09 | |
| cbk | Player class has a $name | ||
| how would it look doing it that way? | |||
| masak | Player.new(name=>"Oscar") | ||
|
09:10
riffraff left
|
|||
| cbk | so if i wanted to set the 2nd player... @player[2]: Player.new(name=>"Oscar") | 09:11 | |
| wayland76 | Btw, whose in charge of deleting comment spam from the Rakudo site? | ||
| cbk | wayland76, I thing someone is working on that | 09:12 | |
| wayland76, it was talked about on the rakudo mailing list | 09:13 | ||
| moritz_ | pmichaud and petdance, I think | ||
| wayland76 | ok. Because there are two comment spams on there at the moment | ||
| (maybe more, but I see two) | |||
| moritz_ | BTW I'm currently working on a fake release in the fake-release branch in my clone of the rakudo repo | 09:14 | |
| s/clone/fork/ | |||
| it's on github | |||
| I didn't know which .pm group to attribute, so I became... creative | 09:15 | ||
| I'm basically waiting for a test_summary.pl job to finish to update the numbers in the release announcement | 09:17 | ||
| then one final test and I'm done, it seems | |||
|
09:18
lollan joined,
icwiener left
09:20
pmurias joined
|
|||
| cbk | rakudo: class Player {has $.name is rw; }; my @player; @player.push: Player.new(name=>"Oscar"); say @player[0].name; | 09:21 | |
| p6eval | rakudo ae29fb: OUTPUT«Oscar» | ||
| cbk | Whats UP!!!!! | ||
| Fn SWEET! | |||
| eiro | pastebin.com/f2564c783 | 09:24 | |
| hello world | |||
| sjohnson | hi | ||
| masak | y0 | ||
| sjohnson | sp masak | 09:25 | |
| sup* | |||
| eiro | in this code, i found the do {} is overkill | ||
| any beautifuller syntax ? | |||
| masak | eiro: you don't need the braces, though. | ||
| eiro | masak, \o/ i have questions about Web.pm ! what's the good ml for that ? | ||
| (about the code itself) | 09:26 | ||
| masak | eiro: traditionally, the november-wiki mailing list. | ||
| also, #november-wiki here at freenode. | |||
| eiro | didn't you tell me that november isn't written in Web.pm ? | ||
| moritz_ | it's all about historical origins :-) | 09:27 | |
| eiro | ok .. | ||
| moritz_, i'm working on a macport for mod_parrot | 09:28 | ||
| moritz_ | eiro: cool | ||
|
09:28
donaldh joined
|
|||
| eiro | i have pbs with parrot itself for the moment | 09:29 | |
|
09:33
unitxt left
09:38
elmex left,
eternaleye left
09:41
elmex joined
09:45
explorer joined
|
|||
| masak | eiro: lovely to hear that you are interested in Web.pm -- I'd be happy to answer questions through any medium. | 09:47 | |
|
09:48
missingthepoint_ joined
|
|||
| eiro | masak, it's about basic-demo.pl : you called the sub request without argument in line 4 | 09:51 | |
| masak doesn't recall a basic-demo.pl | 09:52 | ||
| eiro | but the signature says that the first argument must be $c | ||
| masak | let me have a look. | ||
| eiro | github.com/masak/web/blob/eede14b55...ic-demo.pl | ||
| masak | ah, it's Tene's script. | ||
| eiro | i don't understand from where comes the $c arg | 09:53 | |
| masak | eiro: aye, that looks wrong. | ||
| eiro | ok .. ok | ||
| masak | hm,,, or not. | ||
| eiro | :)) | ||
| make up your mind: mine is useless here :) | 09:54 | ||
| masak | I'm going to lunch now, but I'll take a closer look at it when I get back. | ||
| eiro | ok ... thanks | ||
| masak | it's not necessarily wrong. | ||
| eiro: have you tried running it? | |||
| eiro | masak, no: i'm just reading all the code ... i'll try after lunch | 09:55 | |
| masak | :) | ||
| good. let's do a bit of Web.pm after lunch. | |||
| j'ai faim. | |||
| eiro | so have a good lunch :) | ||
| masak | you too, sir. | 09:56 | |
| eiro | alors bon appetit :) | ||
| merci | |||
| à tout à l'heure (see you later) | |||
| masak | & | ||
| jnthn | ahojte, #perl6 | 10:04 | |
| huf | what is this communism? | 10:08 | |
| furriners... | |||
| sjohnson | eiro: t'es parti? | 10:11 | |
| eiro | sjohnson, je vais | 10:15 | |
| moritz_ | oh hai jnthn | 10:16 | |
| jnthn | moritz_: oh hai | ||
| How's things? | |||
| moritz_ | jnthn: great; parrot released; rakudo looks like it's in a good shape for release too; KyleHa++ has been contributing lots of tests | ||
| jnthn | Awesome. :-) | 10:18 | |
| I'll be digigng back into things in the next day or so. | |||
| sjohnson | eiro: ah... d'accord.. salut | ||
|
10:34
fridim_ joined
10:36
mizioumt joined
10:37
SmokeMachine left
10:45
wayland76 left
10:48
meppl joined
|
|||
| masak | jnthn: you're back! ahoj! \o/ | 10:50 | |
| pugs_svn | r27645 | pmurias++ | [re-smop] an experiment with special casing goto and exists | 10:51 | |
| r27646 | pmurias++ | [re-smop] added basic punned class caching to RoleHOW | |||
| jnthn | masak: Ahoj! :-) | 11:06 | |
| masak: Been busily bug-reporting in my absence? :-) | |||
| jnthn didn't glance RT yet | |||
| masak | jnthn: actually, no. | 11:07 | |
| the bug reporting has been levelling of somewhat. | |||
| due to a combination of factors, I think. | |||
| main one probably lack of time to do cool new things in Perl 6. | |||
|
11:14
colomon joined
|
|||
| masak | yep, definitely a downturn. only 8 masakbugs in the past two weeks. | 11:15 | |
| jnthn | Wow! | 11:16 | |
| masak | and three of them were false alarms, due to a destructive doc patch I made. :/ | ||
| jnthn wonders if there could be a reversal in the rising bug queue size trend | |||
| masak | jnthn: stranger things have happened. | ||
| jnthn | Did "say" really get broken?! | 11:17 | |
| masak | yes, but that was my fault. :/ | ||
| masak <-- careless | |||
| jnthn | Eh, mistakes happen. | 11:18 | |
| masak | nod. | ||
| some day I'll learn to run the tests before committing, though. | |||
|
11:20
donaldh left,
colomon left
11:21
donaldh joined
11:23
sri_kraih joined
|
|||
| pugs_svn | r27647 | pmurias++ | [re-smop] instead printing out a call tree SMOP_PROFILE=output_file prints out the time when methods were called | 11:25 | |
|
11:31
rjh left
11:40
hudnix left
11:48
KyleHa joined
|
|||
| pmurias | masak: no need to learn, just automate it ;) | 11:48 | |
| masak | pmurias: wise point. | 11:49 | |
|
11:49
mikehh_ joined
11:57
ascent_ joined
11:59
rgrau left
12:04
mikehh left
12:05
ispy_ joined
12:07
Teratogen left
|
|||
| pugs_svn | r27648 | bpetering++ | [misc/irclog] Demo of JS nick filtering for #perl6 irc logs | 12:25 | |
| eiro | masak, it actually doesn't work :) | 12:28 | |
| missingthepoint_ | how can i get svn.pugscode.org/ to send text/html content type? | ||
| do i have checkin problems? | |||
| (svn.pugscode.org/pugs/misc/irclog/i...lter.html) | 12:29 | ||
| eiro | there is only a daemon mode working | ||
|
12:29
rjh joined
|
|||
| moritz_ | missingthepoint_: I think you have to set the content type with some svn props | 12:29 | |
| missingthepoint_ | moritz_: i think you're right, 2 secs | 12:30 | |
| pugs_svn | r27649 | bpetering++ | [misc/irclog] Proper MIME type for JS nick filtering demo | 12:31 | |
| missingthepoint_ | oops, need JS files :| | ||
| masak | eiro: ok, time to clean up the Daemon business once and for all. | 12:32 | |
| masak wishes mberends were here | |||
| moritz_ | missingthepoint_: this does... *drummroll* exactly nothing. | ||
| missingthepoint_ | moritz_: wait 2 secs! | 12:33 | |
| moritz_ | 2 | ||
| 1 | |||
| 0 | |||
| bbl | |||
| masak | I need to go ask the Rack people how they solve the web server thing without nasty dependencies. | ||
| pugs_svn | r27650 | bpetering++ | [misc/irclog] JS filtering needs jQuery | ||
| missingthepoint_ | moritz_: that's about what i had in mind. | 12:34 | |
| moritz_ | ah, better | 12:35 | |
| now also set the charset to UTF-8, and we're getting somewhere :-) | |||
| afk | 12:36 | ||
|
12:36
donaldh left,
donaldh joined
|
|||
| masak just realized something | 12:40 | ||
| the thing called 'aliasing' in Perl 5 for-loops, | |||
| that's actually a kind of := binding, right? | 12:41 | ||
|
12:41
synth joined
|
|||
| KyleHa | I think so, yes. | 12:41 | |
| masak | for some reason it feels much easier to think about it that way. | 12:42 | |
| jnthn | Thinking about it as binding probably works. | 12:43 | |
| pmurias | isn't it binding exactly? | ||
| jnthn is happy to see the spectests look about the same as they did before he went away. | |||
| (The spectest results that is.) | |||
| (No new epic fail. :-)) | |||
| pmurias: Very possibly. I don't know Perl 5 guts at all, so no clue how it's actually done.. | 12:44 | ||
| masak | jnthn: don't know if you missed pmichaud big effort with the Parrot people to eradicate some unsettling GC errors. | ||
| jnthn | I saw on the mailing list the "plea from Rakudo land" thread, yes. | 12:45 | |
|
12:45
KyleHa left
|
|||
| masak | a, good. | 12:45 | |
| s/a/ah/ | 12:47 | ||
|
12:47
clintongormley joined
|
|||
| clintongormley | After a month of using Java and Actionscript, I marvel (once again) at how much sense Perl syntax makes | 12:57 | |
| but i'm actually looking forward to the ability to use strict typing, which I didn't expect | 12:58 | ||
|
12:58
mikehh_ is now known as mikehh
13:02
seb__ joined
13:04
molaf joined
|
|||
| eiro | masak, sure :) | 13:09 | |
|
13:09
Front_slash joined
13:10
Avada is now known as Rolo,
Rolo is now known as Avada
13:15
Front_slash left
13:16
Front_slash joined
13:17
szabgab left
13:18
asciiville2 joined
|
|||
| missingthepoint_ | what's the syntax for labels (e.g. FOO: while (cond) { stuff; redo FOO })? | 13:18 | |
| and do they work in rakudo? | |||
| and should i be able to find out either of those points easily without asking here? :) | 13:19 | ||
| PerlJam | the syntax is the same as perl 5 and AFAIK, rakudo does not yet support it. | ||
| jnthn | They don't work in Rakudo yet, unless they appeared in the last 10 days. :-) | 13:20 | |
| missingthepoint_ | ah. | ||
| thank you | |||
|
13:20
asciiville2 is now known as asciiville
13:23
M_o_C joined
|
|||
| masak | the syntax is the same as in Perl 5, except that if you goto a label that hasn't been declared yet, you must string-quote it. | 13:23 | |
|
13:23
skids joined
|
|||
| missingthepoint_ | masak: thanks, that's very informative :) | 13:25 | |
| and jnthn and PerlJam | |||
|
13:25
wayland76 joined
|
|||
| PerlJam | masak: where does it say that in the spec? | 13:29 | |
| missingthepoint_ | PerlJam: that's exactly what I'm wondering | ||
| PerlJam | I'm reading S04 and I don't see it. | 13:30 | |
| moritz_ | std: goto foo | 13:31 | |
| p6eval | std 27650: OUTPUT«Undeclared routine: foo used at 1 ok 00:02 36m» | ||
| moritz_ | std: foo: goto foo | ||
| p6eval | std 27650: OUTPUT«ok 00:02 36m» | ||
| PerlJam | I'm not saying I don't believe it to be true, I just want to know where the spec mentions it :) | ||
| moritz_ | every "bareword" that's not declared previously is parsed as a sub call | ||
| that should be specced somewhere | 13:32 | ||
| wayland76 | Well, S02 seems to imply that it's the same as Perl 5 | 13:33 | |
| Line 3261 | 13:34 | ||
| masak | PerlJam: it might not be specced, actually. | ||
| PerlJam: I have it from TimToady. | |||
| wayland76 | a quick grep doesn't show it in the spec either | 13:35 | |
|
13:37
lucs_ joined,
mizioumt left
|
|||
| PerlJam | maybe we need a 4th document type: consequences (to go along with our specifications, justifications and explanations) | 13:37 | |
| :-) | 13:38 | ||
|
13:38
lucs_ left
|
|||
| wayland76 | What would we put in it? | 13:38 | |
| PerlJam | All the things that fall out of the specifications that may not be immediately obvious. | 13:39 | |
| missingthepoint_ | PerlJam: exactly what I was thinking | ||
| moritz_ | that's usually called "user documentation" | ||
| missingthepoint_ | does that fall under the scope of U4X? | 13:40 | |
| moritz_ | in the long run, yes | ||
| pmichaud: github.com/moritz/rakudo/downloads featuring fake 2009-07 release | |||
| PerlJam dearly hopes u4x has a semantic index of some sort | |||
| moritz++ | |||
| moritz_: went smooth? | 13:41 | ||
| moritz_ | PerlJam: literal++ is working on that for his gsoc project (sort of) | ||
| PerlJam: aye, apart from small stupidities on my side | |||
| PerlJam | I may try a mock rakudo release myself tonight | ||
| Su-Shee | shall I fetch them and try them out? | 13:45 | |
| literal | could you define "semantic index"? | ||
| moritz_ | Su-Shee: that would be appreciated | 13:46 | |
| Su-Shee clicks. | 13:47 | ||
| got moritz-rakudo.. :) | 13:48 | ||
| moritz_ | the rakudo-2009-07.tar.gz file | ||
| code-named "Moon", after the inspiring Moon.pm perl mongers :-) | |||
| Su-Shee | moritz_: it's plainly clicking the download button in github, very convenient. | ||
| masak | waitwait, Moon.pl? | 13:49 | |
| er, s/pl/pm/ | |||
|
13:49
kane_ joined
|
|||
| moritz_ | masak: I didn't know whom to dedicate it... | 13:49 | |
| Su-Shee | Checking out Parrot r40185 via svn.... | ||
| moritz_ | before a serious release I would have asked around here :-) | ||
|
13:51
mikehh left
|
|||
| PerlJam | literal: an index of concepts more than words. | 13:51 | |
| Su-Shee | (why is nobody naming their releases after hot actresses of the 40ies of something like this.. mae west-release ... joan crawford release.. :) | ||
| literal | ah | 13:52 | |
|
13:52
asciiville left
|
|||
| moritz_ | Su-Shee: because they can't buy you a beer in return :-) | 13:52 | |
| PerlJam | literal: for instance, I'd like to find all of the places that deal with some aspect of barewords whether they explicitly mention "bareword" or not. | 13:53 | |
| moritz_ | hm, tags? | ||
| Su-Shee | moritz_: but maybe champagne? ;) | ||
| moritz_ | actually I drink neither :-) | ||
| Su-Shee | moritz_: well, the gesture counts.. :) | 13:54 | |
| moritz_ | the idea with .pm groups was just that groups who supported rakudo/parrot/Perl 6 development would get some kind of attribution and good press | ||
| PerlJam | My mortiz-rakudo seems to be doing well. It builds, it runs, and I'm just waiting to see how it deals with spec-tests | ||
| Su-Shee | PerlJam: yeah, boring release. make just runs.. | 13:55 | |
|
13:55
mikehh joined,
mj41 left
|
|||
| missingthepoint_ | PerlJam: this is uncanny. You've been echoing my thoughts nearly verbatim | 13:55 | |
| Su-Shee | done. there it is. a shiny new binary. | 13:56 | |
| PerlJam | missingthepoint_: you're just unconsciously picking up on my brain waves ;) | ||
| masak | moritz_++ | ||
| Su-Shee | tests are "make test"? | ||
| missingthepoint_ | PerlJam: hehe :) | ||
| masak hopes to be able to build a release too | |||
| PerlJam | Su-Shee: make test && make spectest | ||
| Su-Shee | here we go. | ||
| Files=29, Tests=236, 71 wallclock secs ( 0.20 usr 0.02 sys + 67.34 cusr 2.22 csys = 69.78 CPU) | 13:58 | ||
| Result: PASS | |||
| moritz_ | 'make spectest' will take a big longer :) | 13:59 | |
|
13:59
chid left,
kane_ left
|
|||
| PerlJam | indeed. | 13:59 | |
| Su-Shee | moritz_: I still got the nasty gcc version. but everything seems fine. | ||
| PerlJam | the only hiccups I noticed in "make spectest" is that there are redeclaration warnings in t/spec/S04-declarations/constant.rakudo and t/spec/S04-declarations/multiple.rakudo (I haven't looked to see if that was on purpose or not) | 14:00 | |
| M_o_C | Is Rakudo supposed build against Parrot-trunk? | ||
| pugs_svn | r27651 | pmurias++ | [re-smop] move yeast frame to the RI DSL | ||
| r27651 | pmurias++ | added hints to AST::Block | |||
| PerlJam | (and, of course, I'm still waiting on make spectest to finish) | ||
| M_o_C | s/ed\s/ed to/ | ||
| PerlJam | M_o_C: it targets a specific version of Parrot given in build/PARROT_VERSION | 14:01 | |
| er, build/PARROT_REVISION | |||
| Su-Shee | M_o_C: if you do it with perl Configure.PL --gen-parrot it fetches the appropriate parrot version into the rakudo dir. | ||
|
14:02
frew_ left
|
|||
| moritz_ | PerlJam: at least the ones in multiple.t are not easily removable, and have been there for quite some time | 14:02 | |
| Su-Shee | moritz_: what did you do to make this release? | 14:04 | |
| PerlJam | Su-Shee: he followed the instructions! :) | ||
| moritz_ | Su-Shee: I followed docs/releas_guide.pod or whateve it's called | ||
| masak | shrewd lad. | ||
| Su-Shee | ah. ok. ;) | ||
| now I'm at the redeclaration warnings in S04. | 14:06 | ||
| moritz_ | some of them test redeclartions :-) | 14:07 | |
|
14:10
pmurias left
14:13
mj41 joined
|
|||
| masak | ok, I have a request. | 14:23 | |
| rakudo: say ~[\*] 1..10 | |||
| p6eval | rakudo ae29fb: OUTPUT«Statement not terminated properly at line 2, near "1..10"Null PMC access in get_pmc_keyed()current instr.: 'perl6;Perl6;Compiler;eval' pc 290105 (src/gen_actions.pir:24150) (src/gen_setting.pm:3340)» | ||
| masak | before we release, it'd be kinda nice if we tracked down the Null PMC access that seems to appear at some (all?) error reports nowadays. | 14:24 | |
| Su-Shee | hm, I have a FAIL. | 14:30 | |
|
14:30
hoelzro joined
|
|||
| PerlJam | Su-Shee: t/spec/S12-attributes/clone.t ? | 14:31 | |
| Su-Shee | (Wstat: 6 Tests: 26 Failed: 0) Non-zero wait status: 6 | ||
|
14:31
mj41 left
|
|||
| [particle] blames jnthn | 14:31 | ||
| masak | no, that looks like an old failure. | ||
| jnthn | Me? I've not been here for ten days! | ||
|
14:31
drbean left
|
|||
| jnthn sticks tongue out at [particle] | 14:32 | ||
| [particle] | sigh, if we blame him, maybe he'll fix it! | ||
| PerlJam | jnthn: that's why it's your fault! :) | ||
| moritz_ | I didn't observe it (in this file), which is why I didn't regress on that file | ||
| but there seems to be a general problem with catching exceptions from a different runcore | |||
| (in parrot) | |||
| Su-Shee | no, it seems to be a parrot thing and happens in .. | 14:33 | |
| moritz_ | which is a not fixed in parrot-1.4 | ||
| Su-Shee | t/spec/S12-attributes/class.rakudo | ||
| (less 6 skipped subtests: 20 okay) | |||
| moritz_ | bah, I meant to skip that | ||
| Su-Shee | clone.t I have with an "ok" | ||
|
14:33
mj41 joined
|
|||
| moritz_ no good as a release manager | 14:34 | ||
| PerlJam | oh ... I clicked on the wrong file. It's in class.rakudo for me too. | ||
| anyway, parrot is borked. | |||
| Su-Shee | moritz_: oh, gee, your first release and it just threw one little thing.. bad, really bad. ;)) | 14:35 | |
| PerlJam: it starts with cc.c:613: failed assertion 'PObj_is_PMC_TEST(sig_pmc)' ? | |||
| jnthn | oh no not THAT assertion fail. | 14:36 | |
| jnthn has spent a couple of hours trying to make some progress on that once... | |||
|
14:38
nihiliad left
|
|||
| lisppaste3 | Su-Shee pasted "rakudo release spec test" at paste.lisp.org/display/83918 | 14:39 | |
|
14:39
KyleHa joined
|
|||
| Su-Shee | jnthn: there it is. | 14:39 | |
|
14:41
mj41 left
|
|||
| jnthn | Su-Shee: Yup, it's exactly that once I've seen before. | 14:41 | |
|
14:41
ejs left
|
|||
| jnthn | Thanks for the stacktrace to confirm it. | 14:41 | |
| Su-Shee | jnthn: but not "the gcc thing" again? | ||
| jnthn | I don't know really what causes it or how to fix it. | ||
| I don't think it's a GC bug. | |||
| Su-Shee | jnthn: if you maybe remember.. | ||
| ok. | 14:42 | ||
| because I also got this gcc problem which seems to be gone since bratislava. | |||
| moritz_ | jnthn: there was some discussion on #parrot about this one | ||
| jnthn | Oh? The one when building Rakudo? | ||
| moritz_: ah, ok | |||
| Su-Shee | yes. | ||
| moritz_ | jnthn: I think it's related to catching an expression from an inner runloop, or something similar | 14:43 | |
|
14:43
mj41 joined
|
|||
| Su-Shee | besides the two redeclaration warnings that's all that fails here. | 14:43 | |
| jnthn | moritz_: Oh, ouch. | 14:44 | |
| moritz_: That's a hard problem, then. | |||
| Most probably, anyway. | |||
|
14:50
orafu left
14:51
xinming joined,
mj41 left
14:54
mj41 joined
15:05
xinming_ left
15:10
kane_ joined,
mj41 left
15:11
szabgab joined,
frooh joined
15:12
mj41 joined
15:13
hoelzro left
15:16
hoelzro joined
15:20
donaldh left,
donaldh joined,
Exodist joined
15:22
alester joined
15:25
kane_ left,
mj41 left
15:28
mj41 joined,
lollan left,
nihiliad joined
15:30
kane_ joined
15:32
xinming left,
xinming joined,
szabgab left
15:34
tomyan joined
15:35
Tene left
|
|||
| TimToady | Marooned! Marooned! --Mundo Cani | 15:35 | |
|
15:46
[particle] left
15:48
[particle] joined
15:49
szabgab joined
15:51
dakkar left,
FurnaceBoy joined,
frooh left
|
|||
| pmichaud | Good morning, #perl6 | 15:52 | |
| masak | oh hai pmichaud | 15:53 | |
| jnthn | pmichaud: hi! | 15:54 | |
| pmichaud | jnthn: welcome back! | ||
| jnthn | pmichaud: I haz a return! | ||
| pmichaud | jnthn: we have a lot of work to do :-| | ||
| jnthn | And yes, I ate plenty of fondu. | ||
| pmichaud: ORLY? | |||
| pmichaud | fondu++ | ||
| jnthn: yes, rly | 15:55 | ||
| jnthn | Well, we're implementing Perl 6, I'd always taken "lot of work" as a given. ;-) | ||
| pmichaud | okay, I guess I should say 'rework" | ||
| jnthn | Ah. | 15:56 | |
| The spec has moved beneath us? | |||
|
15:56
tann_ joined
|
|||
| jnthn | Or we're just hitting a point of needing a serious cleaning-up style refactor? | 15:56 | |
| pmichaud | the latter | ||
|
15:56
explorer left
|
|||
| pmichaud | they're all good refactors, but a lot of intertwined ones | 15:57 | |
| jnthn | I can believe that. | ||
| pmichaud | anyway, let me know when you're ready for the list. We won't be doing any of them before the release, of course :-) | ||
| jnthn | Sure. I'm tied up with something for the next five minutes or so. | 15:58 | |
| pmichaud | oh, no rush | ||
| KyleHa | pmichaud: I'm remaking the test of OUR::sub-defined-in-eval(). Where should that go? I'm guessing not in S02-names/identifier.t | ||
| jnthn | But today I'm generally doing a "getting on top of what I need to work on over the next week ro so". | ||
| *or | 15:59 | ||
| So would be good to discuss that soon. :-) | |||
| pmichaud | okay, today works. Tomorrow I'm likely to be busy-ish | ||
| masak | pmichaud: do the refactors include addressing the fact that many Rakudo errors seem to produce Null PMC Accesses nowadays? | 16:00 | |
| pmichaud | masak: they do. | 16:01 | |
| moritz_ | KyleHa: t/spec/ seems to be pretty sparse on OUR:: - maybe start a new one in S02-names/ | ||
| KyleHa | moritz_: OK, thanks. Does 'our.t' make sense, or should it be package.t or something? | ||
| pmichaud | KyleHa: 'our.t' | ||
| moritz_ | pseudo-packages.t to be more general | 16:02 | |
| KyleHa | I'll flip a coin. | ||
| pmichaud | I think it's worth having separate files for each psdo-package | ||
| moritz_ | go with pmichaud then | ||
| KyleHa | OK, I'll go with our.t | ||
| missingthepoint_ | pmichaud, masak: does this mean some of those errors will produce more sensible messages... by any chance? :) | 16:03 | |
| pmichaud | missingthepoint_: depends on the source of the error | 16:04 | |
| but yes. | |||
| masak | missingthepoint_: any specific error you're thinking of? | ||
| pmichaud | For example, I manaaged to eliminate a Null PMC error last night for unrecognized regexes | ||
| masak | \o/ | ||
| missingthepoint_ | hmm, don't think i've hit that one yet | 16:05 | |
| masak has | |||
| missingthepoint_ | but thank you anyway :) | ||
| pmichaud++ | |||
| masak | pmichaud++ | ||
| pmichaud | rakudo: say 'a' ~~ / <a> /; | 16:06 | |
| p6eval | rakudo ae29fb: OUTPUT«Unable to find regex 'a'in regex PGE::Grammar::_block51 (/tmp/yKAuAvFNMu:1)called from Main (/tmp/yKAuAvFNMu:2)» | ||
| missingthepoint_ | yummy! | 16:07 | |
| that's a tasty morsel of error message. | |||
| just generally i get "Null PMC" in lots of the parse errors | 16:08 | ||
| pmichaud | Null PMC in parse errors shouldn't occur all that often. | 16:09 | |
| missingthepoint_ | I'll try and find some examples | ||
| ofc i've been learning perl 6 for a week or so, so my understanding of what's a parse error and otherwise is not very refined. | 16:10 | ||
| ok, i shouldn't have said 'parse error', that was misleading | 16:12 | ||
| I see "Null PMC access in get_pmc_keyed()" a LOT | |||
| pmichaud | I'd need to see some examples there... but yes, we know they exist. | 16:13 | |
| I think we can eliminate them soonish. | |||
| pugs_svn | r27652 | kyle++ | [t/spec] simplify RT #64656 tests | 16:15 | |
| r27653 | kyle++ | [t/spec] Add S02-names/our.t | |||
| missingthepoint_ | ok, this produces one (i don't know if the code even makes sense though) | ||
| jnthn | pmichaud: OK, I'm here now. | ||
| Well, free. :-) | |||
| pmichaud | jnthn: okay, just a sec -- I need to check on some Parrot release details | 16:16 | |
| PerlJam | It's too bad you can't just make all "parrot errors" go to a generic routine that say "Something broke on line 45" (but with better wording). So that at least it could look like rakudo knows what's going on :) | ||
|
16:16
pmurias joined
|
|||
| pmichaud | PerlJam: that seems to just sweep the error into another useless place | 16:16 | |
| jnthn | PerlJam: Well, we could detect Null PMC Access errors and just say something else. | ||
| PerlJam: But it doesn't really change much. | |||
| masak | pmichaud: re 'eliminate them soonish': would that be before or after the Thursday release? | 16:17 | |
| jnthn | Internal Compiler Error | ||
| Or something | |||
| pmichaud | masak: after. | ||
| jnthn | But it's not so much better. | ||
| masak | ok. | ||
| pmichaud | masak: many of them need a significant internal refactor of lexical handling | ||
| masak | pmichaud: well, it's not really critical, just annoying. | ||
| jnthn | Ah, that. | ||
| masak | pmichaud: we might get a lot of bug reports on it, I fear. | ||
| pmichaud | masak: bug reports on ... null PMC errors? You mean more than we've been getting? | 16:18 | |
| PerlJam | I didn't say it would solve anything useful, but errors generated from parrot are always more annoying than those generated from rakudo. | ||
| masak | pmichaud: well, these will all be duplicates in some sense. | 16:19 | |
| missingthepoint_ | ok, this (stupid) example gives me "null pmc ...." | ||
| pmichaud | masak: I'm fine with that. | ||
| missingthepoint_ | rakudo: for 1,2,3 -> $foo { $foo = 5 } | ||
| masak | good. | ||
| p6eval | rakudo ae29fb: OUTPUT«Cannot assign to readonly variable.Null PMC access in get_pmc_keyed()current instr.: 'perl6;Perl6;Compiler;eval' pc 290105 (src/gen_actions.pir:24150) (src/gen_setting.pm:3340)» | ||
| pmichaud | masak: Yes, it'd be nice if there was a quick elimination... but I looked at it last week and that's what led me to the conclusion that we've got some significant refactoring to do | 16:20 | |
| missingthepoint_ | ...but i have no idea what a sensible error message might be there. | ||
| PerlJam | missingthepoint_: it should stop at "Cannot assign to readonly variable" | ||
| pmichaud | missingthepoint_: that's an excellent example ... there should not be a Null PMC error there. | ||
| jnthn | That looks like something has gone awry in the backtrace printing code. | 16:21 | |
| pmichaud | agreed. | ||
| if we're just getting Null PMC messages in the backtrace code, those aren't real Null PMC errors | |||
| (and that can likely be fixed pre-release) | |||
| masak | even better. | 16:22 | |
| pmichaud | I'll look at it in a bit. | ||
| jnthn | Aye, agree. | 16:23 | |
| pmichaud | jnthn: are backtraces currently tied to exceptions? | ||
| i.e., is there a way to get a backtrace from places other than exceptions? | |||
| jnthn | So far, just the exception. | ||
| Well, you can get the active annotations I gues. | |||
| *guess | |||
| There's ops for that. | 16:24 | ||
| pmichaud | I'm thinking we ought to be able to do it for any continuation. | ||
| jnthn | Are you more wanting to get the annotations at...yes, I'd like that too. | ||
| moritz_ | then you can implement caller() | ||
|
16:24
xinming_ joined
16:26
masak left,
justatheory joined
16:31
cdarroch joined
16:32
sri_kraih_ joined
16:34
tann_ left
16:35
hercynium left,
rjh left
|
|||
| pmichaud | (elimninating spam from rakudo.org) afaik, nobody is "responsible" for that. | 16:36 | |
| I've been doing it from time to time, but haven't had time lately | |||
| missingthepoint_ volunteers | |||
|
16:37
xinming left
|
|||
| missingthepoint_ | (has time) | 16:38 | |
|
16:38
rjh joined,
gbacon left
|
|||
| pmichaud | looking at how to do that in drupal... | 16:38 | |
|
16:40
sri_kraih left
|
|||
| missingthepoint_ | drupal.org/project/antispam ? | 16:40 | |
| pmichaud | I don't have the ability to add modules to our drupal instance... only Andy can do that. | 16:41 | |
| I'll see if the module is already installed, though. | |||
| alester | what module | ||
| no, it's not | |||
| I'm gonna try to talk to some drupal folks this week. | 16:42 | ||
| pmichaud | Andy: For now I'm creating a new role that allows others to administer comments | ||
| alester | pmichaud: ok | ||
| pmurias wanders if he added ... placeholder to gcc would they accept it | 16:43 | ||
| pmichaud | missingthepoint_: do you have a rakudo.org account? | 16:44 | |
| missingthepoint_ | pmichaud: no | ||
| moritz_ would also volunteer to delete some spam | |||
| pmichaud | (I've also set it so that content authors have the ability to administer accounts) | ||
| er, "administer comments" | 16:45 | ||
| (this is what I get for trying to chat on irc while in Damian's talk) | |||
| missingthepoint_: can you get a rakudo.org account? | |||
| missingthepoint_ | pmichaud: done | 16:46 | |
| pmichaud | username? | ||
| missingthepoint_ | missingthepoint | ||
| pmichaud | okay, you should now have the ability to delete comments. | 16:47 | |
| missingthepoint_ | kaboom! | 16:48 | |
|
16:48
gbacon joined
|
|||
| moritz_ just deleted some, it works | 16:48 | ||
| missingthepoint_ | moritz_: i think we may be racing :) | 16:50 | |
| moritz_ | missingthepoint_: I'll let you do it for a while then | 16:51 | |
|
16:52
Psyche^ joined
|
|||
| missingthepoint_ | moritz_: i'll do it this week :) | 16:52 | |
| pugs_svn | r27654 | kyle++ | [t/spec] Test for RT #63460 | 16:53 | |
| missingthepoint_ | but i think it's possible to catch stuff like that heuristically, and i'm sure there are drupal modules to do so | 16:55 | |
|
16:55
hoelzro left
|
|||
| moritz_ | there's "akismet" for wordpress | 16:56 | |
| which is a centralized comment spam filter | |||
| dalek | kudo: a74657c | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 416 files, 11854 passing, 0 failing |
16:57 | |
|
16:58
kane_ left,
hoelzro joined
|
|||
| missingthepoint_ | the module i linked to before uses akismet | 16:58 | |
| *can use akismet, 2 other options | 16:59 | ||
| jnthn | pmichaud: had phone call, but anyway, if you want to discuss Rakudo bits now, I'm around for a bit before I do dinner. | 17:00 | |
| pmichaud | jnthn: the major difference is that we need to initialize lexicals at the beginning of the block, instead of the point of declaration. | ||
| I'm thinking this means that variable declarations result in two PAST::Var nodes | |||
|
17:01
fridim_ left
|
|||
| jnthn | One up top, one later on? | 17:01 | |
| [particle] | declare and define? | ||
| pmichaud | yes. | ||
| declare and use. | |||
| jnthn | How does this fit in with the "prototype lexpad" approach? | ||
| Would the declare actually be in a loadinit style thing that sets this up? | 17:02 | ||
| Or done on the first time we need it via some thunk? | |||
| pmichaud | (in conversation) | ||
| I haven't decided that. | 17:03 | ||
| jnthn | OK. I'm more comfortable with the prototype lexpad approach. | 17:05 | |
| For reasons of making compile time trait application a once-only operation. | |||
| pmichaud | I'm fine with that. Note that assignment still takes place at the point of usage, though. | 17:06 | |
| jnthn | assignment? | 17:07 | |
|
17:07
alester left
|
|||
| jnthn | Oh, you mean for: | 17:07 | |
| my $a = 42; # the assignment of the 42? | |||
| pmichaud | i.e., "my $a = 5" has the "= 5" portion done at the point of declaration, not initialization of $a | ||
| right. | |||
| jnthn | OK, that's what I'd have expected. | ||
|
17:07
szabgab left
|
|||
| pmichaud | I'm fine with the prototype lexpad approach. | 17:07 | |
|
17:07
hoelzro left
|
|||
| pmichaud | somewhat related, while looking at this, using state variables for lexical multisubs feels wrongish to me | 17:07 | |
|
17:08
szabgab joined
17:09
Patterner left,
Psyche^ is now known as Patterner
|
|||
| pmichaud | I looked at prototype lexpad, though, and it didn't feel significantly improved over just keeping the information in the PAST::Var node as we do now | 17:09 | |
|
17:09
takadonet joined
|
|||
| jnthn | Well, really it's just using the same mechanism to avoid having to re-build the Perl6MultiSub each time. | 17:10 | |
| As a kind of "cache" | |||
| pmichaud | right, but what if someone assigns to the lexical? | ||
| jnthn | Re-bind the sub? | ||
| Oh, assigns | |||
| pmichaud | or even just &foo = ... | ||
| jnthn | Dunno. I hadn't really considered what that even does normally... | 17:11 | |
| rakudo: sub foo { say 1 }; foo; &foo = sub { say 2 }; foo; | |||
| p6eval | rakudo ae29fb: OUTPUT«12» | ||
| jnthn | Heh, it works. :-) | ||
|
17:12
meppl left,
bigpresh_ left,
Gothmog_ left,
felipe left
|
|||
| jnthn | If that's correct anyway. | 17:12 | |
| pmichaud | I think there are even tests for this. | ||
| jnthn | Ah, OK. | ||
| Where do you see the problem with using the state-ish approach? | |||
|
17:12
donaldh left
|
|||
| pmichaud | because if I assign to &foo, that assignment should be "lost" on the next call ot the sub. | 17:12 | |
| it shouldn't be "permanent" | |||
| jnthn | hmm | 17:13 | |
| Yeah, I guess we probably get that wrong now. | |||
|
17:13
takadonet left
|
|||
| jnthn | Building it when we make the prototype lexpad is probably much more correct. | 17:13 | |
| pmichaud | you might also want to see if irclog.perlgeek.de/perl6/2009-07-21#i_1329151 matches your understanding of multis and lexicals. | 17:14 | |
| (yes, building it with the prototype lexpad, or setting up a "constant" that we bind the lexical to is likely correct) | |||
|
17:14
hoelzro joined
|
|||
| pugs_svn | r27655 | kyle++ | [t/spec] A better RT #63460 test | 17:15 | |
| pmichaud | break here -- be back in 5 | ||
| pugs_svn | r27656 | kyle++ | [t/spec] Test for RT #63466 | ||
|
17:15
hoelzro left
17:17
xomas_ joined,
szabgab left,
bigpresh_ joined
|
|||
| jnthn | pmichaud: Heh, the "& looks in the package not the lexical scope" thing scared me a little... | 17:18 | |
|
17:19
alester joined
|
|||
| jnthn | I'm a tad confused though. multi foo() { }; multi foo($a) { }; | 17:19 | |
| Here foo() just does a lexical lookup and finds it and calls it. | |||
| &foo does a lexical lookup | |||
| &OUR::foo looks up foo in the namespace and returns what? The same as &foo in this case? | |||
| Whereas they'd return different things for e.g. | 17:20 | ||
| multi foo() { }; { my multi foo($a) { }; } | |||
|
17:20
hoelzro joined
|
|||
| jnthn | (that is, if you did the lookups before the final closing curly) | 17:20 | |
| missingthepoint_ | ok, rakudo.org is free of spam | ||
| can we please keep it that way now, by installing an appropriate module? | 17:21 | ||
|
17:21
tann joined
|
|||
| tann | rakudo: eval 1 | 17:22 | |
| p6eval | rakudo ae29fb: OUTPUT«Parameter type check failed on call to 'eval'.Null PMC access in get_pmc_keyed()current instr.: 'perl6;Perl6;Compiler;eval' pc 290105 (src/gen_actions.pir:24150) (src/gen_setting.pm:3340)» | ||
| KyleHa | Wow. | ||
| pmichaud | jnthn: I'm confused a bit by it also... which is why I point it out :-) | 17:23 | |
| dalek | kudo: 3b1bda7 | pmichaud++ | build/PARROT_REVISION: Bump PARROT_REVISION to latest Parrot 1.4.0 release. |
||
| jnthn | I think the main thing is that we aren't setting up lexical entries all the time that we should be. | 17:25 | |
| pmichaud | moritz_: how did the release build go? | ||
| jnthn | Also, Parrot's Very Annoying Bug of optimizing lookups away doesn't help. | ||
| pmichaud | yes, that's a problem also. | ||
| moritz_ | pmichaud: good. I uploaded it to my fork fork of the rakudo repo | 17:26 | |
| jnthn | Not sure what the performance hit of ripping out that wrongtimization would be. | ||
| pmichaud | jnthn: in other news, I think we may have binding somewhat figured out .... for the time being we'll set := to create ObjectRefs (the same way that signature binding does) | 17:27 | |
| KyleHa | Should "eval 1" die because it's not given a string? | ||
| moritz_ | likely not | ||
| KyleHa | ...or should it live because 1 is easy to stringify? | ||
| pmichaud | KyleHa: I think that eval should coerce its argument to a string. | ||
| KyleHa | Oh good. | 17:28 | |
| moritz_ | except when it receives a Buf | ||
| pmichaud | moritz_: even then it coerces to a string | ||
| (same as reading from a file does) | |||
| in the case of Buf it's likely just a bit smarter about the coercion | 17:29 | ||
| jnthn | pmichaud: What would it then do with the ObjectRef? | ||
| pmichaud | jnthn: same as we do now for subrotuine parameters | ||
| moritz_ | pmichaud: no, Buf can't be coerced to Str, in the general case | ||
| jnthn | OK, that feels right | ||
| moritz_ | ~Buf.new should die. | ||
| pmichaud | jnthn: for example... | ||
| my $a = '5'; my Str $b := $a; | 17:30 | ||
| pmurias | pmichaud: i don't think assigning to a sub is legal | ||
| perl6: $foo := sub {say 'hi'};$foo = 123; | |||
| pmichaud | $b becomes an ObjectRef that points to $a | ||
| p6eval | elf 27656: OUTPUT«Global symbol "$foo" requires explicit package name at (eval 126) line 3.Global symbol "$foo" requires explicit package name at (eval 126) line 6. at ./elf_h line 5881» | ||
| ..rakudo ae29fb: OUTPUT«Symbol '$foo' not predeclared in <anonymous> (/tmp/nmfznNYN07:2)in Main (src/gen_setting.pm:3340)» | |||
| ..pugs: OUTPUT«***  Unexpected " :=" expecting "::" Variable "$foo" requires predeclaration or explicit package name at /tmp/bbq9HHAEcj line 1, column 5» | |||
| pmurias | perl6: my $foo;$foo := sub {say 'hi'};$foo = 123; | 17:31 | |
| p6eval | elf 27656, rakudo ae29fb: ( no output ) | ||
| ..pugs: OUTPUT«*** Cannot cast from VInt 123 to Pugs.AST.Types.VCode (VCode) at /tmp/0Lv2LaAaiq line 1, column 32-42» | |||
| pmurias | perl6: my $foo;$foo := sub {say 'hi'};$foo = sub {say 'hello'}; | ||
| p6eval | pugs: OUTPUT«*** Can't modify constant item: VStr "MkCode {isMulti = False, subName = \"<anon>\", subType = SubRoutine, subOuterPads = [PRuntime {pr_pad = MkPad (padToList [(\"$_\",PELexical {pe_type = (mkType \"Scalar\"), pe_proto = <Scalar:0xb6172255>, pe_flags = MkEntryFlags {ef_isContext = … | ||
| ..elf 27656, rakudo ae29fb: ( no output ) | |||
|
17:31
frew left
|
|||
| pmurias | pugs is right here | 17:32 | |
| TimToady | I am inclined to agree. | ||
|
17:33
hercynium joined
|
|||
| pmichaud | S06:2324 may be a typo then. | 17:33 | |
| jnthn | pmichaud: Hmm, that seems like it could work. | ||
| pugs_svn | r27657 | kyle++ | [t/spec] "eval 1" should coerce to a string instead of die | ||
| pmichaud | (granted it may be intended to be pseudocode) | ||
|
17:34
frew joined,
kane___ joined
|
|||
| TimToady | yes, I suspect it's pseudocode | 17:35 | |
| it's trying to express the notion that binding would change the identity, and we don't want that | |||
| but probably the actual mod to &thermo is via some method | 17:36 | ||
| pmurias | aren't subs inmmutable | ||
| ? | |||
| jnthn | Routines are mutable. | ||
| Blocks are immutable. | 17:37 | ||
| Or at least, last time I checked the spec. | |||
|
17:37
damyan left,
hercynium left,
tann left,
gbacon left,
sri_kraih_ left,
justatheory left,
nihiliad left,
Exodist left,
payload left,
patmat left,
leedo left,
mdxi left,
spx2 left,
pmichaud left,
omega left,
Trey left,
estrabd left,
tarbo2_ left
|
|||
| pmurias | why do we need mutable Routines | 17:38 | |
| ? | |||
|
17:38
pmichaud joined,
hercynium joined,
tann joined,
gbacon joined,
sri_kraih_ joined,
justatheory joined,
nihiliad joined,
Exodist joined,
payload joined,
damyan joined,
patmat joined,
mdxi joined,
tarbo2_ joined,
estrabd joined,
spx2 joined,
omega joined,
Trey joined,
leedo joined,
irc.freenode.net sets mode: +oo pmichaud Trey
|
|||
| TimToady | they have to be sufficiently mutable that .wrap works | 17:38 | |
|
17:39
Tene joined
|
|||
| pmurias | TimToady: why do we need wrap? | 17:39 | |
| TimToady | but .wrap isn't supposed to change the .WHICH, so that $foo = &bar; &bar.wrap(...); $foo() still calls the correct routine | ||
| jnthn | I think Rakudo gets that right. | ||
| TimToady | to do Aspect Oriented Programming | 17:40 | |
|
17:40
charsbar_ joined
|
|||
| TimToady | and things like it | 17:40 | |
| and because my brother-in-law says it's one of the (few) things he likes about Python | |||
|
17:41
charsbar left
|
|||
| TimToady | so it's more accurate to say that the implementation of &foo is mutable, but its identity is not | 17:42 | |
| pmurias | how do i monkey patch subroutines in python? | ||
| TimToady | I don't know; I'm just repeating what he said. | ||
|
17:43
colomon joined
|
|||
| TimToady | in any case, we only have to support &foo.wrap, not &foo = | 17:44 | |
| esp since people will confuse the latter with foo() = | 17:45 | ||
| Tene | I'm stanrting to really lean towards python's "always require () for nullary function calls" rule. | 17:46 | |
|
17:47
sparc_ left,
Front_slash left,
athomason left
|
|||
| TimToady | we also require lack of ambiguity, but you can supply that with either foo() or (foo) | 17:48 | |
| jnthn has a hungry - back in a bit | |||
| pmichaud | other than the Null PMC in the exception handler, are there other items that are holding up the Rakudo release? | 17:49 | |
|
17:49
Front_slash joined,
athomason joined
|
|||
| Tene | There's an EH issue? | 17:49 | |
| pmichaud | I think it's in Rakudo's EH handler, not in Parrot. | ||
|
17:51
diakopter joined
|
|||
| pmurias | diakopter: hi | 17:52 | |
| diakopter | pmurias: hi | ||
| pmurias | diakopter: how's your perl6/js thing? | ||
|
17:53
payload left,
felipe joined
17:54
payload joined,
mattp_ joined,
bloonix_ joined
|
|||
| diakopter | pmurias: proceeding along... | 17:55 | |
|
17:55
TimToady left
17:56
bloonix left,
mattp left
|
|||
| pmurias | diakopter: what was it's url? | 17:57 | |
| missingthepoint_ | diakopter: what are you doing with perl6 and js? :) | ||
| diakopter | jsmeta.org redirects to the google code site | 17:59 | |
| it's an implementation of Microsoft's M, currently... | |||
|
18:00
Solarion_ joined,
kane___ left,
hoelzro left,
jan_ left,
pugs_svn left,
Solarion left,
cognominal_ left,
TimToady_ joined
|
|||
| diakopter | pmurias: how are things here | 18:01 | |
| pmurias | working on smop's performance | 18:02 | |
|
18:02
TimToady_ is now known as TimToady,
ChanServ sets mode: +o TimToady
18:03
pugs_svn joined,
kane___ joined,
hoelzro joined,
jan_ joined,
cognominal_ joined
|
|||
| pmurias | diakopter: as even tho smop has basic multimethods they are to slow to build anything large on them | 18:03 | |
| diakopter wonders how best to catch up on 4 months of irc.pugscode.org #perl6 | |||
|
18:03
kane___ left
|
|||
| moritz_ | diakopter: by mostly ignoring it ;-) | 18:03 | |
|
18:04
kane___ joined
|
|||
| moritz_ | diakopter: I recommend reading the blogs instead | 18:04 | |
| diakopter | which | ||
| moritz_ | planetsix.perl.org | 18:05 | |
| diakopter | only 3.5 weeks there | 18:06 | |
|
18:08
krunen left,
BinGOs left
|
|||
| Tene | diakopter: just read the md5sum of the log for each day. Much shorter. | 18:08 | |
| diakopter | :) | 18:09 | |
|
18:09
krunen joined,
BinGOs joined
|
|||
| diakopter | moritz_: cool language flow diagram | 18:10 | |
| moritz_ | diakopter: thanks | ||
| tann | moritz_: 2nd that... | ||
| diakopter | pmurias: terse version of multi-dispatch speed difficulties? | 18:12 | |
| pmurias | Tene: reading the md5sum of the whole log would be quicker still | ||
| diakopter | er, complexity issues? | ||
| pmurias | diakopter: generall smop slowness | ||
|
18:12
alester left
|
|||
| Tene | pmurias: Ooo... nice! | 18:12 | |
| diakopter | so... what makes smop slow[er]? | 18:14 | |
| (sorry to ask the obvious/dunno questions...) | |||
|
18:14
alester joined
|
|||
| pmurias | diakopter: not sure, rewriting the lexical pads to be much faster atm | 18:15 | |
|
18:17
jhorwitz joined
|
|||
| diakopter | missingthepoint_: you like JavaScript? | 18:17 | |
| missingthepoint_ | diakopter: more and more :) | 18:20 | |
| pmurias: lol @ md5 comment | |||
|
18:21
damyan left,
Tene left,
leedo left,
mdxi left,
patmat left,
nihiliad left,
tann left,
Exodist left,
spx2 left,
justatheory left,
pmichaud left,
omega left,
sri_kraih_ left,
Trey left,
estrabd left,
gbacon left,
tarbo2_ left,
hercynium left,
Trey joined,
patmat joined,
mdxi joined
18:22
pmichaud joined,
omega joined
18:25
sri_kraih joined,
justatheory joined
|
|||
| missingthepoint_ | diakopter: svn.pugscode.org/pugs/misc/irclog/i...ilter.html | 18:26 | |
|
18:26
tann_ joined
|
|||
| missingthepoint_ | i'd like to learn more javascript than just "the bits needed to learn jQuery", but Perl 6 is a slightly higher priority | 18:27 | |
|
18:30
Tene joined
|
|||
| missingthepoint_ | (link: silly. scratching personal itch) | 18:33 | |
|
18:33
nihiliad joined,
rfordinal joined
18:34
gbacon joined,
Exodist joined
|
|||
| diakopter | missingthepoint_: there's a delay on that filter page? | 18:35 | |
|
18:35
hercynium joined
|
|||
| diakopter | er, lag? | 18:36 | |
| moritz_ | it's just a static snapshot | ||
| missingthepoint_ | do you mean a JS lag, or content up-to-dateness lag? | ||
| diakopter | oh; a snapshot; gotcha | ||
| missingthepoint_ | np | ||
| moritz_ | missingthepoint_: speaking of which.. do you want to add the nick_$nick thing? if yes, feel free to commit | 18:37 | |
| pmurias | moritz_: the nick_$nick thing should replace the colour | 18:38 | |
| missingthepoint_ | no, I'll do it it the morning... i need to do some Real Work for a bit | ||
| (real work == boring but paid) | 18:39 | ||
| i'll commit in 6 hours or so :) | |||
| moritz_ | pmurias: uhm, how so? | 18:40 | |
| missingthepoint_ | pmurias: currently there are various nicks special-cased. adding nick_$nick will just Do It Properly(TM) | 18:41 | |
| pmichaud | + ok "$!" ~~ / 'No::Such::Rule' /, 'error message mentions No::Such::Rule'; | ||
| is the spec going to require specific error text or content? | |||
| KyleHa | We've kind of talked about it requiring specific error text, but I don't think it's decided. | 18:42 | |
| I just figure that any error about calling an undefined or missing "thang" ought to mention what was missing. | |||
|
18:42
moritz_ sets mode: +oooo pmurias KyleHa diakopter missingthepoint_
|
|||
| pmichaud | I want to know "ought" versus "is required to" | 18:42 | |
| Anything that goes into t/spec "is required to" | |||
|
18:42
moritz_ sets mode: +o pmichaud
|
|||
| KyleHa | I don't have a specific error message to look for, and I want to rule out "Null PMC". | 18:43 | |
| pmurias | moritz_: is there a way to preserve the +o bit when logging out? | ||
| moritz_ | it's not yet required on the spec level, only on the "larry's head" level | ||
| KyleHa | I also want to rule out that version of Perl 6 that has all its error messages set to "Ouch!". | ||
| moritz_ | pmurias: don't think so | ||
| KyleHa: Null PMC is now caught by the harness, so don't worry about it anymore | 18:44 | ||
| s/the harness/Test.pm/ | |||
| pmichaud | We can have a generic "Null PMC is always an error" rule without having to have a test for every specific instance where Rakudo might generate one. | ||
| But converting that "avoid Null PMC" wish into "must produce XYZ" might not always be correct | |||
| KyleHa | Ultimately I'd like to test for a "good" error message. | ||
| pmichaud | thus my question | 18:45 | |
|
18:45
unitxt joined
|
|||
| pmichaud | 18:41 <pmichaud> is the spec going to require specific error text or content? | 18:45 | |
| moritz_ | it is going to, yes | 18:46 | |
| pmichaud | As written, this test would rule out the possibility of "No such grammar 'No::Such'", which might in fact be a better error message. | ||
| Or even "rule 'Rule' not found in grammar 'No::Such'" | |||
| KyleHa | I'm in the middle of a real job meeting, so it's hard to talk. 8-) | 18:48 | |
| pmichaud | no problem. | 18:49 | |
| diakopter | --++meeting++-- | ||
|
18:49
mikehh left
|
|||
| pmichaud | I'm just noting a general concern about some of these error tests. | 18:49 | |
| moritz_ | diakopter: check your mails | ||
| diakopter | moritz_: nuthin | 18:50 | |
|
18:51
mikehh joined
18:52
tomyan left,
alester left
18:55
Solarion_ is now known as Solarion
18:59
kane___ left
|
|||
| pugs_svn | r27658 | kyle++ | [t/spec] let the harness check the error message in RT #63466 test | 18:59 | |
|
18:59
hoelzro left
|
|||
| pmichaud | lunchtime here | 19:00 | |
|
19:02
M_o_C left
19:08
M_o_C joined
19:11
Front_slash left
|
|||
| tann_ | rakudo: say 1.Str | 19:25 | |
| p6eval | rakudo 3b1bda: OUTPUT«Int()<0xb6850068>» | ||
|
19:26
zamolxes joined
|
|||
| pmichaud | tann_: did you send a patch for that? | 19:27 | |
|
19:27
tomyan joined,
alester joined
|
|||
| tann_ | pmichaud: i couldn't find the ticket# | 19:27 | |
| someone closed it or latest changes have made it obsolete? | 19:28 | ||
| lisppaste3 | tann pasted "int->str test" at paste.lisp.org/display/83938 | ||
| moritz_ | le' not found in grammar 'No::Such'" | ||
| sorry | |||
| RT #66366 | |||
| pmichaud | so we have a test but no implementation... | 19:29 | |
| okay, adding. | |||
| jnthn back | 19:35 | ||
| pmichaud | jnthn: wb | 19:37 | |
| jnthn: so, one of the questions I have -- should we go ahead and try to fix lexicals now as a first-pass refactor, and then we do it again when contextuals are available from PGE? | |||
| Or should I put in some effort to make contextuals available from PGE prior to doing the lexical refactor | |||
| jnthn | Would being able to set e.g. $*SCOPE make life easier? | ||
| IMO it would | 19:38 | ||
| pmichaud | I don't know if it would. | ||
| but since that's what STD does, we're likely to have to do it anyway. | |||
| jnthn | Right, that's my point. | ||
| We can get closer to STD.pm | |||
| pmichaud | One of the things that makes all of this tricky is that STD derives its regex grammar from Perl 6, which is the exact opposite of what PGE does. | ||
| jnthn | Also I suspect it'd let us make the is also => augment change a little more easily. | ||
| pmichaud | i.e., the Regex grammar is subclassed from the STD grammar. | ||
| from a PGE perspective.... that's a bit tricky. | 19:39 | ||
| jnthn | Ah, hmm. | ||
| Yes, because PGE is meant to be somewhat independent of Perl 6. | |||
| pmichaud | I'm thinking we'll end up with two grammars. | 19:40 | |
| One for PGE, and another for Rakudo/Perl 6. | |||
| jnthn | Could you factor a bunch of the rules out into roles? | ||
| And mix those in? | |||
| pmichaud | Maybe, but I think we still end up with the Rakudo version of the grammar being independent. | 19:41 | |
| jnthn | Or some mechanism like that? | ||
| pmichaud | So having it as roles doesn't seem to buy me anything. | ||
| i.e., Rakudo ultimately needs to use the Regex that is defined in STD.pm | |||
| jnthn | Ah, that is true. | ||
| Then yes, it probably doesn't buy you anything after all. | |||
| How much work is getting contextuals worked into PGE? | 19:42 | ||
| pmichaud | depends on how much syntax we want/need with it | ||
| if it's as simple as | |||
| :my $foo is context = <constant> | |||
| then that might not be too difficult. | |||
| But something like | |||
| token scope_declarator:my { <sym> { $*SCOPE = $<sym> } <scoped> } | 19:43 | ||
| is a bit trickier. | |||
| and | 19:45 | ||
| :my $sigspace is context<rw> = $*sigspace // 0; | |||
| which is actually | |||
| :my $sigspace is context<rw> = CONTEXT::<$sigspace> // 0; | |||
| seems like a bit more for PGE to be handling. | 19:46 | ||
| jnthn | Bit more or bit much? | ||
| pmichaud | at least a bit more. Might be a bit much. | ||
| jnthn | *nod* | ||
| Would doing the first of them be a step towards doing the rest later? | 19:47 | ||
| (e.g. the simple constant case) | |||
| Or do you see it having to be ripped out and totally re-done? | |||
| pmichaud | I don't know yet. (more) | ||
| I'm still working out the ramifications of maintaining two grammars. | |||
| It may be that the first would be enough for us to do the lexical refactoring, though. | 19:48 | ||
| jnthn | It'd get us closer to STD.pm, though not quite there. | ||
| (In that small aspect.) | 19:49 | ||
.oO( token statement_control:need { |
|||
| is that new? | |||
| pmichaud | yes. | ||
| S11 | |||
| jnthn | std: need beer; | ||
| p6eval | std 27658: OUTPUT«Potential difficulties: Can't locate module beer at /tmp/WJN7eFht6y line 1:------> need beer;ok 00:02 35m» | ||
| jnthn | oh noes! | ||
| sjohnson | heh | 19:50 | |
|
19:51
Exodist left
|
|||
| pmichaud | oh. | 19:51 | |
|
19:52
molaf left
|
|||
| jnthn | oh? | 19:53 | |
| pmichaud | sorry, connectivity issues here | 19:54 | |
| I wonder to what extent the correct answer is to do this in NQP instead of PGE | |||
| since NQP can already parse blocks and expressions. | 19:55 | ||
| i.e., maybe PGE really does want to built on top of NQP. | |||
| *to be built | |||
| jnthn | That'd be an interesting flip-around. | ||
| How would NQP then be parsed? | |||
| pmichaud | it'll bootstrap. | ||
| jnthn | OK. | ||
| pmichaud | I'm already thinking of eliminating Perl6Grammar.pir in favor of doing all grammar definition in NQP | 19:56 | |
| and NQP is about to get regexes and fancy quote rules anyway | |||
| jnthn | Because? | ||
| (not disagreeing, just interested in the Big Plan) | |||
| pmichaud | quote rules because we have a couple of places where we want string interpolation | 19:57 | |
| regexes because it's relatively straightforward to add | |||
| grammars because then we have one tool for building compilers (NQP) instead of two (NQP + Perl6Grammar) | |||
|
19:57
hercynium left
|
|||
| jnthn | OK, this sounds like a good move. | 19:58 | |
| The question is | |||
| What comes first? | |||
| pmichaud | (I did very little committing and a lot of planning during your vacation :-) | ||
| jnthn | This, or the lexicals refactor? | ||
| pmichaud | I think this comes first. | ||
| jnthn | Me too. | ||
| pmichaud | that would give us a reasonable set of contextual variables, in grammars and in actions | 19:59 | |
| jnthn | I'd much rather we get these fundementals in place. | ||
|
19:59
damyan joined
|
|||
| jnthn | And then build on them. | 19:59 | |
| pmichaud | it also means we could embed NQP closures. | ||
| regex { foo { NQP code here } } | |||
| jnthn | Then do one lexical change, followed by another. | ||
| *Than | |||
| pmichaud | Since I was already planning to move grammars and regexes into NQP, this isn't that much harder. And it does simplify the addition of lexicals into regexes. | 20:00 | |
| jnthn | I think embedded closures, variable declaration (inc context) and then later protoregexen would go a *long* way to getting us looking much closer to STD.pm. | ||
| pmichaud | protoregexen may come very early in the process also. They're necessary to start using STD's operator precedence parser (on which most everything else is based) | 20:01 | |
| jnthn | Seeing those three would make me very happy. | ||
| pmichaud | it also would mean that even though PGE ends up using a different grammar from Rakudo, at least that grammar's structure will be very similar to Rakudo's | 20:02 | |
| i.e., PGE's grammar would be built on top of NQP, much like Regex is built on top of STD | |||
| jnthn | Yes, it mirrors things much better. | ||
| OK, so I think this means we put off the lexicals refactor for a little bit. | 20:03 | ||
| pmichaud | and if/when Parrot does L1-type things using an NQP syntax, we get a huge refactor. | ||
| I suspect I'll be able to have much/most of the refactoring done before Lisbon. | |||
| (the PGE refactoring, that is) | |||
| jnthn | If you could, that'd be great. | 20:04 | |
| pmichaud | so we could do lexicals shortly after lisbon. | ||
| jnthn | Right. | ||
| pmichaud | hopefully by then we'll know what "Parcel" will look like :-P | ||
| (You do know about "Parcel", don't you? ;-) | 20:05 | ||
| jnthn | "Parcel"? | ||
| pmichaud | heh | ||
| "Parcel" is the new Capture. | |||
| or the underlying structure to Capture. | |||
| jnthn | Ah | ||
| That happened while I was away then, I guess. | |||
| pmichaud | it's the thing that gets built by parens and/or commas | ||
| (it's still not made it to the spec yet afaik) | 20:06 | ||
| jnthn | ah, ok | 20:07 | |
| I was looking for the commit. | |||
| Do we get a refactor needed out of this too? | |||
| pmichaud | the same one we were going to get for Capture in general, I think. | 20:08 | |
| we don't get an additional refactor. | |||
| jnthn | Ah, OK. | ||
| pmichaud | Parcel may need some method dispatch help, though. | ||
| but I think we'll wait for the details first :-) | |||
| if it's not specced by August 1 (the day before YAPC::EU), then I think we find TimToady in Lisbon, corner him, and force him to draft the spec. :-P | 20:09 | ||
| Oh, I guess that's August 2. | 20:10 | ||
|
20:10
masak joined
|
|||
| pmichaud | masak will help. :-) | 20:10 | |
| masak | oh hai | ||
| should I backlog? | 20:11 | ||
| jnthn | No, just agree. ;-) | ||
|
20:11
eternaleye joined
|
|||
| pmichaud | Just be prepared to join jnthn++ and I as we force specifications out of TimToady in Lisbon :-) | 20:11 | |
| jnthn | (waiting for details)++ | ||
| masak | oh, sure. | ||
| KyleHa | Is squeezing specs out of TimToady like squeezing water out of a rock? | 20:12 | |
|
20:12
jhorwitz left
|
|||
| pmichaud | KyleHa: yes, in more ways than one. (more) | 20:12 | |
| (1) it's incredibly hard to do at times | |||
| (2) surprisingly, the rock has water in it | |||
| masak | to be fair to TimToady, I don't think he does it out of spite. :) | ||
| pmichaud | oh, I know that. | ||
| masak | he seems to be taking this whole Perl 6 thing very seriously. | ||
| I like that. | 20:13 | ||
| moritz_ | it's just that our Larry-number is consistently <= 1 | ||
| KyleHa | I always thought that "water" squeezed out of a rock is really the perspiration of the squeezer. | ||
| pmichaud | place liberal amounts of smileys in my comments here. | ||
| masak | eiro: ping. es-tu là? | ||
| pmichaud | Larry's commitment to Perl 6 is.... incredible; I really don't have any arguments with the approaches he's taken. | 20:14 | |
| and I'm not asking for a *complete* specification, just the part about Parcels :-) | |||
| (this week :-) | |||
| jnthn has visions of TimToady and Perl 6 devs playing pass the parcel at YAPC::EU | 20:15 | ||
| pmichaud | heh | ||
| Damian and I were already doing that yesterday. | |||
| Su-Shee | lisbon has nice, dark corners. ;) | ||
| pmichaud | Question: "Why can't I do XYZ in Rakudo yet?" | ||
| Damian: (pointing at pmichaud) "Ask that man over there." | 20:16 | ||
| Pm: (pointing at Damian) "It's not fully specced yet." | |||
| masak has always wanted to XYZ in Rakudo | |||
| pmichaud | jnthn: okay, we have a bit of a plan for lexicals then -- we'll wait to do the refactor until after the contextuals land | 20:17 | |
| I'll give those my highest priority after the release | |||
| in the meantime, perhaps you can think about the best ways to structure lexical initialization in blocks | 20:18 | ||
| masak | ok, it's official: my Rakudo-bleed doesn't build with my Parrot-bleed. | ||
|
20:18
kane___ joined
|
|||
| pmichaud | masak: a bunch of Parrot deprecations landed this morning -- I wouldn't be surprised if Rakudo doesn't build against Parrot trunk | 20:18 | |
| masak | oh. | 20:19 | |
| well, it doesn't. | |||
| jnthn | pmichaud: OK, I'll get back onto pondering all of that lot. :-) | ||
| pmichaud | jnthn: I've been thinking that the lexical information can be most easily placed in the Signature object | ||
| especially since parameters are just special forms of lexicals | |||
| jnthn | That sounds odd to me at first hearing it. | ||
| But I could come around to finding it less odd. :-) | 20:20 | ||
| pmichaud | SIGNATURE_BIND is just initializing lexicals | ||
| sjohnson | sup masak | ||
|
20:20
justatheory left
|
|||
| pmichaud | (it throws an exception, yes, but other than that it does lexical initialization) | 20:20 | |
| masak | sjohnson: y0, SJ. | ||
| jnthn | whoz up? | ||
| masak | whoz op? | ||
| sjohnson | hello jnthn and pmichaud | ||
| jnthn | hi sjohnson | ||
| pmichaud: Yeah, but it's also not so fast. ;-) | 20:21 | ||
| masak is doin' da Web.pm shitz tonite | |||
| jnthn | Gettin' down wiv da MVC | ||
| pmichaud | jnthn: it's not fast, but every block ultimately calls SIGNATURE_BIND at the beginning | ||
| so if SIGNATURE_BIND also does lexical initialization.... | |||
| masak | jnthn: well, as soon as I finish up the last week of my part of the grant... :) | ||
| pmichaud | it just feels as though there's a bit of code duplication there that deserves some investigation | 20:22 | |
| (setting up a lexical's properties, types, etc.) | |||
|
20:22
alester left
|
|||
| jnthn | I guess in a sense a lexical not expecting to be init'd by a parameter just gets its default value always. | 20:23 | |
| pmichaud | correct | ||
|
20:23
tomyan left
|
|||
| pmichaud | it's something like an optional param | 20:23 | |
| masak | rakudo: need beer; | ||
| p6eval | rakudo 3b1bda: OUTPUT«Could not find non-existent sub beer» | ||
| jnthn | That could work out. | 20:24 | |
| pmichaud | I'm not saying that lexicals and parameters become exactly the same; I'm just saying that we initialize them similarly and (now) at approximately the same time | ||
| (i.e., at the beginning of the block) | |||
| jnthn | Aye. | ||
| pmichaud | so perhaps they're more similar than we realize. | ||
| jnthn | I guess the same thing could take care of state. | ||
| (as in the scope decl) | |||
| pmichaud | yes -- something about the current state code doesn't feel right to me | ||
| jnthn | It gets a lot of things right. | 20:25 | |
| pmichaud | but I'm not about to go re-do it unless we see an obvious improvement. | ||
| right, it's good code, it just feels like we're missing a simplification somewhere. | |||
| jnthn | But I don't doubt brining it into a more unified approach incorporating the parameters and other lexicals could be a load cleaner. | 20:26 | |
| pmichaud | (it's another one of those places that ends up with a long bit of code in actions.pm) | ||
| sjohnson | pmichaud & jnthn: you both seem to know your stuff... i was wondering, where is the best way to get in touch with some Perl 5 high-up people, so i can suggest the backporting of trim to Perl 5 | ||
| pmichaud | time to change locations...brb | ||
| jnthn | Maybe we can plan the details during YAPC::EU | ||
|
20:26
hoelzro_ joined,
tomyan joined
|
|||
| pmichaud | definitely, if we haven't addressed them before then | 20:27 | |
| sjohnson: I suspect getting trim backported into Perl 5 may be difficult. | 20:28 | ||
| jnthn | IMO, probably more difficult from a "convincing people" than a technical perspective. | 20:29 | |
| pmichaud | sjohnson: I'm going to guess that the most promising option would be to create a Perl6::* module that provides trim, if there's not already a standard module that provides it | ||
| right, more difficult from a "convincing people" perspective. | |||
| (more) | |||
| sjohnson | my goal is to get it into perl 5 without CPAN, and i will settle with convincing someone who writes a Core Module to do it, if that's the best i can do | ||
| pmichaud | sjohnson: if I'm reading you right, you'd like it backported into Perl 5, *and* enabled by default. | ||
| sjohnson | my aim is to avoid CPAN altogether with this one | ||
| masak | sjohnson: the Perl 5 core has been a bit of a hot topic lately, what with rafael leaving as pumpking and all. | 20:30 | |
| pmichaud | sjohnson: the big problem will be the "enabled by default" part. | ||
| sjohnson | well, enabled by default would be great, but as long as i don't need to use cpan for it, i can settle.. ie, if i can say: use Something:Core qw(trim); | ||
| pmichaud | getting it into a core module might be simpler, yes. | ||
| But an even nicer approach might be to see if you can convince the modern perl or enlightened perl folks to include it. | 20:31 | ||
| masak | sjohnson: you could clone perl on github and patch it in yourself. | ||
| pmichaud | then you could just do "use Modern;" and trim would be available (along with strict, warnings, and all of the other good defaults) | ||
| sjohnson | would i need to talk with the Modern Core Developer? | ||
| pmichaud | sure. | 20:32 | |
| sjohnson | masak: when you say patch it myself, do you also mean submit my patch | 20:33 | |
| in hopes it gets committed? | |||
| tann_ | is there an internal sub/method for list/capture like array's 'elems'? (1,2,3).elems would promote the list to array, correct? | ||
| sjohnson | or just patch it for myself only | ||
| BinGOs | what is trim? | ||
| sjohnson | BinGOs: whitespace trimmer | ||
| tann_ | BinGOs: stripping off whitespaces from the head and tail of a string | 20:34 | |
| masak | sjohnson: that's up to you. but it feels like a good first step to create the patch in your local repo, and having it pass all the tests. | ||
| BinGOs | oh right. | ||
| masak | sjohnson: who knows, you might even learn _why_ it's non-trivial to add it to the Perl 5 core. :) | ||
| sjohnson | hehe | ||
| masak | I mean, there may be technical hurdles, not just social ones. | ||
| that actually wouldn't surprise me. | 20:35 | ||
| pmichaud: Rakudo-bleed builds fine with Parrot r40184. thanks. | |||
| BinGOs | I maintain a core module | ||
| sjohnson | for real? | 20:36 | |
| BinGOs | I doubt trim is a good fit though | ||
| pmurias | BinGOs: what's your module? | ||
| BinGOs | CPANPLUS::Dist::Buil | ||
| er | |||
| +d | |||
| pesky keyb | |||
| long and tortured story why I am maintaining it. | 20:37 | ||
| pmurias | sjohnson: how do you usually end up needing to use trim? | ||
| tann_ | pimichaud: is there an internal sub/method for list/capture like array's 'elems'? (1,2,3).elems would promote the list to array, correct? | 20:38 | |
| sjohnson | pmurias: because i write a ton of unix "tools" that make my life easier, and a lot of them strip the whitespace from textfiles, etc, that they parse | ||
| i could have a look and grep all the times i have used StripLTSpace | |||
| tann_ | pmichaud: ^^ (sorry for the typo) | ||
| sjohnson | and give you better examples if you want | ||
|
20:38
hercynium joined
|
|||
| moritz_ | tann_: .elems doesn't promote to array. | 20:39 | |
| tann_ | moritz_: is there away to get the number of elems in a list? | ||
| masak | rakudo: say (1,2,3).elems | 20:40 | |
| sjohnson | tann_: scalar | ||
| p6eval | rakudo 3b1bda: OUTPUT«3» | ||
| sjohnson | oh, i keep thinking p5 | ||
| masak | tann_: that good enough for you? | ||
| sjohnson | rakudo: say (1,2,3).scalar | ||
| p6eval | rakudo 3b1bda: OUTPUT«Method 'scalar' not found for invocant of class 'List'» | ||
| sjohnson | rakudo: say (1,2,3).count | ||
| p6eval | rakudo 3b1bda: OUTPUT«Method 'count' not found for invocant of class 'List'» | ||
| tann_ | masak: not sure | ||
| pmurias | sjohnson: no need, when you parse something with regexes most of the time you should be able to omit whitespace | ||
| masak | sjohnson: stop guessing and read the spec! :) | ||
| rakudo: say { 1 => 2, 3 => 4 }.elems | 20:41 | ||
| tann_ | masak: trying to patch 63724 for pmichaud | ||
| p6eval | rakudo 3b1bda: OUTPUT«2» | ||
| sjohnson | pmurias: i have found that i like to read a lot of <STDIN> lines | ||
| tann_ | masak: where self is a List itself | ||
| sjohnson | and it's easier for me to just trim them, instead of writing the regex everytime | ||
| masak | tann_: well, like moritz_ said, .elems is a List method, not just an Array method. | 20:42 | |
|
20:42
decasm joined
|
|||
| tann_ | so, i'm assuming it's safe to self.elems == 1 { blah } then | 20:42 | |
| pmichaud | tann_: it's very likely that any patch for 63724 will be short-lived | 20:43 | |
| tann_ | in class List that is | ||
| masak | tann_: that's two terms in a row, but yes. | ||
| tann_ | pmichaud: hear ya :D | ||
| sjohnson | pmurias: but anyways, the reason i think it is worthy of inclusion is because every other scripting language out there that's somewhat used today has trim built in, and Perl 6 does too | ||
| pmichaud | tann_: I would simply take the existing List.perl, change the brackets to parens, and force a comma after every element. | ||
| tann_ | pmichaud: will do..thanks | 20:44 | |
|
20:44
mberends joined
|
|||
| pmichaud | if you want to avoid the trailing comma on lists with != elements, that's okay with me. | 20:45 | |
| masak | mberends: oh hai! | ||
| pmichaud | != 1 elements | ||
| mberends | masak: hai, barefoot bugcatcher | 20:46 | |
| pmichaud | for that matter, if you want to just change the brackets to parens that's okay too. | ||
| i.e., it wouldn't bug me if (3,).perl produced "(3)" | |||
| masak | phenny: tell eiro if you look at the beginning and end of github.com/masak/web/commit/01cca04...866dfdd0b5 you will find that the request($c) is actually deliberate (and the nasty but cool hack used to make it work) Tene++ | ||
| phenny | masak: I'll pass that on when eiro is around. | ||
| Tene | masak: what part of it is a nasty hack? | 20:47 | |
| (I don't remember) | |||
| masak | Tene: the emulation of CALLER:: | ||
|
20:47
hoelzro_ is now known as hoelzro
|
|||
| masak | Tene: but it's not very nasty, mostly cool. | 20:47 | |
| pmurias | sjohnson: javascript doesn't | 20:48 | |
| Tene | ah | ||
| masak | Tene: I'm thinking of writing a small blog post about it. someone might like the trick. | ||
| pmichaud | (blog post)++ | 20:49 | |
| Tene | It's not that much of a trick. That's what CALLER:: will end up being eventually. | ||
| masak | it would be called "Why I like having Tene on the team" or something. :) | ||
| pmurias | sjohnson: why are you oppossed to having trim in CPAN? | ||
| Tene | I just don't know enough about rakudo's lexical scoping stuff to know how to do CALLER:: right. | ||
| masak | Tene: if you think using Q:PIR to emulate CALLER:: is not much of a trick, then you're way in deep, man. :) | 20:50 | |
| pmichaud | Tene: in order to get CALLER to work I think we'll want/need contexts as PMCs | ||
| sjohnson | pmurias: because whenever i migrate from system to system which happens about one a month, i get tired of the @INC errors all the time | ||
| in simple scripts that shouldn't really require dependencies | |||
| and it becomes a headache | |||
| pmurias | sjohnson: they will depend on perl 5.12 if you get trim added to the core | ||
| sjohnson | as much as a headache as having to paste in my own trim function everytime | ||
| pmurias | sub trim {$_[0] =~ /^\s*(.*?)\s*$/;$1} | ||
|
20:51
hudnix joined
|
|||
| masak | Tene: could you help me answer a quick question, though? it seems to me line 4 of bin/basic-demo.pl is redundant nowatimes. | 20:51 | |
| sjohnson | pmurias: it have thought about that, but it is a step in the right direction, IMHO | ||
| masak | Tene: um, that wasn't a question. my question was: is it? :) | ||
| pmurias | and perl 5.12 will take ages to be installed by default | ||
| you might as well use rakudo | 20:52 | ||
| masak | you might as well use Rakudo regardless. | ||
| Tene | masak: um, dunno. | ||
| masak | Tene: well, there's no longer a request(), is there? | 20:53 | |
| pmurias | by the time perl 5.12 will be the installed by debian stable as default you might as well use smop | ||
| masak | so it would seem that line is never run, or there would be an error. | ||
| Tene | masak: it's defined on line 6. | ||
| masak | Tene: that's request($c) | ||
| different. | |||
| Tene | masak: you're asking if that like is *broken*? | ||
| masak | Tene: that one is called using your CALLER:: trick. | ||
| sjohnson | pmurias: that sounds very optimistic and like good news | 20:54 | |
| masak | Tene: no, I think that line only ever calls daemon() | ||
| Tene | masak: Sure. | ||
| sjohnson | that SMOP / Rakudo will be close to an official rlease | ||
| masak | Tene: we don't do the script-calling-itself trick anymore. | ||
| Tene | masak: then yes, I agree with you. | ||
| masak | Tene: good, so I'll go ahead and remove line 4. just doing a sanity check. :) | ||
| s/remove/change/ | |||
| heh, kopipasta and run-nibbler had variants of that bitrotism. | 20:57 | ||
| hudnix | rakudo: role List {method foo{1}} | ||
| masak | only omgblog didn't. | ||
| p6eval | rakudo 3b1bda: OUTPUT«Method '!add_variant' not found for invocant of class ''» | ||
| pmurias | sjohnson: SMOP is very far away from a stable release | ||
| hudnix | That error message sucks :( | ||
| Tene | masak: really, HTTP::Daemon should be checking the environment to look for CGI vars and just invoking request() directly if so. | ||
| IMO, iirc | |||
| masak | hudnix: agreed -- less than awesome. | ||
| Tene | does that sound right? | 20:58 | |
| pmurias | sjohnson: but i'm very pesimistic about how fast 5.12 will take to spread everywhere | ||
| moritz_ | hudnix: feel free to submit a bug report about it | ||
| masak | Tene: the whole HTTP::Daemon thing needs restructuring. | ||
| hudnix | moritz_: ok | ||
| masak | Tene: I'm not at all sure we should be shipping Web.pm with its own web server. | ||
| we certainly shouldn't be holding our own stale version of it in the repo. | 20:59 | ||
| Tene | Yeah, srsly. | ||
| I don't remember anymore how I was planning to do that. | |||
| masak | me neither. | ||
| need to talk with mberends about it, too. | |||
| Tene | Module distribution for Perl 6 really needs some work... | ||
| masak | and look at how Rack does this. | ||
| Tene | Yes, it would be great to see how others are doing it. | 21:00 | |
| masak | a priori, I'm actually a bit stumped at how Rack pulls it off. | ||
| their Lobster example uses Webrick (IIRC), but that doesn't come with Rack. | |||
| Tene | iirc, the wohle rack thing was to be engine-independent. | 21:01 | |
| masak | exactly. | ||
| but how do they square that with being able to run their hello-world example out of the box? | 21:02 | ||
| it's a mysterious mystery! | |||
|
21:02
ispy_ left
|
|||
| masak heads over to #rack to ask right away | 21:02 | ||
|
21:03
pmurias left
|
|||
| masak | oh, "WEBrick has been bundled as a standard library since Ruby-1.8.0. Our development and maintenance base was moved to The Repository of Ruby." -- that's how the mystery resolves itself. | 21:07 | |
| if you have Ruby, you have WEBrick. | |||
| Tene | ah | 21:08 | |
| masak | ok, I'm off to write that blog post, then I'm calling it a night. | 21:09 | |
| mberends | masak: (backlogging) currently HTTP::Daemon embeds a webserver in the application process, resulting in great efficiency but a tight interdependency. After Rakudo becomes able to pass a configured %*ENV to a child process, Daemon would be able to run the application as a child process via qx{}. The web application would then need to be CGI compatible and could be run under other webservers too. | ||
| Tene | Nice chatting with you, masak. :) | ||
| masak | mberends: CGI compatible -- IIUC, that's what Rack does. | 21:10 | |
| mberends | ok, but it's slow to start a child process per request | 21:11 | |
| masak | mberends: this sounds like a thing we might profitably discuss during YAPC::EU, if not sooner. | 21:13 | |
| you'll need to explain it to me using short words, wide gestures, and pictures. | |||
| mberends | good idea, sooner too, but wide gestures would go down nicely in Lisbon | 21:14 | |
| masak | :) | 21:15 | |
| mberends | there is probably a hackish workaround possible to fake %*ENV passing (ugly thought, but nvm) to do CGI right now :/ | 21:16 | |
| masak | I'm going into serious tutorial/presentation-writing mode in the next few days. it will be the perfect time to talk about these things. | ||
| I need to cram all of Web.pm and the workings of the Web into my head anyway. | 21:17 | ||
| mberends | good! my presentation-writing is also >due | ||
|
21:17
skids left
|
|||
| masak | mberends: let's provoke each other into fervent action. :) | 21:18 | |
| jnthn | oh my...YAPC::EU talk... | ||
|
21:18
caxaf is now known as shachaf
|
|||
| masak | seems there are more of us :) | 21:18 | |
| pmichaud | ....my talk is ready. :-) :-) | 21:19 | |
| although I'm thinking of updating it a bit tonight. | |||
| moritz_ | rakudo: say =$*IN | 21:20 | |
| mberends lurks #reactos as a potential Parrot/Rakudo test platform | |||
| p6eval | rakudo 3b1bda: OUTPUT«prefix:<=> has been superseded by $handle.lines and $handle.getNull PMC access in get_pmc_keyed()current instr.: 'perl6;Perl6;Compiler;eval' pc 290105 (src/gen_actions.pir:24150) (src/gen_setting.pm:3340)» | ||
| moritz_ | pmichaud: would you like to include deprecation notices into Rakudo's release announcements? | 21:21 | |
| pmichaud | moritz_: sure, to the extent we have any :-) | ||
| moritz_ | I can think of prefix:<int> and prefix:<=> right now | ||
| pmichaud | We can do that. | ||
| I'll probably consider it more strongly as Rakudo moves out of "developer releases" | |||
| i.e., we recognize that the spec changes quickly still, so it's hard to track all of the deprecations. | 21:22 | ||
| jnthn | rakudo: my @a = 3,4,5,6; say [+] @a / @a; | ||
| p6eval | rakudo 3b1bda: OUTPUT«1» | ||
| jnthn | rakudo: my @a = 3,4,5,6; say ([+] @a) / @a; | ||
| p6eval | rakudo 3b1bda: OUTPUT«4.5» | ||
| moritz_ | pmichaud: I'm more talking about the "big" items which will likely cause lot of confusion | ||
| pmichaud | moritz_: sure. I'm not opposed to them. | 21:23 | |
| so yes, let's include them. | |||
| but if some aren't there, I'm not going to go too far out of my way to put them there. | |||
| moritz_ | same here | ||
|
21:30
Su-Shee left
|
|||
| pmichaud | afk for a while (changing locations) | 21:36 | |
| dalek | kudo: 2967a71 | moritz++ | docs/announce/2009-07: [docs] stub 2009-07 release announcement with deprecation notices |
21:38 | |
| kudo: 5c1a814 | moritz++ | : Merge branch 'master' of [email@hidden.address] |
|||
|
21:42
maja joined,
maja_ left
21:43
justatheory joined
|
|||
| masak | phenny: tell eiro use.perl.org/~masak/journal/39329 | 21:46 | |
| phenny | masak: I'll pass that on when eiro is around. | ||
| masak | good night, perl 6 adventurers. | 21:48 | |
| moritz_ | same to you | 21:49 | |
|
21:49
masak left
21:51
KyleHa left
21:52
justatheory left
21:53
kane___ left
21:56
hoelzro left,
tomyan left
22:01
Limbic_Region joined
22:03
kane_ joined,
decasm left
22:05
tomyan joined
22:06
hoelzro_ joined,
yahooooo left
|
|||
| japhb | Rakudo 5c1a814 is failing to build for me; numerous errors trying to compile perl6.ops | 22:11 | |
| Tene | latest parrot? | 22:12 | |
| japhb | Tene: yes | ||
| Actually, no: 40198. It was latest when I started compiling. :-) | 22:13 | ||
| The intervening commits "shouldn't" have made any difference. | 22:14 | ||
| Tene | heh | ||
| Tene updates parrot | |||
| japhb | Oh, grrrr. cotto already found this. | 22:15 | |
| Looks like I need to go to 40197 or apply cotto's patch. | 22:16 | ||
|
22:20
hoelzro_ is now known as hoelzro
22:23
nihiliad left
22:27
yahooooo joined
|
|||
| japhb | Switching back to 40197 allows the C compiling to work, but now it dies while generating the setting. | 22:29 | |
| /home/geoff/git/rakudo/parrot/parrot perl6_s1.pbc --target=pir src/gen_setting.pm > src/gen_setting.pir | |||
| Direct creation of Iterator | |||
| current instr.: 'perl6;Perl6;Compiler;main' pc 204085 (src/gen_metaop.pir:329) | |||
|
22:29
payload left
|
|||
| Tene | japhb: looks like it fails for me too. | 22:30 | |
|
22:51
M_o_C left,
Jedai left
22:54
mberends left
22:56
frew_ joined
23:11
clintongormley left
23:13
payload joined
23:16
xomas_ left
23:18
xomas_ joined
23:23
orafu joined
23:24
Helios left
23:27
hercynium left
|
|||
| dalek | kudo: 169fc1c | pmichaud++ | src/setting/ (2 files): Add Int.Str and Num.Str. |
23:28 | |
|
23:28
Helios joined
23:29
lisppaste3 left
23:30
lisppaste3 joined
|
|||
| pmichaud | rakudo: say 3.Str | 23:42 | |
| p6eval | rakudo 5c1a81: OUTPUT«Int()<0xb6885068>» | ||
|
23:45
ihrd joined
|
|||
| wayland76 | pmichaud: Can you comment on what I said about the EXE make variable in rt.perl.org/rt3//Public/Bug/Display...l?id=63360 ? | 23:45 | |
| (ie. is there a reason you've eliminated it in the "ins" branch?) | |||
|
23:49
ihrd left,
kane_ left
23:51
hoelzro left
23:54
hoelzro joined,
hoelzro left
23:57
tomyan left
|
|||