»ö« | 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
|