Camelia, the Perl 6 bug

IRC log for #parrot, 2009-07-19

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 theory_ joined #parrot
00:15 theory joined #parrot
00:20 mokurai joined #parrot
00:33 cotto Hmmm.  I wonder how scary the Rakudo code covered by that failing test is.
00:38 mikehh bacek: trying now
00:42 theory joined #parrot
00:47 Whiteknight joined #parrot
00:47 Limbic_Region joined #parrot
00:49 kid51 Applying bacek's patch on linux/i386, 'make test' succeeded.  Am testing with it on Darwin/PPC as well.
00:50 kid51 That being said, I'm concerned about the number of instances this week in which something in Parrot, while passing all of Parrot's tests, caused some failure in a language
00:50 kid51 IIRC we've had breakage in both Rakudo and Lua.
00:51 kid51 Is the code in these languages poking into Parrot's internals without authorization?
00:51 kid51 Or is it that Parrot is exposing stuff it shouldn't.
00:52 kid51 Since I'm not working on any of the languages, the only tests I can do anything about are Parrot's.
00:52 bacek joined #parrot
00:53 cotto kid51, my understanding is that those failures are because the HLLs depended on hash key ordering, which they shouldn't have.
00:53 kid51 cotto:  [sigh of relief]
00:54 kid51 I would never have suspected that hash keys would ever be thought of as ordered.
00:54 kid51 ... but that's my Perl 5 legacy speaking.
00:56 cotto Ideally we'd have the option to randomize them to ensure that code depending on the ordering failed noisily.  Nothing should be depending on the ordering.
00:56 kid51 Here's a passing Smolder done with bacek's patch applied.  http://smolder.plusthree.com/app/pu​blic_projects/report_details/25181
00:56 cotto (imho; it may actually be a Bad Idea apart from debugging purposes)
00:59 cotto nm.  It does appear to be random.
01:01 nopaste "cotto" at 74.61.2.46 pasted "non-determinism in attr initialization in rakudo" (17 lines) at http://nopaste.snit.ch/17318
01:02 kid51 hmmm
01:03 nopaste "cotto" at 74.61.2.46 pasted "running the previous nopaste" (44 lines) at http://nopaste.snit.ch/17319
01:03 * kid51 looks at cotto's paste and realizes he hasn't been keeping up with Perl 6
01:03 * kid51 will have to learn that perl 6 thing some day
01:04 cotto Once it runs at a reasonable speed, it'll be amazing.
01:04 * kid51 puts it on his TODO list, right after "Learn enough C to understand Parrot"
01:05 cotto If you wait long enough, you'll even be able to buy a book.
01:06 kid51 Well, I've often thought I'd do it when Randal would come out with Learning Perl 6 -- but it appears it will be brian d foy who will do that
01:06 kid51 Actually, what I *will* I buy is the Parrot book
01:07 kid51 ... whenever it next appears in printed form.
01:09 mikehh bacek: make test PASSes - Ubuntu 9.04 amd64
01:22 kid51 bacek:  make test PASSes Darwin PPC
01:22 mikehh bacek: make fulltest PASSes - Ubuntu 9.04 amd64
01:23 Whiteknight I'm disheartened by this hash issue
01:23 Whiteknight it's definitely annoying that anybody has been relying on hash ordering
01:23 Whiteknight and it's very annoying that some of Parrots test suite has been testing for a specific hash order until recently
01:23 cotto I'm digging into the PIR generated by rakudo to see how it could be fixed.
01:24 Whiteknight okay, awesome
01:24 kid51 Whiteknight:  which Parrot test was that
01:25 Whiteknight one of the PAST tests, was testing the output of _dumper against a string literal
01:32 Whiteknight I'm really looking forward to the Parrot book being published
01:35 cotto does anyone understand what capture_lex does?
01:42 mokurai joined #parrot
01:43 kid51 The C<capture_lex> opcode is used to attach the current lexical
01:43 kid51 environment to any subroutines that are lexically nested within
01:43 kid51 the current sub.  This is normally done either when the outer
01:43 kid51 sub is entered or just prior to invoking the inner sub.
01:43 kid51 vi +149 ./docs/pdds/pdd20_lexical_vars.pod
01:43 Whiteknight cotto: honestly, no
01:44 Whiteknight kid51: One of those cases where the documentation isn't really helpful
01:44 kid51 Whiteknight:  What does it lack?
01:45 * cotto tries to reread that without Powerthirst playing in the background...
01:46 kid51 vi +573 ./src/sub.c
01:49 pmichaud I know what capture_lex does.
01:50 cotto I somehow figured you would.
01:50 pmichaud (hash ordering)  It's not that we expected hash ordering to be preserved, it's just that we also didn't have tests that would show failures when it wasn't.
01:51 pmichaud i.e., if we were relying on hash ordering, it was completely inadvertent, not designed.
01:51 cotto yeah
01:52 cotto If there aren't explicit tests it's easy for bad assumptions to sneak in.
01:52 cotto pmichaud, do you know offhand what code I should be looking at?
01:52 pmichaud cotto: for what?
01:52 purl i heard for was => 'rw' lazy defaults make pretty good sense, don't they?
01:53 pmichaud for the ordered hash issue?
01:53 cotto http://nopaste.snit.ch/17319
01:53 pmichaud In order for that to work, Rakudo will probably have to keep track of an attribute order with each element, so that it knows the order in which to initialize the attributes.
01:54 pmichaud I'm not at all certain what that will entail.
01:55 pmichaud My best guess at this point is that Rakudo will need to keep a private list of attributes for each class, rather than relying on Parrot to do it.
01:55 pmichaud then instead of introspecting the class to learn the list of available attributes, it'll look at that private list.
01:56 cotto so basically way over my head
01:56 pmichaud it's a little over mine, even.
01:56 pmichaud the primary method to be changed is likely BUILD
01:57 pmichaud src/classes/Object.pir:293  I think.
01:57 Tene joined #parrot
01:57 pmichaud currently we do the attribute initialization with
01:57 pmichaud attributes = inspect parrotclass, 'attributes'
01:57 pmichaud it = iter attributes
01:58 pmichaud and then loop through the attributes to initialize each in sequence
01:59 pmichaud it'd be a useful question to ask whether Parrot classes should use OrderedHash instead of Hash for attributes, though.
02:00 cotto That'd solve the problem nicely.  Can attributes get deleted?  OrderedHash has (or had before the merge) issues with that.
02:00 pmichaud VTABLE void remove_attribute(STRING *name) {
02:01 pmichaud so yes, it's apparently supported (if the class hasn't been instantiated yet)
02:02 pmichaud but no, Rakudo doesn't rely on attribute removeal (afaik)
02:04 cotto It doesn't matter.  It's hacky OrderedHash's implementation but it doesn't cause any odd behavior.
02:06 cotto s/hacky/hacky in/
02:07 pmichaud I suppose Rakudo could initialize all attributes (e.g. to undef) prior to evaluating any of the initializers.
02:07 pmichaud but I'm pretty sure we have to ensure that the attributes are initialized in the order given in the source.
02:07 Whiteknight attribute names could be stored in an ordered array at compile time and moved into an unordered hash when they are initialized
02:08 Whiteknight (if initialization is the only place that relies on it)
02:08 pmichaud that's what I said above, effectively
02:08 pmichaud 01:55 <pmichaud> My best guess at this point is that Rakudo will need to keep a private list of attributes for each class, rather than relying on Parrot to do it.
02:09 Whiteknight well you can still rely on Parrot to store things, just later in the process
02:09 pmichaud I'm saying I can't rely on Parrot for the ordering of the list of attributes.
02:09 pmichaud that's all I'm saying.
02:09 Whiteknight noted
02:09 pmichaud yes, the rest works out okay.
02:10 Whiteknight pmichaud: so is this a resolvable problem before the release, or do we need to back out the hash changes until afterwards?
02:10 cotto Using an OrderedHash in class->attrib_metadata doesn't work, although I only tried the most naive solution.
02:12 dukeleto joined #parrot
02:12 cotto (in Parrot's src/pmc/class.pmc +493)
02:12 pmichaud Whiteknight: I don't know if it's resolvable prior to release.  Jonathan isn't back until Monday.  Tomorrow morning I leave for OSCON.
02:13 pmichaud I might be able to work on it while on the plane, although I really should get the interop pdd in shape prior to release.
02:13 pmichaud I might be able to get it fixed on monday, either during the tutorial session I'm attending or in the evening if/when there's nothing else going on.
02:14 Whiteknight I obviously want to keep the hash stuff in trunk, but I would be fine backing it out for a few days for the purpose of the release if needed by rakudo
02:14 cotto It sounds like the better option is to back out the changes, make sure a deprecation is in place and put it back after the release.
02:14 pmichaud do we have anything that now depends on the new changes?
02:14 cotto I don't like the idea of only maybe having a release that doesn't break Rakudo.
02:15 Whiteknight nothing "relies" on hashes being unordered, no
02:15 Whiteknight although I think he fixed a few other things with it, so people will start to rely on the unbrokenness eventually
02:16 pmichaud yes, I'm wondering if those other fixes remain valid after backing out the changes.  I think it's likely that they're still valid, but I'm just wondering.
02:16 Whiteknight I've looked at the changeset, it's pretty comprehensive. I don't know how easy it would be to pick and choose which features to keep
02:17 pmichaud I suggest we don't back out the changes until tomorrow night.
02:17 pmichaud I _think_ I can get a workaround in rakudo by then.
02:17 Whiteknight noted
02:18 cotto pmichaud, sounds good
02:18 Whiteknight that would be awesome, I would be glad to help but I think it's beyond my abilities
02:18 Whiteknight or, beyond my knowledge of Rakudo
02:18 cotto we should have a firm deadline though, otherwise it could cause some panic when whoever tries to back out the changes.
02:18 Whiteknight things have changed pretty dramatically since I last looked through the rakudo parser
02:23 pmichaud (looking at code)
02:24 pmichaud it looks to me as though attrib_cache isn't used
02:24 Whiteknight what is attrib_cache?
02:25 pmichaud I think that originally it was intended to be a fast attribute-to-index lookup
02:25 pmichaud so that attribute slots could be allocated when they are used
02:25 Whiteknight where is that, in the class PMC?
02:25 pmichaud yes.
02:25 Whiteknight ok
02:25 pmichaud and the earliest used attributes would tend to get earlier slots (on the assumption they're most used)
02:26 pmichaud oops
02:26 pmichaud it's used, but in object.pmc
02:26 Whiteknight oh
02:27 pmichaud I'm a little surprised that switching attrib_metadata to OrderedHash doesn't work.
02:30 pmichaud okay, I think I might have a Rakudo workaround.
02:31 pmichaud it'll take me a couple of hours to implement.
02:31 pmichaud (and test)
02:31 cotto Whiteknight++ #documenting this to parrot-dev
02:45 TiMBuS joined #parrot
02:48 janus joined #parrot
02:56 pmichaud Do we know what test was/is failing in Rakudo because of the ordered hash issue?
02:58 mokurai joined #parrot
02:58 cotto t/spec/S12-attributes/instance.rakudo
02:58 purl somebody said t/spec/S12-attributes/instance.rakudo was still intermittent - passes 3 fails twice 121-122
03:19 bacek pmichaud:
03:19 bacek 18:28rakudo:     S12-attributes/instance.rakudo 121 - Can initialize one attribute based on another (1)
03:19 bacek 18:28rakudo:     S12-attributes/instance.rakudo 122 - Can initialize one attribute based on another (2)
03:19 bacek (Here shortly)
03:20 cotto It's nondeterministic so it'll sometimes pass.
03:23 bacek cotto: indeed.
03:28 Andy joined #parrot
03:34 pmichaud okay, I'm testing a working around now.
03:34 pmichaud (But I'm also packing at the same time, so it may be a bit slow :-)
03:34 bacek pmichaud++
03:35 theory_ joined #parrot
03:35 pmichaud ugh, my workaround isn't going to work.
03:35 pmichaud I'll have to think about it a bit more.
03:36 theory__ joined #parrot
03:39 cotto bacek, ping
03:40 bacek cotto: pong shortly
03:40 cotto bacek, I have a patch to update the grammar and actions for opsc to parse explicit preambles.  I'd like your thoughts on whether the generated past looks sane.
03:40 bacek nopaste it
03:40 nopaste "cotto" at 74.61.2.46 pasted "updated opsc grammar and actions with explicit preambles" (116 lines) at http://nopaste.snit.ch/17321
03:40 purl i think nopaste it is See /who is nopaste for the URL.
03:43 nopaste "cotto" at 74.61.2.46 pasted "ops file and resulting past" (106 lines) at http://nopaste.snit.ch/17322
03:44 bacek cotto: looks all right. It will parse empty files though.
03:44 cotto so?
03:45 bacek It will successfully parse some garbage without warnings :)
03:46 bacek Not a big problem anyway.
03:46 cotto Ok.  I was just making sure that the changes are sane before I start making the tests pass again.
03:48 bacek cotto: they are sane.
03:48 cotto Yay.  I'm sane!
03:48 bacek cotto: I didn't tell anything about you!
03:49 bacek afk # back to kids and home work.
03:52 japhb Given that the OpenGL stuff is A) open to change whenever NCI or cross-HLL library handling changes, but B) is not really core ... should I mark the whole subsystem "experimental" to allow for changes that may happen before 2.0?
03:56 dalek parrot: r40147 | cotto++ | branches/ops_pct/src (2 files):
03:56 dalek parrot: [opsc] switch to explicit preambles for a couple ops I missed earlier
03:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40147/
03:56 cotto japhb, +1
03:56 japhb cotto: OK, will do.
03:57 japhb Did Tene and pmichaud ever manage to make progress on the cross-HLL stuff?
03:58 theory joined #parrot
04:00 theory_ joined #parrot
04:01 theory joined #parrot
04:01 pmichaud japhb: not yet I haven't
04:01 pmichaud I was hoping to do that yesterday, but things around the house commanded my attention
04:02 theory__ joined #parrot
04:05 japhb pmichaud: I understand that problem well ....
04:06 theory_ joined #parrot
04:17 dalek TT #852 created by japhb++: Mark OpenGL subsystem as experimental
04:19 dalek parrot: r40148 | japhb++ | trunk/DEPRECATED.pod:
04:19 dalek parrot: Mark OpenGL binding and related libraries experimental
04:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40148/
04:22 theory joined #parrot
04:23 Andy joined #parrot
04:34 davidfetter joined #parrot
04:35 cotto comitted!
04:35 cotto committed!
04:36 dalek parrot: r40149 | cotto++ | branches/ops_pct/compilers/opsc (4 files):
04:36 dalek parrot: [opsc] update test, grammar and actions to use explict preambles
04:36 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40149/
04:36 cotto bacek_at_work, feel free to clean up the grammar to filter out junk
04:41 pmichaud I wonder if it'd be feasible to add a ResizableStringArray to Class PMC to keep track of the order in which attributes are added
04:42 pmichaud although the more I think about it, the more I think that Class really ought to have an OrderedHash
04:43 pmichaud (I tried adding a ResizableStringArray as a property attached to classes that Rakudo creates... but the problem is that not all of the classes we use are created by Rakudo)
04:44 cotto Using an OrderedHash makes the most sense but it'll mean more than changing class's init VTABLE function.
04:44 pmichaud I wonder why, though.
04:44 cotto It'd be less surprising.
04:44 pmichaud (why it means more than changing class's init VTABLE function)
04:45 pmichaud oh, I have another workaround that might work.
04:45 pmichaud It'll be another hour or so before I can try it, though.
04:45 pmichaud (more household tasks here that have to be done before I leave in ~10 hrs)
04:45 cotto clock?
04:45 purl cotto: LAX: Sat 9:45pm PDT / CHI: Sat 11:45pm CDT / NYC: Sun 12:45am EDT / LON: Sun 5:45am BST / BER: Sun 6:45am CEST / IND: Sun 10:15am IST / TOK: Sun 1:45pm JST / SYD: Sun 2:45pm EST /
04:46 cotto are you the same as CHI?
04:46 pmichaud yes
04:46 pmichaud it's 23:46 here now
04:46 pmichaud I leave for the airport at 09:30
04:46 cotto yay for last-minute {h|p}acking
04:46 pmichaud indeed
04:47 pmichaud afk for a while -- will try my workaround a bit later
04:48 Andy Does anything need any help right now?
04:48 cotto t/oo/attributes.t segfaults if attribute_metadata is an OrderedHash.  I'll dig in since it sounds like more fun than anything I'm supposed to be doing.
04:48 cotto Andy, like what?
04:49 Andy dunno.
04:49 Andy I'm just pokin' around with splint
04:49 dalek parrot: r40150 | petdance++ | trunk/src/call/ops.c:
04:49 dalek parrot: consting
04:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40150/
04:49 cotto L1 is underspecified. You'd get lots of brownie points for starting a spec.
04:49 cotto ;)
04:50 Andy I don't eve know what L1 is
04:56 dukeleto joined #parrot
04:56 dukeleto_ joined #parrot
04:57 cotto Andy, that's the problem.  Nobody does.
05:00 cotto but that wasn't a serious suggestion
05:00 cotto serious cat I'm not
05:05 bacek joined #parrot
05:06 cotto bacek, could you look at why t/oo/attributes.t fails when you change attrib_metadata to be an OrderedHash?
05:06 cotto I think it might have something to do with keys or iterators.
05:15 cotto I'm tempted to start a WTFIsL1 wiki page filled with gibberish just so people will start to flesh the thing out.
05:16 dalek parrot: r40151 | petdance++ | trunk/src/sub.c:
05:16 dalek parrot: removed unused var
05:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40151/
05:27 bacek cotto: because OrderedHash is hack...
05:27 pmichaud Looks like I have a workaround in place.
05:29 bacek Hooray!
05:29 nopaste "pmichaud" at 72.181.176.220 pasted "Rakudo with OrderedHash workaround" (37 lines) at http://nopaste.snit.ch/17323
05:30 nopaste "pmichaud" at 72.181.176.220 pasted "Rakudo without OrderedHash workaround" (45 lines) at http://nopaste.snit.ch/17324
05:30 pmichaud I'm running a spectest now; if it passes, I'll commit.
05:31 pmichaud that should hopefully get us at least through the release.
05:31 cotto Woohoo!
05:31 cotto pmichaud++
05:31 bacek pmichaud: does Rakudo support removal of attributes? OrderedHash will epicly fail in this case :(
05:32 pmichaud bacek: my workaround is not actually using OrderedHash
05:32 pmichaud bacek: it's still using Hash
05:32 cotto I asked that too.  Apparently it doesn't.
05:32 bacek pmichaud++ # Yaaa Hooo!
05:32 pmichaud but for places where it matters, it keeps an independent list of the order of the attributes
05:32 cotto bacek, are you saying that OrderedHash is a candidate for refactoring?
05:32 pmichaud and uses that independent list if it exists
05:32 pmichaud (actually, it creates the independent list in all cases at the moment)
05:33 pmichaud eventually, if Parrot is able to provide an OrderedHash for the Class PMC, we'll use that
05:33 bacek cotto: such "refactoring" usually called "rewrite from scratch"...
05:33 pmichaud if Parrot decides that it won't use an OrderedHash for class attributes, then we'll see about optimizing the creation/maintenance of the parallel list
05:33 cotto yeah.  I don't know if there'd be a way to use the existing data structures in a proper ordered hash.
05:34 bacek pmichaud: I think we should use OrderedHash for attributes. But we need sane OrderedHash beforehand.
05:34 cotto pmichaud, what's the eta on the spectest
05:34 pmichaud on this machine, 45 mins
05:34 cotto is that parallel?
05:34 pmichaud no.
05:34 cotto could it be?
05:34 pmichaud I'm not set up for parallel spectests at the moment.
05:35 pmichaud and my fast machine is otherwise occupied right now.
05:35 cotto It's as simple as chromatic's mj alias, isn't it?
05:35 pmichaud I don't know what that is.
05:35 bacek "make -j3"
05:35 cotto alias mj='TEST_JOBS=5 make -j9'
05:35 pmichaud would that be "make -j9 spectest"?
05:36 pmichaud Because I'm not doing a build -- I'm doing a test.
05:36 bacek cotto: TT#813
05:36 bacek afk again # household...
05:36 pmichaud I'll try with TEST_JOBS=5
05:37 pmichaud that doesn't seem to do anything.
05:37 cotto bacek, I agree.  It'd be better to have a different purpose-built data structure than trying to inherit.
05:38 cotto s/have/use/
05:38 pmichaud setting TEST_JOBS doesn't seem to do anything on my system.
05:39 cotto Are you using TEST_JOBS and -j9 ?
05:39 pmichaud I'm going to guess that the version of Test::Harness that I have doesn't support parallel testing.
05:39 cotto (or some other number
05:39 cotto )
05:39 pmichaud The -j9 probably doesn't do anything.
05:39 pmichaud There's only one make command to be run.
05:40 pmichaud yes, even with -j9, no improvement.
05:41 cotto pmichaud, it works for me.  I'm seeing 5 perl6 processes in top.
05:41 pmichaud cotto: what version of Test::Harness do you have on your system?
05:41 cotto how do I find that out?
05:41 pmichaud perldoc Test::Harness, perhaps?
05:41 pmichaud mine says 2.64
05:41 cotto same
05:43 cotto so "TEST_JOBS=5 make -j9 spectest" doesn't spawn multiple processes?
05:43 pmichaud no.
05:43 cotto odd
05:43 pmichaud do you have TAP::Harness on your system?
05:44 cotto I appear to.
05:44 pmichaud ah, I don't.
05:44 cotto <3 parallel testing
05:44 pmichaud I suspect that's the difference.  parallel testing was introduced with TAP::Harness, I think
05:45 pmichaud anyway, I'll let the existing spectest run.... I don't want to add other new variables into the test right now
05:45 pmichaud (such as a different test harness)
05:45 cotto It's really nice
05:45 cotto sure
05:45 pmichaud I might try updating the harness after the spectest run and see what happens.
05:46 pmichaud (won't matter much on this machine since I'll be out of town all week)
05:46 cotto It also makes my lap nice and toasty.
05:46 pmichaud heh
05:46 pmichaud my notebook runs a lot cooler since I got the ssd drive
05:46 pmichaud boots faster, too, but doesn't seem to compile significantly quicker
05:47 cotto I discovered that I could double my RAM (to 3GB) for $26 shipped.
05:47 pmichaud yeah
05:47 theory_ joined #parrot
05:47 pmichaud I did that with my previous laptop -- it was very nice to get the speed improvement so cheaply
05:47 cotto it'd be worth it if I had any income
05:47 pmichaud my new one has 3GB, I can expand to 8GB if I want to spend lots of $$
05:47 pmichaud <3 my notebook
05:48 cotto what model?
05:48 purl model is my interface to my data
05:48 pmichaud HP Elitebook 2530P
05:48 pmichaud it's 33% faster than my desktop.
05:48 pmichaud (and my desktop isn't exactly old or slow)
05:49 cotto I found some cool Linux games on sale for $5, but I'll probably need a new upgrade before they'll be playable.
05:49 cotto http://linuxlock.blogspot.com/2009/​07/are-you-afraid-you-will-be.html
05:49 pmichaud need to fold+pack some clothes -- bbiab
05:50 cotto need to apply for jobs -- bhfaw
05:51 pmichaud try -j9, I hear you get more jobs that way :-P
05:52 cotto That's simultaneously the best and worst advice I've heard for the last several months.
05:55 cotto Hmmm.  One place is asking for "Orcale" experience as a plus.
05:58 cotto sounds like a vegetable
05:58 cotto or maybe Orc ale
05:59 cotto wow: http://www.forbes.com/feeds/​ap/2009/06/24/ap6580581.html
06:35 Infinoid_ joined #parrot
06:38 confound_ joined #parrot
06:38 TimToady joined #parrot
06:38 workbench joined #parrot
06:46 dalek rakudo: 02dd257 | pmichaud++ | src/ (3 files):
06:46 dalek rakudo: Parrot's Class.attributes method no longer returns attribute
06:46 dalek rakudo: names in the same order in which they were declared (indeed,
06:46 dalek rakudo: the order is somewhat unpredictable).  Since we need to initialize
06:46 dalek rakudo: attributes in the order they were declared, add a @!attribute_list
06:46 dalek rakudo: property and 'attriter' method to the Class PMC that allows Rakudo
06:46 dalek rakudo: keep track of the order in which attributes are declared.
06:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​2dd257e66f7f0beac9217c43af32d79e41ceec7
06:51 bacek joined #parrot
06:52 cotto Yay!  It's fixed and we don't have to undo the key/iter refactor.
06:57 Tene anyone around here have access to cygwin?
06:57 mberends joined #parrot
07:00 szabgab joined #parrot
07:09 dalek rakudo: e759b14 | pmichaud++ | build/PARROT_REVISION:
07:09 dalek rakudo: Bump PARROT_REVISION to latest tested Parrot.
07:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​759b148b787cbb78931ec80d6a667bdbfd8da4b
07:19 dalek parrot: r40152 | cotto++ | branches/ops_pct/compilers/opsc/op:
07:19 dalek parrot: [opsc] delete the now-unused op dir
07:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40152/
07:22 dalek parrot: r40153 | tene++ | trunk/runtime/parrot/library/Curses.pir:
07:22 dalek parrot: Add panels support to Curses.pir
07:22 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40153/
07:24 mikehh_ joined #parrot
07:31 cotto I just used tab completion to turn "multi.pas" into "multi.past".  Maybe it's time for bed.
07:34 treed Heh.
07:40 iblechbot joined #parrot
07:48 dalek parrot: r40154 | cotto++ | branches/ops_pct (5 files):
07:48 dalek parrot: [opsc] move (and attempt to use) code from op.pm to oplib.pm, remove now-obsolete files, update manifest
07:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40154/
07:55 bacek joined #parrot
08:03 bacek Hooray! pmichaud++
08:17 mikehh All Tests PASS  (pre/post config, smolder, fulltest) at r40154 - Ubuntu 9.04 amd64
08:34 mikehh rakudo (e759b14) on parrot r40154 (spec at r27606) fails t/spec/S06-signature/optional.rakudo - test 11
08:51 flh joined #parrot
09:11 bacek joined #parrot
09:19 mokurai1 joined #parrot
09:29 mokurai1 left #parrot
10:22 dalek lua: f777fca | fperrad++ | src/lib/lfs.pir:
10:22 dalek lua: lfs.attributes() : emulate iteration in an ordered hash
10:22 dalek lua: review: http://github.com/fperrad/lua/commit/f7​77fca7cac3b962e15b7215662966ec82e4ad6f
11:13 MoC joined #parrot
12:25 Whiteknight joined #parrot
12:34 iblechbot joined #parrot
12:38 Whiteknight good morning #parrot
13:09 szabgab joined #parrot
13:15 Limbic_Region joined #parrot
13:35 [1]Limbic_Region joined #parrot
13:38 confound joined #parrot
13:40 fperrad joined #parrot
13:41 whoppix good morning, Whiteknight.
13:45 Whiteknight good morning whoppix
13:45 whoppix Whiteknight, made me a list yet?
13:45 Whiteknight no, I've been lazy and busy
13:45 Whiteknight but mostly lazy
13:45 whoppix yeah, I know that :)
13:48 jdv79 Whiteknight: my only thought on your latest post is this:  don't some things require being run within "compile time"?
13:48 jdv79 i don't know enough to answer that but that's all i could come up with against the idea.
13:49 Whiteknight jdv79: sort of, but the line for where compile time ends and runtime begins is a little fuzzy and we can be liberal with it
13:49 Whiteknight things like :immediate and :postcomp should run immediately after compilation, but exactly _who_ runs it after compilation is a different issue
13:49 jdv79 i guess "compile time" could just be before runtime and after imcc time. hmm..
13:49 Whiteknight right
13:49 jdv79 nice
13:52 Whiteknight if you are brave enough to dig into the IMCC logic, it actually completes the compilation phase and then loops over all the generated sub objects and executes the ones that need it immediately
13:52 Whiteknight in fact the :main function gets called from inside IMCC at this point
13:57 kid51 joined #parrot
14:06 [1]Limbic_Region joined #parrot
14:13 Whiteknight nopaste?
14:13 purl rumour has it nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others) or http://gist.github.com/ or paste or gtfo
14:23 dalek TT #853 created by fperrad++: Can't load OpenGL
14:23 tetragon joined #parrot
15:03 theory joined #parrot
15:13 japhb fperrad: #853 is effectively a reversion of someone else's commit to do the opposite.
15:13 japhb I originally used .include, as you have it, but someone went through and converted it to runtime load ... I don't know why.
15:18 japhb Found it: https://trac.parrot.org/parrot/changeset/38693
15:22 japhb Ticket updated.
15:22 pmichaud Good morning, #parrot (from airport)
15:24 Whiteknight good morning pmichaud
15:31 pmichaud gone again (time to board)
15:31 pmichaud bbl
15:43 AndyA joined #parrot
15:43 skids joined #parrot
15:45 dalek parrot: r40155 | whiteknight++ | trunk (2 files):
15:45 dalek parrot: [Win64] Two fixes for Win64 that help with build and execution.
15:45 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40155/
15:53 whiteknight joined #parrot
16:09 whiteknight where are the datatypes like INTVAL defined?
16:09 whiteknight I can't seem to find it
16:22 chromatic joined #parrot
16:28 * whiteknight might finally have figured out how to get Parrot working on Win64
16:28 * whiteknight holds his breath
16:33 mokurai joined #parrot
16:39 whiteknight Parrot builds on win64!!
16:41 whiteknight (although it's already failed one test because of an out-of-memory VM PANIC, so that's not a good sign)
16:47 jan joined #parrot
16:48 dalek parrot: r40156 | jkeenan++ | trunk/src/ops/sys.ops:
16:48 dalek parrot: Update documentation of spawnw() to reflect movement of TODO tickets from RT to Trac.
16:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40156/
16:54 Psyche^ joined #parrot
16:57 whiteknight yay! we officially have a Win64 smolder report posted (and it's not pretty)
16:58 whiteknight http://smolder.plusthree.com/app/pu​blic_projects/report_details/25220
16:59 MoC I suppose it's especially bad that the 64bit tests fail completely?
17:00 MoC (op/64bit.t)
17:05 whiteknight yeah
17:05 whiteknight i have to commit a few fixes because it doesn't even build out of the box
17:06 fperrad japhb, after reading your comment in #853, I'll apply now my patch
17:07 szabgab joined #parrot
17:15 Whiteknight joined #parrot
17:15 dalek rakudo: 415514b | moritz++ | docs/release_guide.pod:
17:15 dalek rakudo: [docs] more markup for release_guide.pod
17:15 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​15514b69e27cdee4d3e97e7216807e9e142766f
17:15 dalek rakudo: d27f384 | moritz++ | tools/progress-graph.pl:
17:15 dalek rakudo: [tools/progress-graph.pl] remove debugging output; use larger font on y axis
17:15 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​27f384acc60c8ba81c7f147759a018d3825ed5f
17:15 dalek rakudo: 630b0a0 | moritz++ | src/builtins/any-num.pir:
17:15 dalek rakudo: implement .Int, right now as a synonym for .int.
17:15 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​30b0a023715cfb8d495ecdbe105e2ed691ff4f8
17:16 dalek rakudo: b7b45a3 | moritz++ | CREDITS:
17:16 dalek rakudo: give kyle++ some CREDITS
17:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​7b45a34fe4fa18956d8a36b3fea4e89c5569d65
17:16 dalek rakudo: 0b9d7af | moritz++ | docs/ChangeLog:
17:16 dalek rakudo: [docs] more ChangeLog updates
17:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​b9d7af5046d5b3ebb7b10363a8a18e2d4a89289
17:16 dalek rakudo: f9d6284 | (Kyle Hasselbacher)++ | Test.pm:
17:16 dalek rakudo: [Test.pm] (eval_)dies_ok should not accept "Null PMC access"
17:16 dalek rakudo: Use diag() to report Null PMC access failures of dies_ok
17:16 dalek rakudo: Signed-off-by: moritz <moritz@faui2k3.org>
17:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​9d62849401a845002251910f18ee0aa0537d930
17:16 dalek rakudo: d99b5b8 | moritz++ | src/setting/Hash.pm:
17:16 dalek rakudo: implement Array ~~ Hash
17:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​99b5b84531db536c686fc471cc6a9bfef97d14e
17:25 kid51 joined #parrot
17:32 japhb fperrad: Note that NotFound has taken the ticket, and says he'll look at it tomorrow.
17:32 fperrad japhb, I see that, so I wait
17:32 japhb fperrad: cool beans.
17:33 fperrad japhb, what do you think about a refactor of config/gen/opengl.pm with template ?
17:34 Whiteknight irclogs?
17:34 purl i guess irclogs is http://irclog.perlgeek.de/parrot/today or see also: infrared clogs
17:36 japhb fperrad: I like having OpenGL.pir and OpenGL_funcs.pir separate, because OpenGL.pir is hand-written code, and OpenGL_funcs.pir is completely generated.  It makes it easy to be clear about what is safe to hand-edit and what is not.  It also makes clear what parts opengl.pm alters and what it does not.
17:36 japhb That's why I went with separate files and a .include
17:37 japhb There is also the GLUT callbacks library, which is pseudo-templated; but there's not a whole lot I can do about that cleanly.
17:37 japhb The whole thing is an abomination, and definitely not thread- or interpreter-safe, but there's just no other way with current Parrot NCI.
17:38 japhb (the whole thing == GLUT callbacks library)
17:39 japhb Adding this Q/A to ticket ....
17:41 fperrad japhb, OK  for the record
17:42 japhb done
17:44 japhb fperrad: thanks for using the OpenGL binding ... it needs more users.  :-)
17:45 japhb fperrad: I'm also curious why this problem affects Lua and not Rakudo or pure PIR ...?
17:45 dalek parrot: r40157 | whiteknight++ | trunk/config/gen/platform/​generic/platform_limits.h:
17:45 dalek parrot: [win64] commit a small fix, probably in the worst possible way, to account for the fact that LLONG_MAX and LLONG_MIN don't appear to be defined in 64-bit cl.exe
17:45 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40157/
17:46 japhb When NotFound made his original patch, I was OK with it because it didn't seem to have any obvious negative impact at the time (and thus I had no real reason to object).
17:49 fperrad japhb, OpenGL.pir uses the namespace 'OpenGL', but OpenGL_funcs.pir not
17:49 fperrad I try to add this namespace in OpenGL_funcs.pir, but it isn't enought
17:49 japhb Oh interesting ...
17:49 purl vedy vedy iinterestink
17:50 japhb That sounds buggish.
17:55 fperrad In any case, the best way to ship OpenGL is one PBC, not 2. Even when there are 2 PIR files.
17:56 japhb fperrad: I agree, but NotFound presumably had his reasons, so I trusted him until proven otherwise.  :-)
18:02 dalek parrot: r40158 | jkeenan++ | trunk/src/pmc/os.pmc:
18:02 dalek parrot: Add inline comment referring to TT #849 calling for way of setting mtime and atime.  One POD formatting correction.
18:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40158/
18:15 dalek parrot: r40159 | moritz++ | trunk/include/parrot/compiler.h:
18:15 dalek parrot: [cage] tabs to spaces
18:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40159/
18:18 Whiteknight joined #parrot
18:34 moritz t/codingstd/c_header_guards.t fails because include/parrot/platform_limits.h and config/gen/platform/generic/platform_limits.h are the same file, and thus use the same header guard
18:35 whiteknight joined #parrot
18:37 jjore joined #parrot
19:22 MoC nopaste?
19:22 purl somebody said nopaste was at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others) or http://gist.github.com/ or paste or gtfo
19:22 nopaste "MoC" at 91.11.13.84 pasted "mingw32-make fails." (8 lines) at http://nopaste.snit.ch/17325
19:23 davidfetter joined #parrot
19:23 MoC If someone could take a look at it please.
19:24 MoC r40159 (=current HEAD)
19:35 whiteknight hmm, that's weird
19:36 whiteknight but I am leaving now and don't have time to dig into it
19:38 whiteknight create a ticket on Trac, somebody will fix it
19:56 dalek TT #854 created by jkeenan++: config/inter/progs.pm:  Figure out why -libpath: needs to be removed from ...
19:57 Topic for #parrotis now http://www.parrot.org/ | 284 RTs left | Next release: 2009-07-21
20:03 |MoC| joined #parrot
20:18 kid51 moritz:  At r40159, I cannot reproduce the header_guards failure you described earlier.  Did you fix it?
20:18 moritz kid51: no
20:20 payload joined #parrot
21:01 iblechbot joined #parrot
21:10 MoC joined #parrot
21:13 tetragon joined #parrot
21:23 dukeleto joined #parrot
21:33 theory joined #parrot
21:59 tetragon joined #parrot
22:37 rg joined #parrot
22:40 kid51 joined #parrot
22:56 particle1 joined #parrot
23:02 dalek parrot: r40160 | jkeenan++ | trunk/lib/Parrot/Pmc2c/PMC/RO.pm:
23:02 dalek parrot: Tidy up some inline comments.
23:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40160/
23:40 jhorwitz joined #parrot
23:43 jhorwitz chromatic: ping
23:47 dalek TT #855 created by jkeenan++: config/init/defaults.pm:  Profiling options are too specific to GCC
23:48 Topic for #parrotis now http://www.parrot.org/ | 283 RTs left | Next release: 2009-07-21
23:48 mokurai joined #parrot
23:55 dalek parrot: r40161 | jkeenan++ | trunk/config/init/defaults.pm:
23:55 dalek parrot: Remove inline comment referring to now closed RT #41496.
23:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40161/

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

Parrot | source cross referenced