Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-07-21

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

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

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

Perl 6 | Reference Documentation | Rakudo