Camelia, the Perl 6 bug

IRC log for #parrot, 2008-07-18

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:09 AndyA joined #parrot
00:24 kid51 Does anyone know what I'm supposed to do if t/codingstd/perlcritic.t flags a file for having a 'TODO' comment?
00:24 kid51 # Flag comment 'TODO' found at lib/Parrot/Harness/Smoke.pm line 100
00:25 kid51 # Flag comment 'TODO' found at lib/Parrot/Harness/Smoke.pm line 108
00:29 Infinoid I think those usually end up being converted to tickets
00:32 Whiteknight Yeah, create a ticket for them, and replace the "TODO" with the rt# of the ticket
00:32 kid51 Yeah, but I can't commit Michael Peters' patches for Smolder because one of the files is itself failing perlcritic.t
00:32 Whiteknight nice
00:33 kid51 So it looks like I'll first have to commit the file -- even though it will cause a test failure.
00:33 Whiteknight do that. People will find a solution for it
00:33 Whiteknight maybe post a ticket to the mailing list alerting people
00:34 dalek r29571 | jkeenan++ | trunk:
00:34 dalek : Eliminate trailing whitespace.
00:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29571
00:37 dalek r29572 | jkeenan++ | trunk:
00:37 dalek : Committing Michael Peters' most recent patches for Smolder testing
00:37 dalek : (http://rt.perl.org/rt3/Tic​ket/Display.html?id=55954).  NOTE:
00:37 dalek : lib/Parrot/Harness/Smoke.pm is failing perlcritic.t policy re comments with
00:37 dalek : 'TODO' -- a failure I found out by running make smolder_test itself!
00:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29572
00:47 dalek r29573 | Whiteknight++ | gsoc_pdd09:
00:47 dalek : [gsoc_pdd09] Cut out sweep code for now, works better without it. Fix merge error in MANIFEST
00:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29573
00:50 kid51 Whiteknight:  okay, I posted to http://rt.perl.org/rt3/Tic​ket/Display.html?id=55954
00:50 kid51 ... and the files are committed.
00:50 Whiteknight good and good
01:06 dalek r29574 | Whiteknight++ | gsoc_pdd09:
01:06 dalek : [gsoc_pdd09] Reintroduce short-circuiting to pobject lives by creating a new list for marked objects. Also, a few unrelated minor changes.
01:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29574
02:10 nopaste "kid51" at 68.237.13.124 pasted "RT 56948: try this patch: make realclean;perl Configure.pl --test=configure" (311 lines) at http://nopaste.snit.ch/13610
02:30 Zaba_ joined #parrot
02:33 cotto_home NotFound++ #I didn't know real_exception was smart enough to do that.
02:38 cotto_home particle, apparently you underestimated real_exception.
02:43 cotto_home Is E_SystemError one of those deprecated errors?
02:44 Whiteknight cotto_home, what are you talking about? What cool stuff does real_exception do?
02:44 dalek r29575 | Whiteknight++ | gsoc_pdd09:
02:44 dalek : [gsoc_pdd09] Lots of changes:
02:44 dalek : * Headerizer updated all my function defs
02:44 dalek : * Add ARGMOD places to shut headerizer up
02:44 dalek : * Removed unused state from the GC
02:44 dalek : * Remove code to sweep pools that shouldn't be swept
02:44 dalek : * Added post-sweep cleanup
02:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29575
02:45 cotto_home Whiteknight, format strings that can use Parrot STRINGs.
02:45 Whiteknight oh really? cool
02:45 cotto_home real_exception(interp, NULL, E_SystemError, "%Ss", errmsg_pstring)
02:48 Zaba joined #parrot
02:48 cotto_home It's funny because I was looking at that function earlier but still missed the ...
02:55 s1n if a spectest is failing but shouldn't be, and it's in the spectest_regression.dat, should it be marked as SKIP?
03:10 bacek s1n: skip or todo
03:11 s1n bacek: which would be better?
03:12 s1n bacek: the tests that i'm adding should probably be passing, but i'm guessing there's a bug that's preventing it
03:12 bacek s1n: depends. If it a bug in rakudo: todo, if something not implemented: skip
03:12 bacek then todo, AFAIK
03:13 s1n it's a new test in range, but it looks like some of it isn't working, it's hard to say whether it's a bug or hasn't been implemented
03:13 s1n the test is currently being fudged, so i'd have to dig in a figure out
03:14 bacek which file?
03:14 purl i guess which file is that error in
03:14 s1n S02-builtin_data_types/range.t
03:15 s1n well, there's no p6eval bot in here
03:15 bacek #?rakudo skip 'infinite ranges not implemented'
03:15 bacek ?
03:15 s1n no, i'm adding some new tests
03:15 bacek can you provide sample test?
03:16 s1n yeah, try out 5..1 or 'd'..'a'
03:16 s1n if you want, i can pastebot the tests if needed
03:17 Zaba joined #parrot
03:17 s1n (i.e. use the p6eval bot in #perl and try that out, compare it to 1..5 or 'a'..'d')
03:23 cotto_home polyglotbot knows rakudo
03:23 bacek cotto_home: as 'perl6' :)
03:34 baest joined #parrot
03:51 TiMBuS joined #parrot
03:59 Tene s1n: yes there is
04:00 Tene perl6: say 'hi s1n'
04:00 polyglotbot OUTPUT[hi s1n␤]
04:06 s1n joined #parrot
04:15 TimToady s1n: it *is* specced, S03:2641
04:22 Zaba_ joined #parrot
04:28 cotto_home I've gotten 14 copies of NotFound's response to RT#46681.
05:08 grim_fandango joined #parrot
05:34 wolverian joined #parrot
05:34 leo_ joined #parrot
05:43 Psyche^ joined #parrot
05:48 Ademan joined #parrot
06:06 tuxdna joined #parrot
06:15 cotto_home gah!  I got another two.
06:15 cotto_home Who's in charge of rt.perl.org?
06:20 TonyC perlbug-admin@perl.org (which is Robrt, I think)
06:21 Sartak I hack on RT, maybe I can help you with something?
06:24 Debolaz joined #parrot
06:26 NotFound cotto_home: I send only one, I promise X-)
06:29 NotFound And in the ticket in RT there is no dupes.
06:30 NotFound Sartak: he'e receiving duplicates of my message to RT#46681
06:31 Sartak oh
06:32 NotFound Is a good message, but one copy must be enough for anything X-)
06:33 Sartak :)
06:33 Sartak I don't see anything wrong on the ticket display page. might be config? anyway, yeah, you'll have to ask Robrt
06:35 uniejo joined #parrot
06:38 Psyche^ joined #parrot
06:47 iblechbot joined #parrot
06:50 Zaba joined #parrot
06:56 barney joined #parrot
07:03 zostay joined #parrot
07:08 s1n joined #parrot
07:09 particle joined #parrot
07:10 jcm joined #parrot
07:13 rhr_ joined #parrot
07:16 TimToady_ joined #parrot
07:16 cxreg2 joined #parrot
07:17 _shane_ joined #parrot
07:17 Infinoid joined #parrot
07:17 magnachef_away joined #parrot
07:19 jjore2 joined #parrot
07:19 cotto_home joined #parrot
07:19 japhb joined #parrot
07:19 gmansi joined #parrot
07:20 cj joined #parrot
07:20 rlb3 joined #parrot
07:21 hachi joined #parrot
07:21 nopaste joined #parrot
07:28 Ademan joined #parrot
07:37 jan joined #parrot
07:55 dalek r29576 | moritz++ | trunk:
07:55 dalek : [rakudo] added S04-statements/do.t to spectest_regression, Auzon++
07:55 dalek :  +14 pass, +9 todo/skip tests
07:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29576
07:58 masak joined #parrot
07:58 barney Is --gc-debug still needed for running the tests ?
07:59 moritz which tests?
07:59 purl which tests are you looking at?  I can review and make a ruling or kick to p6c/p6l
07:59 moritz purl: foget which tests
07:59 purl moritz: excuse me?
07:59 moritz purl: forget which tests
07:59 purl moritz: I forgot which tests
07:59 barney In the root Makefile: EXTRA_TEST_ARGS
08:00 s1n joined #parrot
08:10 dalek r29577 | bernhard++ | trunk:
08:10 dalek : [docs] Mention the two new exportable subs collect_test_environment_data() and send_archive_to_smolder() in POD.
08:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29577
08:11 barney make smolder_test looks fine
08:13 Zaba_ joined #parrot
08:17 dalek r29578 | bernhard++ | trunk:
08:17 dalek : [build] Mention target 'smolder_test' in 'make help'.
08:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29578
08:18 Zaba joined #parrot
08:22 skv joined #parrot
08:29 * barney is spending the weekend in http://www.tittling.de/index.phtml     Hey, are they using embedded Perl ?
09:09 Nebster joined #parrot
09:21 jonathan morning all
09:21 purl morning, jonathan
09:21 Nebster morning
09:21 moritz mornin'
09:37 masak morning
09:43 masak what are the src/ops/perl6_ops*.bundle files that keep being generated in my rakudo source tree?
09:45 masak could they be svn:ignored?
09:45 jonathan masak: That folder holds some dynops for Perl 6, but I don't know what a .bundle file is - I don't get them on Win32.
09:47 * moritz doesn't get them either
09:51 masak ok, PIR question: seems I can't do `print PIO, $P0`, what should I do instead if I want to print the Str in $P0?
09:52 jonathan PIO is a ParrotIO object?
09:52 jonathan PIO.print($P0) perhaps?
09:53 * moritz leaves for the weekend
09:53 moritz bye bye, and happy hacking
09:53 jonathan bye moritz, have a good weekend
09:53 masak bye. moritz
09:53 masak jonathan: on line 42 in src/classes/IO.pir, PIO is used
09:54 masak I'm trying to do the same with printf
09:54 masak ah, and that was the error! I had forgotten to declare PIO
09:56 jonathan Ah!
09:56 masak hm, even after implementing it, I get "Could not find non-existent sub printf"
09:57 masak what governs whether a sub is globally visible?
09:57 masak I want it to be as visible as print and say
09:58 jonathan Put it in .namespace []?
09:58 jonathan Same as print and say are declared in io.pir
09:58 masak hm, I don't see it
09:59 jonathan src/builints/io.pir?
09:59 masak ah
09:59 jonathan Tssk. P6Object doesn't handle anonymous classes.
10:00 masak ah, so src/classes/IO.pir is when I have an actual IO object, while src/builtins/io.pir is for the object-less calls?
10:02 masak it works!
10:02 masak this was instructive :)
10:02 masak _and_ low-hanging fruit
10:02 * masak sends patch
10:02 tuxdna joined #parrot
10:09 jonathan masak: Yes, pretty much
10:09 jonathan Nice! :-)
10:12 masak after perl 6 goes mainstream, I can point to 'printf' in people's code and say, "you know... I implemented that" :P
10:14 jonathan :-)
10:14 jonathan ...and then get blamed for the bugs! ;-)
10:14 * jonathan will keep quiet to avoid blame. :-)
10:14 masak haha
10:31 dalek r29579 | jonathan++ | trunk:
10:31 dalek : [p6object] Support registration of anonymous classes. Add a few tests. Also eliminate an unused .local in the test file.
10:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29579
10:57 Whiteknight joined #parrot
11:02 ruoso joined #parrot
11:43 NordQ joined #parrot
12:06 iblechbot joined #parrot
12:23 dalek r29580 | jonathan++ | trunk:
12:23 dalek : [rakudo] Implement anonymous classes.
12:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29580
12:27 pmichaud trunk isn't building for me
12:27 * pmichaud tries a fresh checkout
12:29 jonathan pmichaud: I did a fresh checkout this morning (just out of habbit of normally doing so before starting a day's hacking).
12:29 jonathan And it built.
12:30 pmichaud my system is hanging in a Configure.pl step
12:30 jonathan Early fail!
12:30 pmichaud Determining whether there is socklen_t.................................yes.
12:30 pmichaud Determining if your C library has setenv / unsetenv...................both.
12:30 pmichaud Determining if your platform supports AIO...
12:30 purl i already had it that way, pmichaud.
12:30 jonathan Hmm.
12:30 pmichaud and it just sits there.
12:31 pmichaud it could be my box -- I did an upgrade a couple of days ago.  OTOH, it built just fine yesterday, so that's not likely to be the problem.
12:31 * pmichaud bisects
12:31 slavorgn joined #parrot
12:32 masak jonathan: "anonymous grammars not supported" -- is that temporary or according to spec?
12:32 jonathan svn log shows last change to aio.pm was "r24769 | jkeenan | 2008-01-12 02:22:59 +0100 (Sat, 12 Jan 2008) | 1 line"
12:32 pmichaud masak: temporary
12:32 purl well, temporary is evil.  filesort is evil.
12:33 masak purl: forget temporary
12:33 purl masak: I forgot temporary
12:33 pmichaud it appears to be something on my system
12:33 pmichaud I had some difficulty booting this morning as well, so perhaps my desktop is acting up.
12:33 jonathan masak: the spec doesn't say either way
12:33 masak maybe it should
12:33 pmichaud since the spec doesn't say the presumption is that grammars may be anonymous
12:34 pmichaud (since classes may be anonymous)
12:34 jonathan Since classes may be and grammars are class-ish?
12:34 jonathan Right.
12:34 masak however, not having anon modules seems a wise choice, for some reason
12:34 jonathan It was my guess too, but I didn't want to go implemnet it only to find it wasn't spec'd.
12:34 jonathan Or wasn't menat to be.
12:35 pmichaud well, in terms of Parrot we'll want to implement anonymous grammars with an internally generated unique name
12:35 pmichaud probably the same for anonymous classes, too.
12:35 jonathan We may. For now, I've gotten away with that.
12:35 jonathan But it won't be a hard change to make.
12:35 pmichaud we'll want the internally generated name so we can add regexes into the grammar :-)
12:36 jonathan Yes.
12:36 pmichaud otherwise we don't have a .namespace to attach the methods to
12:36 jonathan Well, we don't for anonymous classes. We just call .add_method on the class.
12:36 jonathan But that may be tricky to do with calling into PGE etc.
12:36 pmichaud I'm not sure I'll be able to do that with PGE.... right.
12:37 jonathan OK, I should go eat something quickly for lunch...then I guess there's various bits to discuss.
12:38 pmichaud I might not be good for discussion this morning -- I woke up with a huge headache
12:38 pmichaud we can try, though.  :-)
12:38 jonathan Ah.
12:38 jonathan We can leave it for a bit if you like.
12:39 pmichaud well, I won't be around much at this time until next Thursday
12:39 pmichaud (travel, oscon)
12:39 jonathan I menat a bit later into today. ;-)
12:39 pmichaud okay, that should work.
12:40 jonathan OK
12:40 pmichaud and of course I have to troubleshoot why Parrot won't even build on my system now :-(
12:40 jonathan :-(
12:40 pmichaud since yesterday I've had this sense like one of the planets moved into the wrong astrological sign or something :-|
12:41 pmichaud also I can write up lexicals now that S04 has been updated.
12:41 pmichaud S04 has made it incredibly easy, if I'm reading it correctly (only browsed it briefly yesterday)
12:44 jonathan I saw that it had been updated; skimmed it but couldn't concentrate well at the time.
12:45 pmichaud yes.  it looks very sane to me (I don't know if it's theoretically correct according to how the lisp world sees things, but it's implementable according to how the Parrot world sees it :-)
12:45 jonathan OK, good. :-)
12:45 pmichaud and we don't need to maintain lists of inner subs
12:45 jonathan Phew.
12:45 pmichaud and we can probably eliminate the Closure.pmc altogether
12:45 jonathan That felt pretty uncomfortable...
12:46 jonathan Hmm.
12:46 jonathan OK, will be interested to read. :-)
12:46 jonathan And help implement.
12:46 jonathan OK, going to grab a snack...
13:09 NordQ jonathan: Hi
13:09 NordQ I think in Revision r28723 http://www.parrotvm.org/svn​/parrot/revision?rev=28723 is a bug
13:10 NordQ in file compilers/imcc/imcc.y SUB_INSTANCE_OF has been changed instead of SUB_LEXID
13:10 nopaste "NordQ" at 89.223.24.77 pasted "Patch for r28723" (24 lines) at http://nopaste.snit.ch/13612
13:11 masak NordQ++
13:14 Ademan joined #parrot
13:17 * jonathan is back
13:19 jonathan NordQ: It looks like as well as, rather than instead of. But, hmm.
13:19 jonathan oh, hmm...one was to the generated file...
13:22 jonathan jonathanfail
13:25 jonathan pmichaud: Any luck with your build?
13:26 dalek r29581 | jonathan++ | trunk:
13:26 dalek : [core] Correct imcc.y; I managed to make a proper mess there. Spotted by NordQ++.
13:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29581
13:27 particle joined #parrot
13:29 wknight-work joined #parrot
13:32 wknight-work joined #parrot
13:39 NordQ Without the third parameter 'S' - error: too few arguments to function 'mk_const'
13:40 wknight-work_ joined #parrot
13:40 jonathan Ah, yes.
13:41 * jonathan spent quite some time once trying to get a working and correct version of flex and bison to run on Win32, and failed...
13:49 dalek r29582 | jonathan++ | trunk:
13:49 dalek : [rakudo] role_name goes away, since we want to parse a signature in a role definition, and an expression when it's used with does. This should somewhat simplify things when we implement parametric roles. Note role_name is also gone in STD.pm (though getting to what it has now would take a larger refactor).
13:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29582
13:49 dalek r29583 | jonathan++ | trunk:
13:49 dalek : [core] Fix to my previous fix to imcc.y, again spotted by NordQ++.
13:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29583
13:57 grim_fandango joined #parrot
13:59 jonathan pmichaud: ping
14:00 pjcj joined #parrot
14:15 Andy joined #parrot
14:16 paco joined #parrot
14:23 dalek r29584 | julianalbo++ | trunk:
14:23 dalek : avoid access to string internals in default.pmc
14:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29584
14:24 radhios joined #parrot
14:25 davidfetter joined #parrot
14:28 dalek r29585 | jonathan++ | trunk:
14:28 dalek : [rakudo] Implement .^ (call on metaclass) syntax, with passing the invocant in as a first argument to the metaclass method, as specified in S12.
14:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29585
14:37 masak how do I run rakudo against the Perl 6 test suite?
14:37 masak ah, just re-found make spectest
14:38 jonathan make spectest_regression is those we expect to pass, and make spectest runs the lot.
14:38 masak any way to get HTML output?
14:38 masak makes it easier to get an overview
14:38 NotFound masak: put <html> before and </html> after X-)
14:39 Tene echo '<p>'; make spectest_regression ; echo '</p>'
14:39 masak :P
14:39 Tene Aw, NotFound beat me.
14:39 Tene NotFound++
14:39 masak I was thinking more like `make smoke`
14:39 masak Pugs has it.
14:40 pmichaud jonathan: pong
14:40 Tene pmichaud: got a minute for a Best Practices question?
14:41 pmichaud Tene: sure.
14:41 pmichaud (I'm a little distracted at the moment, though -- looks like I have a failing hard drive on my system that I'm trying to diagnose and/or get the data off quickly.)
14:41 Tene In ruby, a bareword can either be a variable or a call to a nullary function.
14:42 Tene Would it be better design to write a rule to check if a name has been defined as a function in the parsing stage, or parse it as "either a variable or a function call" and do the lookup in actions.pm?
14:43 pmichaud if it doesn't change the parse (and it sounds to me as though it doesn't), then actions.pm is better
14:43 Tene Okay.  Thanks.
14:43 pmichaud it's certainly easier at this stage :-)
14:43 Tene Also, actions.pm is about 10X easier.
14:43 Tene YEah.
14:44 jonathan pmichaud: I'm ready for whatever question you had yesterday, whenever you are. :-) Also, one from me...
14:44 pmichaud jonathan: I'm not going to be ready for my question today, I don't think.  I wasn't expecting HDD failure (on top of other stuff I have to do today)
14:44 pmichaud but my underlying question is -- how much do we lose if I disable the :immediate stuff that is present now?
14:45 pmichaud (not necessarily permanently)
14:45 jonathan Very little.
14:45 pmichaud okay.  I may choose to do that for this next week, with the understanding that we'll resolve it very quickly thereafter.
14:45 pmichaud it will happen in a branch first
14:45 pmichaud and I'll check with you about it.
14:45 pmichaud your question?
14:45 jonathan Since I've backed off working on signatures now until we discuss that further, really the only thing you lose is, "is this a block/sub/method".
14:46 jonathan Which isn't a big deal. And being able to get at soemthing with .signature isn't a big deal until we resolve how we're doing them, and only then do I really need to think about it, for doing MMD.
14:47 pmichaud yes.  I'm keeping MMD (and its timelines) on my radar and in my planning.
14:47 jonathan Question was - if I want to stick in some of the meta-methods (.methods, .attributes, .parents), should these be going into P6Object?
14:47 jonathan meta-methods = methods on the metaclass, sorry
14:47 pmichaud very good question.
14:47 jonathan I don't want to start throwing more in there and making it more Perl 6-specific, without knowing how Perl 6-ish you want it to be.
14:47 pmichaud if they're fairly "generic", then yes.  If we depend on them to have very specific P6 semantics, then it may be a case-by-case basis
14:48 pmichaud also note that P6object is going to get a major refactor soon
14:48 jonathan Same goes for the .WHERE method..
14:48 pmichaud since PMCProxy was fixed
14:48 jonathan (which is trivial to write and another thing to tick off the list)
14:48 pmichaud do we still need the .WHENCE stuff that is in p6object, or is that being handled (better) in Object.pir now?
14:49 jonathan WHENCE stuff happens in a couple of places
14:50 jonathan But I think you're talking about the keyed access
14:50 pmichaud I'd prefer that WHENCE not be in P6object
14:50 jonathan That is on the proto-object.
14:50 jonathan If you can provide a way add methods to the proto-object in Object.pir, then it needn't be in P6Object.
14:51 pmichaud I don't mind if Object.pir adds methods to P6proto :-)
14:51 pmichaud so let me rephrase
14:51 jonathan I think at the moment, the only way to add stuff to the metaclass and protoobject class is to do it in P6Object.
14:51 pmichaud actually, this answer your question.
14:51 Tene pmichaud: Any ideas about where I could get an object representing the lexical environment, or does that not exist yet, as far as you know?
14:51 Ademan joined #parrot
14:51 pmichaud There is no problem if HLLs add methods into P6object, P6protoobject, or P6metaclass
14:51 jonathan Tene: I think interpinfo lets you get the current sub, from which you can get the current lexpad.
14:52 pmichaud however, I'd prefer that they do it from the HLL source code instead of modifying P6object.pir directly
14:52 pmichaud in other words
14:52 purl in other words is "object" the top of the heirarchy, or the bottom?
14:52 jonathan purl: forget in other words
14:52 purl jonathan: I forgot in other words
14:52 pmichaud for .WHENCE, I'd like to see it physically be coded in src/classes/Object.pir, but it can have .namespace ['P6protoobject']  to get it to be added to the P6protoobject class
14:53 pmichaud as opposed to having the code in runtime/parrot/library/P6object.pir
14:53 pmichaud make sense?
14:54 pmichaud same goes for .methods, .attributes, .parents for now
14:54 jonathan OK, if that will work, then it works fine for me.
14:54 pmichaud I don't see a problem with having those in P6metaclass, but let's keep the code for it in Rakudo sources for the time being.  If they look generic enough we'll migrate them into P6object.pir
14:54 pmichaud (Tene - longish answer to your question coming up)
14:55 jonathan You want me to look at getting WHENCE moved over into Rakudo too?
14:55 pmichaud please
14:55 jonathan OK
14:55 pmichaud and yes, it works just fine -- it's easy to add methods to existing classes (even PMCs) by just using  .namespace ['Foo']  and then defining new methods
14:55 pmichaud for a while I was adding methods into String, Float, Integer, ResizablePMCArray, etc.  that way
14:56 pmichaud that will be a big help to me for the weekend
14:56 pmichaud and helps keep P6object "thinner"
14:56 jonathan OK, sounds good.
14:57 pmichaud Tene: (lexicals)  -- one can get at lexpads by using getinterp
14:57 pmichaud $P0 = getinterp;   $P1 = $P0['lexpad';1]      # $P1 has caller's lexpad
14:58 pmichaud -however-
14:58 pmichaud it's not currently possible to query the lexpad for things like "what symbols are defined"
14:58 pmichaud IMO, Parrot's LexPad PMC should be subclassed from Hash.  Currently it is not -- it has a Hash as a member
14:59 pmichaud (I suspect this is a holdover from when PMCs were fixed structures.)
15:00 Tene To lookup symbols at compile-time in lolcode, I had to create a sub in pir to wrap the find_name opcode and the class opcode.
15:00 pmichaud ...but that won't find lexicals, will it?
15:01 pmichaud or do you dynamically create the sub, or otherwise use set_outer, or ...?
15:01 ruoso joined #parrot
15:02 Tene I maintain a @?BLOCK like in rakudo, but if a symbol can't be found there, I go look for it with find_name
15:02 pmichaud but find_name doesn't search the lexpads of callers
15:03 pmichaud so I'm not sure how a wrapper sub would be able to use find_name to find lexicals
15:03 Tene I haven't been looking up lexicals.
15:03 pmichaud okay.  :-)
15:03 Tene I've needed to look up functions defined with .sub
15:04 pmichaud okay, find_name does that just fine.  :-)
15:04 Tene However, you're right, that won't work in the general case.
15:04 Tene Huh.
15:05 Tene I can get all of that information by poking around in lexpads, though?
15:05 pmichaud poking, yes.  iterating, no.
15:05 particle well, unless you write your own iterator
15:05 particle or, one is written for the default LexPad PMC
15:05 pmichaud which I think would be a mistake.  LexPad should be a Hash
15:05 pmichaud there's not an iterator for the LexPad PMC -- I've tried
15:06 particle is there a ticket on that?
15:06 pmichaud yes
15:06 pmichaud (looking it up)
15:06 particle good
15:06 jonathan pmichaud: Would implementing get_iter on LexPad help?
15:06 pmichaud I think redesigning LexPad to be isa Hash would be better.
15:06 particle either would help, one is better
15:07 pmichaud it's not just iter, but also exists, get_*_keyed, set_*_keyed, and all of the other Hash methods
15:07 pmichaud so, we either redefine them all in LexPad, or we just make LexPad to be isa Hash :-)
15:07 jonathan pmichaud: It already has VTABLE INTVAL exists_keyed_str(STRING *name) {
15:07 jonathan VTABLE PMC *get_pmc_keyed_str(STRING *name) {
15:07 pmichaud yes, I know it has it already.
15:07 pmichaud How about defined?
15:07 purl defined() is a function that returns a Boolean value telling whether EXPR has a value other than the undefined value `undef'. If EXPR is not present, `$_' will be checked.
15:08 pmichaud I'm simply saying that we have a lot of vtable methods on Hash that seems to me to be silly to duplicate (or forward) in LexPad
15:08 jonathan Yeah, agree.
15:08 jonathan Just looking at how hard it'd be to change...
15:09 jonathan Or, why it wasn't done that way in the first place.
15:09 pmichaud because we didn't have the ability to extend PMCs
15:09 pmichaud i.e., it was pre-pdd17
15:09 pmichaud LexPad needs a pointer to its context, and there wasn't a place to put it in the Hash PMC structure
15:09 pmichaud (I'm guessing about that)
15:09 pmichaud so, LexPad became a new PMC, with a pmc_ext that contained a Hash
15:10 pmichaud and then some selected vtable methods that delegate to the Hash
15:10 Tene Can't we just say: has $lexicals handles Hash; ?
15:10 Tene ;)
15:10 jonathan Er, hmm...
15:10 * jonathan is confused
15:10 jonathan In lexpad
15:10 jonathan PMC              * const info  = PMC_pmc_val(SELF);
15:10 jonathan Hash             * const hash  = (Hash *)PMC_struct_val(info);
15:10 jonathan And
15:10 jonathan METHOD get_lexinfo() {
15:10 jonathan PMC *lexinfo = PMC_pmc_val(SELF);
15:10 jonathan RETURN(PMC *lexinfo);
15:10 jonathan }
15:11 pmichaud (I'm speculating on a bit of this -- I only briefly scanned the code last week while trying to figure out other lexical issues)
15:11 jonathan The hash is in lexinfo?
15:11 pmichaud no, lexinfo is a structure that describes the entries in the lexpad
15:11 pmichaud the lexpad itself has a hash that has all of the entries
15:11 Zaba lexinfo? lexpad? heh
15:12 pmichaud lexinfo is the structure that describes the lexical names defined in a given .sub
15:12 jonathan OK
15:12 pmichaud it's a static, compile-time thingy
15:12 jonathan I thought so
15:12 NotFound There is also a lexluthor?
15:12 pmichaud lexpad is the "activation record" for the lexicals -- one per sub invocation
15:13 jonathan OK, I get it...
15:13 pmichaud lexpads apparently want pointers to the associated context, pointers to the lexinfo structure, and a hash to hold the individual values
15:14 pmichaud also, the POD lies in lexpad.pmc
15:14 pmichaud =item C<void set_pmc_keyed_str(STRING *name, PMC *value)>
15:14 pmichaud Set the lexical with the given name to value. If the lexical name
15:14 pmichaud doesn't exist, it is created.
15:14 pmichaud is incorrect -- what it currently does is throw a "Lexical %s not found" exception.
15:15 pmichaud so we're not able to dynamically add lexicals into a LexPad (which I wanted to do for something in PGE but then discovered I couldn't, so PGE still does its own internal lexicals management)
15:16 pmichaud and store_lex (incorrectly) relies on this particular feature for the time being.
15:16 pmichaud er, "incorrectly imho"
15:19 jonathan pmichaud: My understanding, from reading the code, is that lexinfo has a hash mapping names to register numbers. And lexpad uses that to see which register numbers to use, in the current context. A lexpad doesn't have a hash per invocation of the sub, it seems there is just one hash for the sub in lexinfo.
15:20 pmichaud every sub invocation creates a new lexpad instance
15:20 jonathan Yes
15:20 jonathan But that doesn't mean a new hash per invocation.
15:20 pmichaud every lexpad has one hash
15:20 jonathan They all refer to the lexinfo, which has the hash.
15:20 pmichaud every sub invocation creates a lexpad
15:20 jonathan I'm not disagreeing with that.
15:21 pmichaud I mean there is a hash per invocation of the sub, not that a single lexpad object contains them all
15:21 GarulfoUnix joined #parrot
15:21 jonathan That doesn't fit with the code as I understand it, nor the PDD.
15:21 pmichaud just a sec
15:21 jonathan Sure
15:21 GarulfoUnix Hi everyone
15:21 purl Howdy, GarulfoUnix, you fantastic person you.
15:21 jonathan GarulfoUnix: Hi
15:21 purl privet, jonathan.
15:22 jonathan Bots...
15:22 gryphon__ joined #parrot
15:22 GarulfoUnix someone uses Parrot on Ubuntu linux distribution ?
15:22 NotFound GarulfoUnix: me, for example.
15:23 TimToady_ me too, nowadays
15:23 GarulfoUnix NotFound, ok. Did you installed Parrot by using some packages or did you installed it by the source codes ?
15:23 TimToady_ source
15:23 NotFound GarulfoUnix: source, with svn.
15:24 pmichaud jonathan: okay, I'll phrase it this way, then
15:24 GarulfoUnix Ok. Do you know if there are Parrot packages for Ubuntu ?
15:24 Zaba why do you want one, it's being developed so quickly
15:25 particle there are debian packages somewhere, but they're always out of date
15:25 NotFound GarulfoUnix: you can try http://alioth.debian.org/projects/pkg-parrot/
15:25 GarulfoUnix perhaps there are development package of Parrot for Ubuntu Zaba
15:25 pmichaud actually, I'll ask a question -- what creates/initializes the 'info' (PMC_pmc_val(SELF)) field in a LexPad ?
15:25 GarulfoUnix i don't know, i'm discovering Parrot.
15:25 particle he's not asking you :)
15:25 GarulfoUnix thank you NotFound
15:26 TimToady_ compiling from source will be relatively painless
15:26 TimToady_ unless you're running Ubuntu on a Cray or something :)
15:26 wknight-work GarulfoUnix, at this point the best option is to download the source and compile it\
15:26 jonathan VTABLE void init_pmc(PMC *lexinfo) {
15:26 jonathan PMC_pmc_val(SELF) = lexinfo;
15:26 jonathan }
15:26 jonathan So it gets passed the lexinfo PMC for the sub.
15:26 wknight-work things are changing so rapidly, it's hard to get a good package for any platform set up
15:26 GarulfoUnix NotFound, are you french ?
15:27 pmichaud and it just takes a reference to it?
15:27 pmichaud okay, I'm confused.
15:27 NotFound GarulfoUnix: a little to the south.
15:27 GarulfoUnix NotFound, do you know speak french ?
15:27 * particle always reads "wknight" as "weeknight"
15:27 NotFound GarulfoUnix: highschool level
15:28 GarulfoUnix NotFound, ok.
15:28 GarulfoUnix by the way, are there any french here ?
15:28 Zaba I used to learn french.. I learned it for 5 years.. then changed to learning german.. and I don't remember a single bit
15:28 pmichaud ohhhhhhhhhhhhhhhhhhhhhhhhhhhhh
15:28 jonathan pmichaud: See sub.pmc around line 290.
15:28 pmichaud never mind, okay, I get it
15:28 jonathan :-)
15:28 wknight-work partcile, that's not a bad interpretation. Somebody once asked me if "Whiteknight" was a reference to the KKK
15:28 wknight-work (it's not)
15:28 particle heh
15:29 masak does this work for anyone else? ./perl6 -e 'my $var = 0; say nothing while $var++ < 3'
15:29 GarulfoUnix Zaba, changed to learn german ? >_<
15:29 GarulfoUnix :-)
15:29 pmichaud there's not a hash mapping symbols to PMCs, there's a hash mapping symbols to register numbers
15:29 pmichaud in the context
15:29 jonathan pmichaud: Right.
15:29 masak on my box it gives 'Could not find non-existent sub while'
15:29 masak a strange error
15:29 NotFound But my english is not even highschool and all those people understand me X-)
15:29 NotFound (At times)
15:29 jonathan pmichaud: I stared at it for a while before realizing that too. :-)
15:30 GarulfoUnix NotFound, where are you from ?
15:30 NotFound Spain.
15:30 GarulfoUnix ho nice
15:30 GarulfoUnix i live in france lol.
15:31 GarulfoUnix what's your job NotFound  ?
15:31 pmichaud okay.  If that's the case, I take back what I was saying about LexPad isa Hash
15:31 pmichaud and we need a way to iterate over the entries
15:31 jonathan OK. But we do want a way to iterate over the lexinfo, I guess?
15:31 masak oops, I meant ./perl6 -e 'my $var = 0; nothing while $var++ < 3'
15:31 pmichaud and creating something like %MY is going to be tricky.
15:31 masak but the error is the same
15:31 jonathan pmichaud: Does %MY let you create new lexicals?
15:32 pmichaud I'm just thinking about things like .kv, .pairs, etc.
15:32 TimToady_ it's not supposed to
15:32 TimToady_ but %COMPILING should let you
15:32 pmichaud we can iterate over the lexinfo, but we can't index the iterator to get to the correct item
15:32 TimToady_ where %COMPILING is the current %MY-in-construction
15:32 pmichaud it would need a separate lookup.  Not a big deal -- just something to keep in mind.
15:33 jonathan pmichaud: Yeah. I think it's do-able, but it's an extra lookup. And the values of the hash are pretty useless.
15:33 pmichaud S02 says:  You may not use any lexically scoped symbol table, either by name or by reference, to add symbols to a lexical scope that is done compiling. (We reserve the right to relax this if it turns out to be useful though.)
15:34 pmichaud (just confirming what TimToady said)
15:36 TimToady btw, anon grammars are not only allowed, but necessary, and already in use in STD
15:36 pmichaud I can't find a ticket for being able to iterate a LexPad.  I know that I wrote a message about it to parrot-porters last November or December, when we were looking at all of the eval stuff.
15:36 TimToady but as pmichaud alluded to, implemented by name generation currently because Perl 5 doesn't support anon packages very well
15:37 TimToady but basically "Everything is an object" means that everything is essentially anonymous, unless you have a ref somewhere
15:37 dalek r29586 | jonathan++ | trunk:
15:37 dalek : [rakudo] Move WHENCE related things that were in P6Object.pir into the Rakudo source tree (Object.pir).
15:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29586
15:38 TimToady it's just that some refs are more equal than others
15:38 pmichaud TimToady: BTW, my initial read of S04 lexical/cloning looks like you made it easy to implement.  Thanks.
15:39 pmichaud I'll have a followup question to p6l (answering my earlier email, and verifying with another example)
15:39 jonathan pmichaud: r29586 should give you a few less lines to worry about in your refactor. :-)
15:40 pmichaud jonathan++
15:40 pmichaud YAY
15:41 TimToady it does seem to me that the lexical scope does need to keep track of its inner closures somehow
15:41 TimToady but maybe the lazy implementation can do it at point of use
15:42 jonathan pmichaud: OK, next question about P6Object.pir. :-) Since $foo.^isa(Bar) is really $foo.HOW.isa($foo, Bar) after recent S12 clarifications, should P6metaclass now be fixed up to follow that way too?
15:42 TimToady will need some state to indicate whether a particular closure has been cloned yet
15:42 pmichaud jonathan: yes.
15:42 pmichaud jonathan: I was going to do those, but if you want to do it then feel free
15:43 jonathan pmichaud: Was that going to be the bulk of the refactor?
15:43 * jonathan is trying to work out how trivial it will or won't be
15:43 pmichaud no
15:43 pmichaud the refactor is changing the structure a bit and eliminating the %metaclass table.
15:44 jonathan Ah, OK.
15:44 jonathan To avoid memory leaks.
15:44 pmichaud yes, and also to better support anonymous classes, and other things
15:44 pmichaud and to fix up PMCProxy mapping
15:44 pmichaud but fixing .HOW.isa and the like shouldn't be difficult, and shouldn't impact the refactor
15:45 jonathan OK
15:45 jonathan Basically it's just getting the object passed in, rather than using "parrotclass = self.'get_parrotclass'(x)", as far as I can see.
15:45 jonathan oh, no
15:45 jonathan duh
15:45 jonathan :-)
15:46 jonathan Oh, yes
15:46 * jonathan wishes his brain worked today
15:46 dalek r29587 | julianalbo++ | trunk:
15:46 dalek : put pdb renaming in NEWS
15:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29587
15:53 * particle isn't sure why pdb renaming didn't go through a deprecation cycle
15:56 NotFound particle: nobody mentioned that, and looks that nobody was using it.
15:58 peepsalot joined #parrot
15:59 * jonathan saw "a 1-line patch that fixes nothing" and took a moment to realize it meant the "nothing" function...
16:00 NotFound Is a shame that we don't have a "anything" function.
16:00 pmichaud <tao>when we have patches that fix nothing, then everything is done.</tao>
16:00 * jonathan will apply the patch
16:01 pmichaud +1
16:01 purl 1
16:01 particle nothing takes no arguments
16:01 dalek r29588 | jonathan++ | trunk:
16:01 dalek : [rakudo] Make multi-methods vaguely work (in as far as subs work, anyway).
16:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29588
16:02 Zaba what's the nothing function?
16:02 jonathan Zaba: It's the function that does...nothing.
16:03 TimToady now to figure out how to parse "don't do anything"
16:03 pmichaud in other environment's we'd call it "NOP"
16:03 pmichaud and we wouldn't put an apostrophe in "environments"  (bleah)
16:03 TimToady Ada called it "null"
16:03 jonathan You can think of it as a no-op, but with the overhead of Parrot's calling machinary to do it. :-)
16:03 pmichaud okay, it's a "fat no-op"
16:03 NotFound I hope is not here only to be able to write "nothing compares 2 U" in perl poetry.
16:03 pmichaud nothing cmp 2*$u
16:05 jonathan With a postfix U and an infix compares, you could easily make nothing compares 2U parse pretty easily. :-)
16:05 pmichaud okay, I've now convinced myself that my hardware is failing somewhere.  Ick.
16:05 masak huh, make spectest_regression reports t/spec/S12-class/annonymous.t as missing, even though it isn't
16:05 pmichaud masak: might need to do an 'svn up' on t/spec
16:05 masak the file is there
16:06 pmichaud 2 n's, perhaps?
16:06 Zaba jonathan, what is it for?
16:06 pmichaud annonymous.t versus anonymous.t ?
16:06 masak pmichaud: ah, indeed
16:06 Zaba jonathan, and if it does nothing, what's there to fix? >_>
16:06 pmichaud Zaba: it was parsing as a listop instead of a 0-ary
16:06 NotFound Zaba: maybe it was doing something.
16:07 pmichaud okay, I've convinced myself that either a hard drive or disk controller is failing somewhere
16:07 pmichaud I'm hoping for the hard drive.
16:07 pmichaud So, off to the store for a new one.
16:07 pmichaud (and lunch)
16:07 pmichaud bbl
16:08 jonathan Zaba: I'm sure someone will find a creative use... :-)
16:08 masak jonathan: thanks for fixing nothing :)
16:08 dalek r29589 | jonathan++ | trunk:
16:08 dalek : [rakudo] Fix nothing. Patch courtesy of Carl Masak <cmasak@gmail.com>. masak++
16:08 jonathan annonymous - yes, oops, typo.
16:08 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29589
16:09 jonathan masak: You fixed nothing, I just applied the fix for nothing.
16:09 masak jonathan: I guess we both fixed nothing.
16:09 * jonathan looks forward to writing in his Rakudo day report that he fixed nothing today.
16:09 NotFound But you are no hired personnel, so you don't have money for nothing.
16:10 Zaba jonathan, for poems!
16:10 Zaba of course..
16:10 masak in rakudo, nothing now runs twice as fast as before!
16:11 Zaba nice.
16:11 masak or at least more correctly
16:11 Theory joined #parrot
16:11 Zaba even though it sounds kinda silly..
16:12 masak well, nothing was fun. see you around.
16:14 particle nothing is parsed and executed correctly in rakudo now
16:14 TimToady is nothing sacred?
16:14 NotFound Paradoxically good!
16:15 Zaba nothing is awesome
16:15 Zaba does nothing do anything?
16:15 Zaba why'd it be slow
16:15 TimToady if I say "rand while $x++ < 3" am I leaving nothing to chance?
16:16 Zaba does spectest_regression now run faster after nothing is fixed?
16:16 sjansen joined #parrot
16:19 TimToady I hope I broke spectest_regression when I fixed quoting.t to not use q:q
16:21 TimToady Zaba: in theory, Perl 6 does nothing well
16:21 Zaba kekeke
16:35 tewk Uhggg, I have a STRING* getting reused :(
16:35 GarulfoUnix hum i've got a question, Pugs interpreter is more complete than Parrot ?
16:36 TimToady more or less yes, depending on how you define it
16:42 gryphon__ joined #parrot
16:47 dalek r29590 | jonathan++ | trunk:
16:47 dalek : [rakudo] [p6object] Make isa and can in the metaclass take the object to test as a first parameter, as specified in recent-ish S12 updates.
16:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29590
16:50 jonathan our Num multi Control::Basic::sleep ( Num $for = Inf )
16:50 jonathan TimToady: I'm guessing that is menat to return the number of seconds slept for?
16:55 silug joined #parrot
16:56 TimToady yes, though not all OSes provide it conveniently..
16:56 TimToady but then, most OSes don't give you subsecond sleep via sleep() either
16:56 jonathan TimToady: For now is it OK to return the value that was passed in?
16:57 jonathan That feels a tad useless, though... :-)
17:05 japhb Anybody else seeing massive numbers of copies of two RT ticket responses (one about a segfault, and the other about strerror_r and real_exception)?
17:06 dalek r29591 | jonathan++ | trunk:
17:06 dalek : [rakudo] Implement .WHERE.
17:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29591
17:08 davidfetter joined #parrot
17:09 NotFound japhb: cotto_home talked about that this morning (CET)
17:11 japhb NotFound: oh, I see that now.  It had almost scrolled out of my buffers.
17:12 NotFound around 6:00 GMT, I think.
17:13 TimToady jonathan: if parrot is to work cross-platform it will have to figure out how to measure subsecond times anywhere
17:14 TimToady btw, nothing is going away
17:17 jonathan Noo! Thing of all the Perl 6 poetry that will now be harder...
17:18 wknight-work For a platform that doesnt support it, subsecond sleep times should be rounded
17:18 Tene eval('nothing', :lang<perl6_with_nothing>)
17:18 wknight-work at least, that's what I would do if I were in charge
17:20 TimToady I don't think parrot is going to *fit* onto any machine that doesn't understand subsecond timers...
17:28 TimToady just whacked on S29, so now nothing is further from the truth
17:28 jhorwitz joined #parrot
17:30 tewk If I add a STRING ATTR to a PMC do I need to write a custom mark routine?
17:31 wknight-work I would, yes
17:33 Tene It's gotten to the point where I think someone's talking about lolcode whenever I see people using ALL CAPS for a few words.
17:33 wknight-work i can haz all caps?
17:33 Infinoid caps lock is cruise control for AWESOME
17:34 Tene Yes, but you still need to steer.
17:35 TimToady that's a bunch of bull
17:46 TimToady .oO(was it something I said?)
17:49 Infinoid no, it was nothing...
18:03 sjansen joined #parrot
18:10 cjfields joined #parrot
18:14 zostay joined #parrot
18:55 Zaba joined #parrot
18:56 nopaste "DietCoke" at 72.228.52.192 pasted "Can someone test this on something where dirsep != '/' ?" (43 lines) at http://nopaste.snit.ch/13621
18:57 DietCoke joined #parrot
19:00 DietCoke anyone on windows can test that patch for me?
19:02 NotFound Looks like almost nothing use Windows in the world X-)
19:03 Whiteknight joined #parrot
19:03 dalek r29592 | coke++ | trunk:
19:03 dalek : [test] minor update to Smoke.pm that happens to also pass all the codingstd
19:03 dalek : tests. Courtesy Michael Peters via RT #55954.
19:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29592
19:03 DietCoke I have a windows box at home for parrot hacking, but was hoping someone could do a quick test for me so I could commit that patch now.
19:08 tewk Basic Jitted NCI stubs are working
19:16 tewk Trying to find a vararg NCI call, which I don't support yet.
19:19 purl joined #parrot
19:19 dalek r29593 | coke++ | trunk:
19:19 dalek : [codingstd] Simplify the way we generate the list of codingstd tests in order
19:19 dalek : to make it easier to see what is getting skipped
19:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29593
19:21 tewk Cool failing tests t/pmc/nci.t
19:33 wknight-work my computer at home is the worst
19:33 wknight-work last thing I did before I left the house this morning was put it on standby
19:33 wknight-work and it's been logging in and out of here all day
19:34 NotFound wknight-work: Wake on lan?
19:34 wknight-work i dont think so, at least, it's not a setting I ever selected
19:35 wknight-work the mouse is really sensitive, and any slight breeze registers and wakes it up
19:35 NotFound I have had at the work some pc that randomly started up, until someone disabled the feature on them.
19:38 wknight-work I guess i'll have to look into that then
19:38 uniejo joined #parrot
19:39 Zaba_ joined #parrot
20:03 Zaba joined #parrot
20:17 {-} joined #parrot
20:20 teknomunk joined #parrot
20:36 Zaba joined #parrot
20:48 Zaba_ joined #parrot
20:49 donaldh joined #parrot
21:00 jonathan pmichaud: I'm back and around again, FTI.
21:00 jonathan *FYI
21:07 dalek r29594 | chromatic++ | trunk:
21:07 dalek : [Rakudo] Fixed a POD error in Object.
21:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29594
21:08 Zaba joined #parrot
21:18 Whiteknight joined #parrot
21:19 dalek r29595 | Whiteknight++ | gsoc_pdd09:
21:19 dalek : [gsoc_pdd09] update to trunk r29594
21:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29595
21:24 dalek r29596 | chromatic++ | trunk:
21:24 dalek : [PMC] Tided code in OrderedHash PMC.
21:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29596
21:26 dalek r29597 | chromatic++ | trunk:
21:26 dalek : [src] Added three separate functions for hash marking, so that mark_hash() can
21:26 dalek : check whether to mark some combination of keys and values once, not for each
21:26 dalek : hash bucket.  An optimizing compiler should inline them, but they may need the
21:26 dalek : PARROT_INLINE hint.
21:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29597
21:44 cjfields jonathan: here?
21:44 purl here are the symbols I've got for DynaLoader, tell me if I'm missing a bunch? http://pastebin.com/m22a98b14
21:44 cjfields ..bots...
21:44 cjfields purl, forget here
21:44 purl cjfields: I forgot here
21:45 jonathan cjfields: ano, som
21:45 jonathan cjfields: oops. Yes, I am.
21:46 cjfields an interesting thing came up when I was implementing .match
21:46 jonathan Oh?
21:46 purl Oh are you near redmond?
21:47 cjfields pmichaud indicated that .ACCEPTS should probably call .match instead of
21:47 jonathan purl, forget oh
21:47 purl jonathan: I forgot oh
21:47 cjfields doing the match itself
21:47 jonathan pmichaud is usually right, on S05 things. :-)
21:48 jonathan $str.match(/pat/);
21:48 cjfields yes he is  :)
21:48 jonathan That makes it appear as a method on string.
21:48 jonathan So presumably ACCEPTS on a Regex is something like:
21:49 jonathan topic = 'prefix:~'(topic) # stringify it
21:49 jonathan topic.match(self) # or some such
21:49 cjfields the latter
21:49 purl the latter are much better at full on universe suppression
21:49 * jonathan narrowly avoids kicking purl
21:50 * cjfields pets purl
21:50 cjfields anyhoo...
21:50 cjfields .match would return a Match object but wouldn't set $/
21:50 jonathan cjfields: I think maybe stringify the topic first to make sure it's a string, so you have the match method.
21:50 jonathan OK.
21:51 cjfields However, a weird thing is happening; the PGE::Match is getting mapped to a Str for some reason
21:51 jonathan So you set $/ to be what .match returned, I guess, and then use prefix:? on the match object to get a true/false value to return, at a guess...
21:51 jonathan Oh.
21:51 jonathan Hmm.
21:51 cjfields http://www.nntp.perl.org/group/perl.​perl6.compiler/2008/07/msg2084.html
21:52 * jonathan wonders if it's getting auto-boxed somewhere.
21:52 paco joined #parrot
21:52 * cjfields feeling noob'y at this point
21:53 cjfields I have .ACCEPTS getting the PGE::Match from .match, however
21:53 jonathan cjfields: Looking at the code, I don't see anything obviously wrong...
21:53 cjfields (and $/ is set correctly)
21:53 cjfields yes, I can't see anything either
21:54 jonathan OK
21:54 jonathan Let me just put a small patch I have locally in...
21:54 jonathan Then I'll try your match method and see if I can trace it.
21:55 dalek r29598 | jonathan++ | trunk:
21:55 dalek : [rakudo] Implement WHICH in object. We now need to override it in the various value types, and then we can implement ===.
21:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29598
21:55 cjfields okay.  I'll have to check backlog to see how things go (going home).  Thanks!  jonathan++
21:55 jonathan OK, will see what I can do.
21:57 cjfields no big hurry; if needed we can start a ticket.  It may be a mapping issue (in which case maybe pmichaud's HLL work could help).
22:02 Limbic_Region joined #parrot
22:12 jonathan Bizzare...
22:12 jonathan my $x = "foo"; say ($x.match(/o+/)).WHAT; # Match
22:14 jonathan Ah! Found it.
22:17 dalek r29599 | coke++ | trunk:
22:17 dalek : [tcl] Move some spec tests from 'explode' to 'merely fail'
22:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29599
22:17 kid51 joined #parrot
22:18 jonathan cjfields: When you're back - found it and wrote to the list.
22:19 jonathan 'tis a bit suble, and I'm not sure what the fix is.
22:33 dalek r29600 | coke++ | trunk:
22:33 dalek : [tcl] convert _tcl;__boolean to _tcl;toBoolean
22:34 dalek : for http://code.google.com/p/p​artcl/issues/detail?id=58
22:34 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29600
22:51 dalek r29601 | jkeenan++ | trunk:
22:51 dalek : Add a preposition to one 'die' message.
22:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29601
23:02 jonathan Report: http://use.perl.org/~Jonath​anWorthington/journal/36958
23:26 dalek r29602 | coke++ | trunk:
23:26 dalek : [tcl] pass a test in spec test's "dict.test"
23:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29602
23:28 peepsalot joined #parrot
23:28 dalek r29603 | coke++ | trunk:
23:28 dalek : [tcl] This VTABLE was silently dropped by the pmc2c compiler (RT #39313)
23:28 dalek : allow it to be built.
23:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29603
23:41 * jonathan sleeps
23:44 Zaba_ joined #parrot

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

Parrot | source cross referenced