Camelia, the Perl 6 bug

IRC log for #parrot, 2009-06-14

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:11 dalek parrot: r39541 | Util++ | trunk/src/string:
00:11 dalek parrot: [codingstd] Ignore *.str in src/string
00:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39541/
00:13 amuck joined #parrot
00:18 mikehh joined #parrot
00:20 dalek tracwiki: v19 | coke++ | BranchDescriptions
00:20 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Branc​hDescriptions?version=19&action=diff
00:32 bacek joined #parrot
00:45 Whiteknight joined #parrot
00:51 dalek TT #762 created by ingmar++: parrot_config --dump: libparrot_linkflags, rpath_blib contain references ...
01:07 * Coke wonders how tcl is parsing [expr {{-0x1234}}]
01:07 Coke that would be a helpful thing if someone is bored. =-)
01:10 dalek partcl: r485 | coke++ | trunk/runtime/builtin/ (2 files):
01:10 dalek partcl: These functions should return a copy of the value, not the PMC itself.
01:10 dalek partcl: Pass 4 more spec tests.
01:10 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=485
01:28 f0rk joined #parrot
01:57 Theory joined #parrot
02:35 amuck I'm trying to install the svn version of parrot but I keep getting permission denied errors due to the lib/parrot directory being created with 000 permissions
02:36 amuck I also get warnings about Argument "/opt/local/lib/parrot/1.2.0-devel/languages/pge" isn't numeric in mkdir at /Library/Perl/Updates/5.8.8/File/Path.pm line 165.
02:36 amuck Is this an issue with a known fix?
02:44 Infinoid How exactly are you configuring and building parrot?
02:45 amuck perl Configure.pl --prefix=/opt/local
02:45 amuck make
02:45 amuck make install
03:20 donaldh joined #parrot
03:46 davidfetter joined #parrot
04:01 bacek_ joined #parrot
04:34 Zak joined #parrot
04:50 Andy joined #parrot
04:55 Zak joined #parrot
05:44 viklund_ joined #parrot
06:16 cotto bacek++ for working to make Keys sane.
06:16 cotto Parrot needs more sanity.
06:24 cognominal joined #parrot
06:37 viklund_ joined #parrot
07:03 Hunger joined #parrot
07:04 dalek parrot: r39542 | bacek++ | branches/pmc_pct/compilers/​pmcc/src/parser/actions.pm:
07:04 dalek parrot: [pmcc] Build short signature for MULTI. Override virtual param type with PMC* when needed.
07:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39542/
07:04 dalek parrot: r39543 | bacek++ | branches/pmc_pct/compilers/pmcc/src/builtins.pir:
07:04 dalek parrot: [pmcc] Add Hash.keys into builtins
07:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39543/
07:04 dalek parrot: r39544 | bacek++ | branches/pmc_pct/compilers​/pmcc/src/emitter/pmc.pm:
07:04 dalek parrot: [pmcc] Preliminary stub for MULTIs handling.
07:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39544/
07:05 bacek cotto: It almost works
07:09 viklund_ joined #parrot
07:16 cotto pmc_pct?  That's awesome!
07:16 cotto (for a second I thought you were referring to the Key refactor, which would have made my head asplode)
07:18 cotto I know that in pmc2c the RO variant VTABLEs require some state from parent PMCs.  Did you find a way around that?
07:18 cotto nm.  you're just referring to MULTIs
07:20 donaldh joined #parrot
07:20 cotto bacek, why not add a C-level 'keys' method to Hash?
07:21 cotto (other than ease of implementation, which is compelling enough)
07:22 bacek I'm not very keen to change PMCs in pmc_pct branch.
07:22 bacek Just to reduce hassle on merge
07:23 cotto perfectly reasonable
07:23 bacek (And I'm going to rewrite all Keys/Iterators anyway :)
07:24 cotto for which your name will be called great
07:25 cotto That code needs some tough love.
07:25 bacek indeed...
07:25 purl indubitably
07:26 cotto What motivated you to take on that particular ball of cruft?
07:28 bacek My sense of beauty.
07:28 bacek And totally unsatisfied sense of perfection.
07:30 dalek parrot: r39545 | bacek++ | branches/pmc_pct/compilers/​pmcc/src/parser/actions.pm:
07:30 dalek parrot: [pmcc] Build long signature for MULTIs.
07:30 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39545/
07:31 cotto so you generally avoid imcc then ;)
07:32 bacek yes :)
07:32 bacek I've got my prototype for emitting PBC from PIR :)
07:33 cotto That explains that.
07:34 patspam joined #parrot
07:34 cotto Sometimes I wish I could look into the future to see what Parrot 3.5 will look like, to see if all the crazy stuff that's being discussed now will come to pass.
07:34 cotto but if I could actually look into the future, I'd probably be able to find something more profitable to look at.
07:39 bacek :)
07:41 cotto on that note, http://paulgraham.com/hundred.html is an interesting article about what programming lanuages will look like in 100 years.
07:43 bacek I can predict what on this page. Everything will be DSL on top of Lisp? :)
08:08 bacek_ joined #parrot
08:29 barney joined #parrot
08:31 mikehh joined #parrot
09:10 dalek parrot: r39546 | bacek++ | branches/pmc_pct/compilers/​pmcc/src/parser/actions.pm:
09:11 dalek parrot: Remove debug "say"
09:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39546/
09:11 dalek parrot: r39547 | bacek++ | branches/pmc_pct/compilers/pmcc/src/builtins.pir:
09:11 dalek parrot: Remove debug "say"
09:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39547/
09:11 dalek parrot: r39548 | bacek++ | branches/pmc_pct/compilers​/pmcc/src/emitter/pmc.pm:
09:11 dalek parrot: [pmcc] Generate full set of required constants.
09:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39548/
09:11 dalek parrot: r39549 | bacek++ | branches/pmc_pct/compilers/​pmcc/src/parser/actions.pm:
09:11 dalek parrot: Store almost full MULTI name in PAST.
09:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39549/
09:11 dalek parrot: r39550 | bacek++ | branches/pmc_pct/compilers​/pmcc/src/emitter/pmc.pm:
09:11 dalek parrot: Change generate_signature method to accept desired name. Implement emitting multis.
09:11 purl dalek: that doesn't look right
09:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39550/
09:11 dalek parrot: r39551 | bacek++ | branches/pmc_pct/compilers/pmcc/t/08-multi.t:
09:11 dalek parrot: [t] Add tests for emitting MULTIs bodies.
09:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39551/
09:13 bacek msg cotto It's your turn now :) I've finished MULTIs handling (fsvo "finished" and "handling")
09:13 purl Message for cotto stored.
09:14 dalek parrot: r39552 | bacek++ | branches/pmc_pct/compilers​/pmcc/src/emitter/pmc.pm:
09:14 dalek parrot: [pmcc] Generate _temp_multi_func_list almost the same as pmc2c.
09:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39552/
09:14 dalek parrot: r39553 | bacek++ | branches/pmc_pct/compilers/pmcc/t/08-multi.t:
09:14 dalek parrot: [t] Add more tests for MULTIs
09:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39553/
09:14 dalek parrot: r39554 | bacek++ | branches/pmc_pct/compilers​/pmcc/src/emitter/pmc.pm:
09:14 dalek parrot: [pmcc] Swap generate_multis and generate_passes. Add TODO comment for cotto++
09:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39554/
09:20 bacek karma bacek
09:20 purl bacek has karma of 609
09:21 bacek erm...
09:23 bacek clock?
09:23 purl bacek: LAX: Sun 2:23am PDT / CHI: Sun 4:23am CDT / NYC: Sun 5:23am EDT / LON: Sun 10:23am BST / BER: Sun 11:23am CEST / IND: Sun 2:53pm IST / TOK: Sun 6:23pm JST / SYD: Sun 7:23pm EST /
09:31 dalek parrot: r39555 | bacek++ | branches/tt761_keys_revamp:
09:31 dalek parrot: Branch for cleanup Keys/Iterators implementation as described in TT#761
09:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39555/
09:57 bacek Anyone here?
09:57 purl look around and see, you dolt
09:57 bacek stupid girl...
10:14 dalek parrot: r39556 | bacek++ | branches/tt761_keys_revamp/​src/pmc/arrayiterator.pmc:
10:14 dalek parrot: [pmc] Add stripped version of Iterator as ArrayIterator.
10:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39556/
10:18 dalek parrot: r39557 | bacek++ | branches/tt761_keys_revamp/t/native_pbc (4 files):
10:18 dalek parrot: Regenerate native PBCs
10:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39557/
10:18 dalek parrot: r39558 | bacek++ | branches/tt761_keys_revamp/t/pmc/pmc.t:
10:18 dalek parrot: [t] Add ArrayIterator to untestable without initialisation.
10:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39558/
10:18 dalek parrot: r39559 | bacek++ | branches/tt761_keys_revamp/t/pmc/iterator.t:
10:18 dalek parrot: [t] Use pop instead of shift for reverse iterator.
10:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39559/
10:18 dalek parrot: r39560 | bacek++ | branches/tt761_keys_revamp/src/pmc (6 files):
10:18 dalek parrot: [pmc] Migrate all *Array*.get_iter to ArrayIterator
10:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39560/
10:18 dalek parrot: r39561 | bacek++ | branches/tt761_keys_revamp (2 files):
10:18 dalek parrot: [core] Add pmc_reuse_init similar to pmc_reuse but with initing reused pmc.
10:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39561/
10:18 dalek parrot: r39562 | bacek++ | branches/tt761_keys_revamp/src/pmc/iterator.pmc:
10:18 dalek parrot: [pmc] When we try to instanciate Iterator for Array fall to ArrayIterator.
10:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39562/
10:27 flexibeast joined #parrot
11:20 donaldh joined #parrot
11:29 Whiteknight joined #parrot
11:32 Topic for #parrotis now Topic for #parrot is: Parrot 1.2.0 released | http://parrot.org/ | Weekly Priority: Testing for 1.3.0! | Parrot VM Workshop, Pittsburgh, June 20-21
12:39 Whiteknight I'm seeing a new failure this morning on t/manifest/03-regenerate_skip.t
12:40 Whiteknight Failed test 'No need to regenerate MANIFEST.skip'
12:50 dalek parrot: r39563 | Infinoid++ | trunk/MANIFEST.SKIP:
12:50 dalek parrot: [cage] regenerate MANIFEST.SKIP.
12:50 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39563/
12:52 Infinoid Whiteknight: That should fix it
12:53 Whiteknight awesome, Infinoid++
12:54 DanielC joined #parrot
12:54 Whiteknight yes, appears fixed. Awesome!
12:55 DanielC I think there is a weird bug in the JSON library. Easiest way to explain is to try running this test:  http://pastebin.com/m428594f4
12:55 * Infinoid is doing fulltest in x86-32
12:56 DanielC The test fails if you assign Hash keys in a non-alphabetical order.
12:56 Whiteknight wow, that is a weird error
12:56 Whiteknight are we sure the test is testing the right things?
12:57 Infinoid does json really guarantee hash insertion order?  (I don't think Hash does)
12:57 DanielC Infinoid: I am sure it doesn't. The order should not matter.
12:59 Infinoid oh, I see, the values are switched?
13:00 DanielC It doesn't matter. What matters is that the keys are assigned in a different order.
13:00 DanielC If you set $P0["b"] = 1 and $P0["a"] = 2 after, the error remains.
13:01 Infinoid From the error message "# Mismatch at [a]: expected 1, received 2" I would have assumed it was comparing $P0["a"] with $P1["a"]
13:02 DanielC yeah
13:02 DanielC It should compare $P1["a"] to $P0["a"] but it doesn't seem to.
13:02 Infinoid and if I print $P0["a"] and $P1["a"], I get 1 and 1
13:03 DanielC wtf?
13:03 Infinoid I'm suspecting an issue with is_deeply
13:03 DanielC oh, sorry
13:03 * DanielC mis-read something :)
13:03 DanielC yeah, the issue might be in is_deeply
13:05 Infinoid "This only handles comparisons of array-like structures.  It shouldn't be too hard to extend it for hash-like structures, too." -- the is_deeply pod
13:05 DanielC Yeah, when I print all the values of $P0 and $P1 the numbers look right.
13:06 DanielC ah!!!!
13:06 Infinoid Guess we should open a ticket for that :)
13:06 DanielC So is_deeply doesn't work for hashes.
13:06 DanielC Thank you very much.
13:06 Infinoid (I don't really want to break Test::More before tuesday's release)
13:07 Infinoid is_deeply doesn't work for hashes, yet.  But it really *should*, hopefully we can fix that soon
13:07 DanielC Hopefully.
13:10 kid51 joined #parrot
13:11 Whiteknight Infinoid: can you check t/examples/pod.t?
13:11 Whiteknight I
13:11 Whiteknight I'm getting a few failures there now that were probably hidden by the MANIFEST.SKIP test failure
13:18 Infinoid Failed 9/400 subtests
13:18 skids joined #parrot
13:18 Infinoid but I have to go soon, hopefully back later this morning
13:19 * Infinoid hates the fulltest sequencing
13:29 Coke I have an issue with my ternary operator, trying to figure out if it's a problem with the PGE optable stuff or my code. 3>2?2***3:66 gives an RPA error, even though 2***3 by itself gives an expected failure.
13:35 dalek partcl: r486 | coke++ | trunk/runtime/builtin/ (2 files):
13:35 dalek partcl: If we were doing things as early as possible, then our value would
13:35 dalek partcl: have been right; we only have to take a copy of a point in time because
13:35 dalek partcl: we're waiting until the end to run all the code.
13:35 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=486
13:37 Infinoid DanielC: ping
13:40 nopaste "infinoid" at 65.18.171.17 pasted "[PATCH] Test/More.pir should handle hash comparisons without relying on Iter ordering" (63 lines) at http://nopaste.snit.ch/16909
13:56 burmas joined #parrot
15:20 donaldh joined #parrot
15:53 iblechbot joined #parrot
16:18 barney joined #parrot
16:22 Psyche^ joined #parrot
16:25 Theory joined #parrot
16:32 gaurav joined #parrot
16:38 dalek partcl: r487 | coke++ | trunk/ (4 files):
16:38 dalek partcl: move the compile* .subs into their own file.
16:38 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=487
16:38 dalek partcl: r488 | coke++ | trunk/tools/gen_builtins.pl:
16:38 dalek partcl: alphabetize these includes
16:38 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=488
16:38 burmas left #parrot
16:42 Coke hurm. I can have a PMC that has functions defined in PIR, no?
16:42 Coke (just shove them in the appropriate namespace?)
16:48 whoppix joined #parrot
16:49 pmichaud Coke: Yes -- Rakudo and PGE do that quite a bit.
16:49 pmichaud at least for normal methods.  I don't know if you can do vtable functions that way.
17:06 Coke this is plain methods.
17:07 Coke trying to make my code a little more object oriented.
17:07 Coke odd. getting Class '[ 'parrot' ; 'Getopt::Obj' ]' not found
17:07 Coke (pretty sure I didn't change /that/ code. :P)
17:09 Coke (ah. .hll marker screwed it up)
17:44 * Coke grumbles.
18:11 DanielC joined #parrot
18:11 DanielC How do you delete a file? There doesn't seem to be an "unlink" function in PIR.
18:50 bacek joined #parrot
19:20 donaldh joined #parrot
19:26 jan joined #parrot
20:08 davidfetter who's going to pittsburgh this week?
20:09 f0rk not making it there until monday :(
20:29 viklund_ joined #parrot
20:50 Util davidfetter: coming in Friday
20:50 davidfetter Util, cool :)
20:50 davidfetter so am i :)
21:04 AchaBacha joined #parrot
21:20 Util davidfetter: great! I do not see you on http://yapc10.org/yn2009/wiki?node=Parro​t%20Virtual%20Machine%20Workshop%202009 ; are you coming in early for a different reason?
21:21 davidfetter oops. forgot to sign up
21:21 davidfetter where's the sign-up?
21:22 Util DanielC: I think you would call `unlink` from the os PMC, but it is not implemented yet.
21:23 DanielC Util: Ok
21:23 Infinoid hmm!  Apparently, I'm only 5 hours from Pittsburgh
21:23 Util davidfetter: the link I pasted is the signup; register on the wiki, then edit the page to add yourself.
21:24 Util Infinoid: Road trip!
21:24 purl well, road trip is more fun =)
21:24 Infinoid Of course, I was only 5 hours from San Francisco last year, and I didn't make it to PDS last year either
21:25 Infinoid I think 2 hours is my "easy" driving threshold
21:28 davidfetter hrm
21:28 davidfetter i signed in and edited
21:28 davidfetter i guess i'll try less clever
21:28 Util DanielC: from the looks of the other os.pmc methods (and `man 2 unlink`), I think it would be easy-ish to implement. Not volunteering, though; no tuits available.
21:29 DanielC Util: Ok. Just so I know, where can I find os.pmc ?
21:29 Infinoid parrot trunk/src/pmc/
21:29 DanielC thanks
21:33 Util davidfetter: try [user:2895] ; that will link to you, while displaying your name.
21:34 davidfetter done
21:34 davidfetter how'd you find that?
21:37 Util the number-instead-of-name technique, or the wiki page?
21:37 davidfetter my number
21:37 DanielC Util: os.pmc seems to already have a template for "rm"
21:38 Util You are listed at the bottom of the page as the last user to change the page. Also, I could have done a user search.
21:38 davidfetter ah
21:38 davidfetter <-- n00b
21:39 Util DanielC: Oh! I missed it, narrowly searching only for `unlink`.
21:39 zak_ joined #parrot
21:40 Util DanielC: See t/pmc/os.t for an example of usage.
21:40 DanielC Thanks.
21:41 DanielC I tried just using it the obvious way but I got an error ("could not fin sub rm").
21:41 * DanielC looks at the test
21:42 DanielC ah...
21:42 DanielC $P1 = new ['OS']  ... $P1."rm"($S1)
21:43 mikehh t/op/debuginfo has TODO passes in make smoke and make -k fulltest - all PASS except t/examples/pod.t in examples_tests
21:44 DanielC Util:  It works!!
21:44 DanielC Util: Thanks.
21:44 Util glad to help
21:44 mikehh Ubuntu 9.04 i386 at r39563
21:46 Util mikehh++ for smoking :) FYI, `make fulltest_all` is the equiv-to `make -k fulltest`, with benchmarks moved to run last.
21:48 Infinoid DanielC: r39564 has your fix
21:48 DanielC Infinoid: Thanks!
21:49 dalek parrot: r39564 | Infinoid++ | trunk (2 files):
21:49 dalek parrot: [Test/More.pir] is_deeply can compare hashes, but depends on insertion order.
21:49 dalek parrot: Depending on the order in which a hash was built, two hashes can have perfectly identical contents, but a different Iter order.
21:49 dalek parrot: Thus, after comparing the number of entries, we should base the rest of the comparison on *one* Iter, not two in parallel.
21:49 dalek parrot: I think we still need more work to handle undef values properly, but this is a step in the right direction.  While we're at it, add a test.
21:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39564/
21:51 mikehh Util: Yeah - used to run that but I find make -k fulltest is a little quicker
21:53 mikehh not that much though - I let it run while doing a cpu[;e of oyjer things
21:53 mikehh couple of other
21:55 Whiteknight joined #parrot
21:55 mikehh I haven't been able to get a decent keyvoard that fits my fingers properly since my grandson spilt Coke on my old favourite
21:56 mikehh Coke as in Coca-Cola not a certain Will :-}
21:58 mikehh you see I keep hitting v instead of b, ; instead of l etc, etc...
21:58 Infinoid silly soda companies, polluting the namespace
21:59 mikehh certainly polluted my old keyboard :-}
22:02 mikehh I had that one for years and now can't an equivalent anywhere - have tried about 6 now :-{
22:04 Infinoid I was fortunate enough to get used to a certain type of cheap but decent ones that have been cloned by 5 or 6 noname companies
22:04 Infinoid ...and then bought a 10-pack of them
22:05 Infinoid I hope it's been carried over from PS/2 to USB... haven't had to check yet
22:22 ZeroForce joined #parrot
22:31 * Coke yawns.
22:33 rg joined #parrot
22:33 Infinoid Is Undef a singleton?
22:35 Whiteknight PMCNULL is
22:35 Whiteknight at least, I think it is
22:36 Infinoid Yeah, that makes sense
22:36 Infinoid Undef is a real PMC tho
22:37 Infinoid Oh, wow, with a real set_pmc method.  That's gonna make singletons ... unlikely
22:48 Coke I believe that's so that you could do $P0 = new 'Undef'; morph $P0, 'some random thing'
22:53 ZeroForce1 joined #parrot
23:03 bacek joined #parrot
23:04 dalek TT #763 created by Infinoid++: Test/More.pir's is_deeply() needs work with hash corner cases
23:05 bacek good morning
23:05 purl Here I am, brain the size of a planet, and all they say is 'Good Morning'
23:06 Infinoid ohai
23:07 GeJ Good morning everyone
23:16 dalek parrot: r39565 | bacek++ | trunk/src/string/api.c:
23:16 dalek parrot: [core] Applying patch from TT#758 to improve Parrot_str_to_num.
23:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39565/
23:18 patspam joined #parrot
23:21 donaldh joined #parrot
23:23 bacek Infinoid: looks like openbsd/hppa requires explicit cast to double from int...
23:23 Infinoid pmichaud: I'd love to get your opinion on TT #763, if you've got a spare tuit to toss at it
23:24 Infinoid bacek: Wow, that sounds like a pretty broken platform
23:27 bacek is_deeply(%a,%b) { for %a.keys { return 0 unless exists %b{$_} and %a{$_} == %b{$_} }; for %b.keys { return 0 unless exists %a{$_} }; return 1}
23:27 bacek This is how I understand is_deeply should work
23:27 bacek (I didn't check Test::More.pir though)
23:29 Infinoid Test::More.pir's hash handling isn't well tested, and actually the POD said it only handles arrays, not hashes
23:29 Infinoid I fixed up the existing hash code to work, and updated the POD
23:30 Infinoid and then I started looking for more corner cases based on some comments in #perl6 about how tricky it was to get it fully correct
23:30 Infinoid That ticket is intended as a starting point for discussion
23:31 Infinoid So your is_deeply does treat !exists as distinct from !defined
23:31 bacek indeed.
23:32 bacek I think "key3 => undef" not equal to absence of "key3"
23:32 Infinoid According to pmichaud, parrot returns PMCNULL in the !exists case, so assuming is_deeply can handle that (and Undef) without crashing, we can make that work
23:32 bacek Parrot's Hash returns Undef. I'm not sure that returning Null will not brake something
23:34 Infinoid I haven't tested any of this, just going by what others have said
23:35 Infinoid [10:35] <@pmichaud> Actually, looking up non-existent keys in hashes normally returns NULL (in Parrot)
23:35 Infinoid If you're seeing Undef, maybe it's fixed up somewhere between the C layer and the PIR layer
23:36 GeJ bacek: running make fulltest on FreeBSD against your latest patch. Will try with the FLOATVAL cast right after it.
23:36 bacek Ah. pmichaud is right. It actually returns Null.
23:36 bacek GeJ: thanks.
23:36 dalek partcl: r489 | coke++ | trunk/ (3 files):
23:36 dalek partcl: - rename TclString.get_list to TclString.getListValue()
23:36 dalek partcl: - eliminate optional parameter - always work on TclString itself.
23:36 dalek partcl: - add a :multi variant to let the TclString version avoid creating a new PMC.
23:36 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=489
23:37 * bacek need more coffee
23:41 Coke_afk bacek: I'm pretty sure we've already switched between Undef and NULL for hashes at /least/ once.
23:43 Infinoid I don't want to switch it, I just want to understand it
23:43 bacek Coke: yes. It returns PMCNULL now.
23:43 Infinoid and to make is_deeply() work with it :)
23:44 bacek Infinoid: actually "exists %b{$_}" equals to "%b{$_} ~~ Null" :)
23:45 Infinoid Great.  That gives me something I can check from PIR
23:46 Infinoid So if I can get is_deeply printing nulls and undefs properly, the right behavior should just fall out
23:46 Coke bah. I finally gave up doing a wholesale switch and having massive failures and am now doing incremental changes. next time, just start there. Oy.
23:47 Infinoid Switching what, Coke?
23:48 Coke I have a 'toList' :multi in partcl. Trying to switch it to a method.
23:48 bacek .oO( Migrate partcl to PCT? )
23:48 Coke no, but I'd love to have that patch if you have the tuits. =-)
23:49 Coke Infinoid: was just lamenting that I should know that small, incremental changes are better. =-)
23:51 bacek time to go to $dayjob...
23:51 dalek partcl: r490 | coke++ | trunk/ (2 files):
23:51 dalek partcl: Switch toList to no longer be a :mult
23:51 dalek partcl: - add a version of getListValue for TclList
23:51 dalek partcl: - add a version to the builtin String.
23:51 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=490
23:57 Coke bah. getting test failures in 'make TEST_JOBS=3 test' in partcl, but not in 'make test' or 'prove -f some/failing/test'
23:58 Infinoid race condition from multiple tests creating the same tmpfile?  (just a guess)
23:58 Coke Infinoid: could be. care to check my tempfile logic?
23:59 Coke http://code.google.com/p/partcl/sourc​e/browse/trunk/lib/Parrot/Test/Tcl.pm
23:59 Coke I'm just using tempfile().

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

Parrot | source cross referenced