Camelia, the Perl 6 bug

IRC log for #parrot, 2011-01-10

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 dukeleto NotFound: what is the problem?
00:03 NotFound dukeleto: http://support.github.com/discussions​/repos/3942-svngithubcom-fail-200-ok
00:05 dukeleto NotFound: sadface
00:21 mikehh joined #parrot
00:22 dukeleto Yuki`N: see https://github.com/parrot/parrot/pull/117 , bitops still fail
00:26 Yuki`N Can anyone give me SSH access to a 64-bit machine?
00:28 mikehh Yuki`N: No, but I just booted into Kubuntu 10.10 amd64, what do you need
00:28 Yuki`N I need an environment to run some tests, hmm.
00:28 Yuki`N Like changing one line and seeing the result.
00:30 mikehh what you got at the moment?
00:30 Yuki`N Nothing so far.
00:30 Yuki`N Still thinking.
00:31 mikehh what platform are you running on?
00:36 Yuki`N i686.
00:39 fbrito left #parrot
00:40 dalek parrot: 9bbcc27 | nwellnhof++ | / (2 files):
00:40 dalek parrot: [io] Seek back when switching from buffered read to write
00:40 dalek parrot:
00:40 dalek parrot: Also fix writing in append mode and optimize a little.
00:40 dalek parrot: review: https://github.com/parrot/parrot/commit/9bbcc272f0
00:44 contingencyplan left #parrot
00:47 dalek parrot: 80145c1 | nwellnhof++ | t/pmc/filehandle.t:
00:47 dalek parrot: [t] Fix tempfile name
00:47 dalek parrot: review: https://github.com/parrot/parrot/commit/80145c17cb
00:50 Yuki`N mikehh, can you try running `prove t/dynoplibs/bit.t` with my latest master, git://github.com/nol888/parrot
00:50 Yuki`N If that doesn't work I'll have to do it at work tomorrow when I have access to a 64-bit machine.
00:55 mikehh Yuki`N: cloning it now
00:55 whiteknight joined #parrot
01:03 Coke http://smolder.parrot.org/app​/projects/report_details/2164
01:06 Yuki`N Ok I have no idea why that would not pass on Mac.
01:07 Yuki`N Passes on windows and linux i386
01:09 mikehh Yuki`N: passes for me
01:09 Yuki`N Cool.
01:09 mikehh Yuki`N: btw you have a codetest failure in it - for( needs to be for (
01:09 Yuki`N Ah.
01:10 Yuki`N I'll just amend and force-push
01:10 mikehh Failed Failed test 'there should be at least one space between a C keyword and any subsequent open parenthesis
01:12 mikehh t/codingstd/c_parens.t
01:13 Yuki`N Ok my amend didn't turn out too well so I just made a separate commit and updated the pull request.
01:15 fbrito joined #parrot
01:23 dukeleto Yuki`N: danke, will look at it soon
01:47 fbrito Ah, I am stuck with my pbc_dump task :( http://www.google-melange.com/gci/task/show/goog​le/gci2010/parrot_perl_foundations/t129452036881
01:48 whiteknight left #parrot
01:50 dalek parrot: 84ba5a6 | nwellnhof++ | / (2 files):
01:50 dalek parrot: [io] Fix bugs in Parrot_io_seek_buffer
01:51 dalek parrot: review: https://github.com/parrot/parrot/commit/84ba5a63fc
01:58 dukeleto fbrito: what is up?
01:59 dukeleto fbrito: is there stuff that is uncoverable?
01:59 fbrito I am having problems trying to cover lines 267-294: http://tapir2.ro.vutbr.cz/cover/latest-c​_cover/frontend-pbc_dump-packdump-c.html
02:00 dukeleto fbrito: what is your coverage currently?
02:00 fbrito only 69.3%, haha
02:01 plobsing fbrito: what sections are you having trouble covering?
02:01 dalek parrot: 8dd8476 | nwellnhof++ | include/parrot/api.h:
02:01 dalek parrot: Run make headerizer
02:01 dalek parrot: review: https://github.com/parrot/parrot/commit/8dd8476904
02:01 dalek parrot: 6acab19 | nwellnhof++ | / (4 files):
02:01 dalek parrot: [io] Remove file_size attribute from FileHandle
02:01 dalek parrot:
02:01 dalek parrot: It wasn't implemented and it's a value that can't be cached.
02:01 dalek parrot: review: https://github.com/parrot/parrot/commit/6acab19b60
02:01 dukeleto fbrito: will be back soon. Try creating PMCs of different types, so the bytecode has various stuff to dump
02:02 fbrito plobsing: cases with "KEY_register_flag" (line 267-294)
02:03 plobsing oh keys. those are fun
02:03 plobsing and by fun I mean the opposite
02:03 fbrito case KEY_string_FLAG: and case KEY_integer_FLAG: was really easy to cover with a hash
02:03 Yuki`N 'Night all.
02:03 nwellnhof wasn't there a proposal to remove keys?
02:03 fbrito Yuki`N: good night :)
02:03 Yuki`N left #parrot
02:04 fbrito case KEY_number_FLAG: is still uncovered, like the cases with KEY_register_FLAG:
02:05 plobsing nwellnhof: yes, by bacek IIRC
02:05 plobsing fbrito: try using strings and floating point values in hash accessors
02:06 fbrito when trying to use floating points values I get "error:imcc:build_key: unknown set"
02:06 plobsing interesting
02:07 plobsing yep, looks like IMCC won't build keys using floating point values (a good thing IMHO)
02:08 fbrito for example: $P0 = new ['Hash']; $P0[1.0] = 1; will raise the build_key error
02:08 plobsing I wonder if I could remove all support for floating point values in keys without anything breaking.
02:09 plobsing fbrito: sure, but consider what floating point keys would mean.
02:09 plobsing $P0[1.0] = 'good'; $P0[0.9999999999999] = 'bad'; say $P0[1.0]
02:10 plobsing worse, what happens when those are the same in 32-bit but different in 64-bit
02:10 fbrito oh yes, it looks pretty bad :P
02:15 fbrito so... I am still left with the cases checking for KEY_register_FLAG
02:15 fbrito I saw that Key PMC has a method called 'set_register', but I am not sure how it works
02:17 plobsing fbrito: I am currently attempting to remove floatval keys altogether. that should boost your coverage, and since you brought it up, go ahead and take some credit.
02:20 fbrito I am waiting for cover_new results
02:22 fbrito from 50% to 77.2%. Still really far from the 95% that the task requested
02:22 mikegrb left #parrot
02:22 fbrito that was a very mean task :P. increase code coverage by 45%? :o
02:23 plobsing you are getting close tho
02:24 fbrito but unfortunately I have to go now :(. have to write some really important tests tomorrow
02:31 fbrito ahahah, any chance of having a task split by 2? :P
02:31 stilgar joined #parrot
02:36 stilgar fbrito: submit your task
02:37 plobsing fbrito: how much coverage would you gain if the numval key portions were gone? I am currently halfway through fulltest with everything good so far.
02:38 stilgar fbrito: i will redefine the task and plobsing is removing stuff
02:39 fbrito Code coverage was 50% when the task was created. I could only cover string and int keys, which increased it to 69.3%. Removing numval key portions increased it to 77.2%
02:40 fbrito My biggest problem are the key "switch cases" that check for KEY_(integer, string, pmc)_FLAG | KEY_register_FLAG
02:40 stilgar fbrito: this is dukeleto, btw
02:40 fbrito ahhh :P
02:41 stilgar plobsing: +1 to remove numval keys
02:42 stilgar fbrito: create an Iterator pmc and dump it
02:43 dalek parrot: 3cd107c | plobsing++ | / (8 files):
02:43 dalek parrot: eliminate floating point key values
02:43 dalek parrot:
02:43 dalek parrot: IMCC refuses to create these, so they are not yet in use and there are no
02:43 dalek parrot: compelling/sane examples of where this might be useful
02:43 dalek parrot: review: https://github.com/parrot/parrot/commit/3cd107c514
02:43 * stilgar is dukeleto's phone
02:44 plobsing fbrito: those should be fairly easy. just use $I0, $S0, and $P0 registers
02:46 fbrito plobsing: I have tried that, but it didn't work
02:46 fbrito Is there any other way of doing that? I have tried $I0 = 1; $P0[$I0] = 1
02:46 plobsing thats odd. hmmm... maybe you have to use them in complex keys?
02:47 dalek parrot: dce9186 | nwellnhof++ | t/pmc/filehandle.t:
02:47 dalek parrot: [t] Test multibyte chars split across buffers
02:47 dalek parrot: review: https://github.com/parrot/parrot/commit/dce9186f8a
02:47 plobsing eg: $P0[$I0;$I1]
02:47 plobsing $P0[$I0] maps to get_x_keyed_int and doesn't use a key at all
02:47 fbrito ah, genius!
02:50 fbrito but it didn't work for case "KEY_pmc_FLAG | KEY_register_FLAG". I get the same "error:imcc:build_key: wrong register set" error
02:50 plobsing try just $P0[$P1]
02:51 plobsing Based on looking at key.pmc, I'm fairly sure PMCs aren't supported in complex keys.
02:51 plobsing there's nowhere in the struct to hold them
02:53 stilgar fbrito: some stuff is uncoverable. submit your task before you go to sleep and explain
02:53 fbrito the code worked, but it was mapped to something else
02:54 plobsing :(
02:54 fbrito let me run cover_new for the last time
02:54 stilgar fbrito: and good luck on your exams!!!
02:56 plobsing is there a concise document on what a package developer has to do to get into plumage?
02:56 plobsing I see the matadata segment in the ModuleEcosystem page, but how does that metadata get picked up?
03:01 stilgar plobsing: plumage has a json file for each project
03:03 plobsing stilgar: so it does. thanks.
03:05 cotto dukeleto, ping
03:08 stilgar cotto: pong
03:09 cotto stilgar, you're dukeleto?
03:09 mikehh cotto: btw I think fixed that problem you had with html_cleanup, cab you check it out?
03:10 mikehh can
03:10 cotto mikehh, youdid
03:10 cotto thanks
03:10 cotto ENOSPACE
03:10 cotto ;}
03:10 stilgar cotto: yes sir :) Stilgar is Duke Leto's right hand man in Dune and is also my phone
03:11 cotto I feel like I should have known that.
03:11 cotto but now I do, so it works out
03:14 cotto stilgar, see privmsg
03:15 Matt221 can someone approve this: http://www.google-melange.com/gci/​task/show/google/gci2010/parrot_pe​rl_foundations/t129460320353#c3001
03:15 cotto on it
03:15 cotto done
03:16 Matt221 https://github.com/parrot/parrot/pull/118
03:18 * cotto wonders how it's not valid to initialize a complex with a boxed int
03:20 cotto Matt221, approved.  We can pull/merge later.
03:20 Matt221 cotto: thanks!
03:21 fbrito can someone please accept my claim request on this? www.google-melange.com/gci/task/show/google/g​ci2010/parrot_perl_foundations/t129452036881
03:21 nwellnhof left #parrot
03:22 plobsing fbrito: OOC, what's your coverage at now?
03:23 fbrito 86% -.-. but "case KEY_pmc_FLAG | KEY_register_FLAG:" also seems invalid
03:26 plobsing that's not quite as easy a sell as number keys, but worth considering
03:27 fbrito maybe we can split the task in 2 2-points 20% tasks
03:31 Matt221 left #parrot
03:33 fbrito anyway... I really should go to bed
03:33 stilgar fbrito: 86% is close enough
03:34 stilgar fbrito: submit task and sleep!
03:35 fbrito stilgar: are you sure?
03:35 fbrito what do you think, cotto?
03:35 cotto . o O ("")
03:36 cotto I'll halve the task.
03:36 cotto wait.  which task?
03:36 plobsing he did 77%. that deserves at least 3 of the 4 points
03:36 cotto nm.  you mentioned it
03:37 stilgar cotto: the task was a bit too hard
03:37 cotto plobsing, it rounds up
03:37 stilgar fbrito: submit and we will figure it out
03:38 fbrito left #parrot
03:38 fbrito joined #parrot
03:42 fbrito if I did only 77% of the task I think it would be better to get 2 points instead of 4
03:42 plobsing are you arguing against points assigned to yourself?
03:45 fbrito yes... I wouldn't like if someone else had received "free" points
03:45 fbrito and I have to sleep :D
03:47 cotto fbrito++
03:47 cotto definitely appreciate the ethic
03:48 fbrito hehee, too bad that there aren't tasks to increase the ethic coverage :P
03:49 cotto fbrito, I can help get this straightened out now.
03:49 cotto If you unaccept the task, I can edit it to match what you were able to do.
03:50 fbrito just did that :)
03:50 cotto fixed
03:52 cotto accepted
03:53 cotto fbrito, submit and I'll make sure it gets reviewed before the deadline.  If you don't want to do any more tasks, you can go to bed.
03:54 fbrito ok, thank you very much :)
03:54 Kapace cotto: I might have to do the same as fbrito
03:54 cotto Kapace, ok
03:54 Kapace can't reach the last few %
03:54 cotto Kapace, how far off are you?
03:55 Kapace making cover right now.. tell you in a bit
03:55 cotto ok
03:56 fbrito ok, work submitted. going to bed
03:56 cotto fbrito, 'night
03:58 fbrito I hope I can keep contributing to Parrot, but now without the GCI pressure :)
03:58 cotto fbrito, why does your pull add some code and then delete it?
03:59 fbrito really?
03:59 cotto https://github.com/fernandobrito/parrot/comm​it/5e62f28440f7a8ce6911dd769d1bb6b37f2a2701
04:02 fbrito the pull request has 2 commits: I added them on the first commit and moved them to it own test on the second commit
04:03 cotto ok
04:03 fbrito hm... actually the 1st commit is useless
04:04 fbrito I should have used "--amend"
04:04 fbrito should I fix it?
04:06 Kapace cotto: well, It's kinda strange, I have 89.1% and thats with Matt's earlier work
04:06 Kapace there is also one function which seem to hang when I call it
04:06 cotto fbrito, unless it changes the overall diff, don't bother.
04:07 cotto we can have a few messy commits.  Git deals.
04:07 fbrito ok
04:07 cotto Kapace, so you're saying that you're not seeing an apparent increase in coverage?
04:07 fbrito left #parrot
04:09 Kapace hmm, well
04:09 Kapace yes, It does increase, but I can't get it probably any higher than like 90..
04:10 Kapace (the latest cover seems to cover some lines that aren't in my report)
04:11 cotto Are you using fullcover?  that's what tapir2 uses
04:11 Kapace oh, I'll try that (i was doing cover_new)
04:12 cotto I can't follow the proliferation of cover targets.
04:32 Kapace fullcover didn't work for me, bunch of errors, and only reports a couple files etc..
04:32 Kapace Anyways, there seems to be some lines that would never execute and some methods that hang/fail
04:35 cotto charming
04:36 cotto are your changes available to play with?
04:36 cotto I can try to get some coverage results.
04:37 Kapace pushing...
04:38 cotto I'd hate for you to get knocked out of the top 10 over something stupid like that.
04:39 Kapace pretty sure I'm out anyways :(
04:39 Kapace sucks that I couldn't work on more tasks today..
04:40 cotto actually you'll be in if you get any more points and none of the other people you're tied with do.
04:41 cotto barring disqualifications and other post-contest changes
04:41 Kapace hmm, I need 101+ points now
04:42 cotto indeed
04:42 cotto that changed quickly
04:50 dalek TT #1943 created by doughera++: Failure due to missing external definition of inlined functions
04:50 dalek TT #1943: http://trac.parrot.org/parrot/ticket/1943
04:51 Kapace oh forgot to link to my code: https://github.com/kapace/parrot/commit/​83d914cb5b20394e2fba48e5a61b509d1a3dd86f
04:51 Kapace not my proudest stuff here :/
04:55 cotto running coverage tests now.  It'll be a while
04:55 Kapace ok thanks, cotto
04:55 Kapace oh, and I brought my can of applause
04:55 Kapace I should wait until it's over :P
04:57 Kapace so pirate is python on parrot? I'll probably want to look at that later
04:59 cotto Kapace, that pirate is defunct.  Pynie is the current Python on Parrot implementation.  PIRATE is a PIR->pbc compiler written in nqp-rx.
05:16 cotto Kapace, I see about a 10% increase.
05:19 Kapace alright, so theres one method that when I try to call it, it hangs
05:19 Kapace line 134, load_lib
05:21 Kapace but other than that, I can't cover 167 since if the opcode is invalid an exception is raised before http://tapir2.ro.vutbr.cz/cover/latest-c_cov​er/src-pmc-packfilebytecodesegment-pmc.html
05:24 cotto Kapace, that method is in the wrong place.  I'm going to delete it.
05:24 bacek_at_work Kapace, remove lines 167-170. PackfileOpMap never return -1.
05:24 cotto PackfileOpMap is responsible for loading libraries
05:24 Kapace oh ok
05:25 bacek_at_work cotto, no. Please keep method here :)
05:25 cotto ok.
05:25 cotto It should be more paranoid though.  I'll add a null check for the opmap.
05:26 bacek_at_work op_map is created in .init
05:26 bacek_at_work You don't have to check it all the time
05:26 cotto wait.  How does PFBCS.load_lib even work?  It looks like it calls itself in an infinite loop.
05:27 bacek_at_work Ah. This one should be killed
05:27 bacek_at_work Line 167 is from .push_pmc
05:28 bacek_at_work cotto, I added .opmap and call PFBCS.opmap.load_lib()
05:28 bacek_at_work We can add shortcut here but I don't think it's necessary.
05:30 cotto on phone. bbs
05:37 dalek parrot: d3e1e52 | bacek++ | t/pmc/float.t:
05:37 dalek parrot: Bump Float PMC test coverage to 100%.
05:37 dalek parrot: review: https://github.com/parrot/parrot/commit/d3e1e52780
05:43 cotto bacek++
05:45 rurban_ joined #parrot
05:45 Kapace whats the most violent way to kill a proccess? -9?
05:46 cotto bacek_at_work, is pfbcs.load_lib really broken or am I missing something?
05:46 cotto Kapace, yes
05:46 khairul joined #parrot
05:46 khairul left #parrot
05:48 rurban left #parrot
05:48 rurban_ is now known as rurban
05:48 Kapace it won't die!!
05:49 cotto 11 (SEGV) might work
05:49 cotto but it might be a zombie
05:54 plobsing find the parent, kill the parent, somewhere along the line something will handle its child processes appropriately. that's all init really does.
05:56 Kapace ended up unplugging the device, process then died, although ^ would be better
05:58 plobsing that works too I guess
06:00 bacek_at_work cotto, yes, it's broken. Just kill it
06:00 Kapace can i do the killing?
06:02 bacek_at_work Kapace, go for ti
06:05 Kapace cool: https://github.com/kapace/parrot/commit/​d94e132f002dc4e4255d2f66dc1f4ccb564dafde
06:07 cotto Kapace, you need to send in a cla so we can get you a commit bit
06:08 Kapace meh, I probably won't commiting too much, just every now and then
06:08 Kapace plus I like the extra eyes going over my code :)
06:11 Kapace cotto: that gets coverage up to 95.9
06:11 plobsing Kapace: don't worry, more people read parrot's commits than you'd think
06:11 Kapace actually in the latest result, one more line is covered
06:12 cotto Kapace, great.  Submit your task and we'll call it complete.
06:14 cotto Eliminating useless code is a valid way to increase coverage.
06:15 Kapace ok done..
06:16 cotto and done
06:17 cotto Kapace, did load_lib hang instead of segfaulting?
06:17 Kapace yes
06:17 Kapace well, prove kills it after 3 seconds, but make test just hanged
06:18 plobsing is there a way to have an exception handler pass an exception upwards to the next exception handler while maintaining the original backtrace?
06:18 cotto tco ftw
06:20 plobsing I have difficulty classifying that as a "win"
06:21 contingencyplan joined #parrot
06:22 cotto well, the tco worked, even if it was for a stupid use case.
06:24 plobsing a segfault would have been a better way of failing
06:26 plobsing but I do like that we are stackless in some sense
06:26 cotto yeah
06:28 cotto Kapace, let me know if you want to try any other tasks
06:28 Kapace actually yeah
06:28 Kapace I was just thinking
06:29 Kapace but I'm not sure which
06:29 cotto the Class task looks like the most valuable point-wise
06:30 Kapace but I doubt I have the time for it, way too  many lines
06:30 Kapace im thinking the research task
06:31 Kapace (since its easy, shouldn't been too in depth?)
06:32 cotto looking at removing auto::jit would be helpful
06:32 Kapace I was thinking mappedbytearry, but that too
06:34 cotto plobsing, nice addition on debugging random failures.  I think we should have a separate file that kind of info, though.
06:37 NotFound Kapace: mappedbytearray coverage can be tricky, there is a lot of #ifdef in it
06:37 Kapace NotFound: oh, its not a coverage task, its the research one
06:37 Kapace for mappedbytearray on windows
06:38 NotFound Sorry, I'm just awakening :O
06:42 cotto plobsing++ for nuking num keys
06:44 cotto that removes a nice chunk of confusing and misleading code
07:20 contingencyplan left #parrot
07:23 dukeleto ~~
07:23 dukeleto 37 minutes until GCI is over!
07:23 cotto quite the wild ride
07:26 dukeleto cotto: indeed :)
07:27 stilgar left #parrot
07:29 cotto msg nwellnhof In your platform_src branch, shouldn't auto::platform fail if there's no appropriate file for a platform?
07:29 aloha OK. I'll deliver the message.
07:33 dukeleto Kapace: howdy
07:33 dukeleto Kapace: you working on a task?
07:42 kapace_ dukeleto, hey there
07:42 kapace_ dukeleto,  not really, gave up..
07:46 dukeleto kapace_: no! there is still time...
07:46 kapace_ not enough :/
07:46 cotto dukeleto, be nice
07:46 cotto I'm not sure I'd accept a gci task done in 14 minutes.
07:46 dukeleto cotto: yeah, i guess your right
07:47 dukeleto kapace_: you did some awesome work, and I hope you stick around :)
07:47 * cotto too
07:47 dukeleto kapace_: also, definitely apply to Google Summer of Code
07:47 kapace_ yeah, just have to catch up with school work
07:47 kapace_ dukeleto, thanks, I will definetly try
07:47 dukeleto kapace_: and if you need a letter of recommendation or something, just ask
07:48 kapace_ right, well this seems about the right time..
07:48 kapace_ I'd like to thanks the mentors of Parrot for GCi
07:48 dukeleto It is interesting to see the GCI tasks that didn't get finished.
07:48 kapace_ cotto, dukeleto to name a few
07:48 kapace_ I have learned a lot and it has been a great expirience :)
07:49 * kapace_ opens the can of canned applause
07:49 cotto kapace_, you're welcome.
07:50 dukeleto kapace_: i must say, you GCI students blew away my expectations
07:50 cotto kapace_, if you're bored, you can completely rip out share_ro in your branch.  I'm fairly sure it has no redeeming value.
07:50 tadzik wow, there aren't too many remaining tasks
07:51 kapace_ cotto, yeah sounds like a good idea
07:51 dukeleto +1 to killing share_ro
07:51 kapace_ ill try to get to it tommrow, just going to hang around for 9 minutes and fall asleep
07:52 tadzik now, where did the t-shirt tasks go?
07:52 dukeleto tadzik: they got completed, but they weren't great
07:52 cotto yeah.  I don't think we'll be doing those again next year.
07:52 tadzik hmm, I didn't even get any notice, weird
07:53 cotto Melange is wonky on all fronts.
07:53 bacek aloha, humans
07:53 tadzik o/
07:54 dukeleto looks like bit dynops tests are still failing on 64bit
07:54 tadzik nevertheless, I plan to complete the remaining code-related GCI task after it's over ;)
07:54 dukeleto cotto: yeah, melange usually goes down around any deadline
07:54 cotto dukeleto, it was a general statement
07:55 cotto It actually doesn't look much worse than normal atm.
07:57 dukeleto cotto: purely by chance :)
07:57 cotto likely as not
08:00 kapace_ well, Good night #parrot, see you again soon
08:01 cotto 'night kapace_
08:01 tadzik 'night
08:01 tadzik GCI's over?
08:01 cotto 2 minutes ago
08:01 dukeleto GCI is Done.
08:02 dukeleto and we survived, to boot.
08:05 rfw thanks cotto, dukeleto and everyone at #parrot for GCI :D
08:06 cotto rfw, thanks for being insanely productive
08:06 rfw cotto: i hope you have nice dreams about me now, instead of nightmares or sandwiches
08:07 cotto ...
08:07 rfw what, let me find it
08:07 cotto a waffle sandwich sounds pretty good
08:07 cotto I know what you're talking about.
08:07 rfw oh good
08:07 rfw i thought i scared you
08:12 dukeleto mmmm, waffles.
08:12 * dukeleto goes to sleep
08:18 cotto 'night
08:19 dalek parrot/nqp_pct: 2e20a9f | bacek++ | compilers/pct/src/POST/ (3 files):
08:19 dalek parrot/nqp_pct: Move %!paramfmt into Sub.pm
08:19 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/2e20a9f0fd
08:19 dalek parrot/nqp_pct: ea734bc | bacek++ | compilers/pct/src/POST/ (3 files):
08:19 dalek parrot/nqp_pct: Quick hack to move last method into Sub.pm
08:19 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/ea734bc6e3
08:19 dalek parrot/nqp_pct: cf6de38 | bacek++ | compilers/pct/ (4 files):
08:19 dalek parrot/nqp_pct: Add POST::Ops.pm
08:19 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/cf6de386fc
08:19 dalek parrot/nqp_pct: 82b83fd | bacek++ | compilers/pct/ (4 files):
08:19 dalek parrot/nqp_pct: Split POST/Nodes.pir with only includes of other .pir files
08:19 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/82b83fd94b
08:19 dalek parrot/nqp_pct: e3d865b | bacek++ | compilers/pct/src/POST/Node.p (2 files):
08:19 dalek parrot/nqp_pct: Migrate POST::Node to NQP
08:19 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/e3d865b053
08:23 cotto http://reparrot.blogspot.com/2011​/01/thanks-code-in-students.html
08:43 bacek cotto++ # good post
08:45 cotto thanks.  now, sleep
08:49 fperrad joined #parrot
09:01 theory left #parrot
09:27 rfw left #parrot
10:39 wagle left #parrot
11:04 whiteknight joined #parrot
11:32 dalek parrot: 9b4a1f2 | mikehh++ | include/parrot/key.h:
11:32 dalek parrot: run make headerizer to fix missing ASSERT_ARGS (removed functions)
11:32 dalek parrot: review: https://github.com/parrot/parrot/commit/9b4a1f2257
11:36 mikehh getting some test failures (64 bit) - t/dynoplibs/bit.t - Failed tests:  136-137, 139 and t/library/sha.t - Failed tests:  1-6
11:59 whiteknight left #parrot
12:25 mikehh left #parrot
12:26 Coke I had mikehh's failure's also.
12:36 dalek nqp-rx: cb33a76 | bacek++ | src/setting/ResizablePMCArray.pm:
12:36 dalek nqp-rx: Remove redundant pirop signatures. PAST::Compiler is smart enough to handle it as is.
12:36 dalek nqp-rx: review: https://github.com/perl6/nqp-rx/commit/cb33a762c3
12:36 dalek nqp-rx: f11a416 | bacek++ | / (2 files):
12:36 dalek nqp-rx: Properly handle unscoped multi methods/subs
12:36 dalek nqp-rx: review: https://github.com/perl6/nqp-rx/commit/f11a416625
12:38 dalek nqp-rx: b1a8289 | bacek++ | src/stage0/ (4 files):
12:38 dalek nqp-rx: Rebootstrap files
12:38 dalek nqp-rx: review: https://github.com/perl6/nqp-rx/commit/b1a8289a4f
12:39 dalek parrot: 420c909 | bacek++ | ext/nqp-rx/src/stage0/ (4 files):
12:39 dalek parrot: Update nqp-rx with fixes for unscoped multi methods handling
12:39 dalek parrot: review: https://github.com/parrot/parrot/commit/420c909d1d
12:40 mikehh joined #parrot
12:45 bacek left #parrot
13:03 woosley joined #parrot
13:09 bacek joined #parrot
13:12 bacek *incoming*
13:12 dalek parrot/nqp_pct: 9b4a1f2 | mikehh++ | include/parrot/key.h:
13:12 dalek parrot/nqp_pct: run make headerizer to fix missing ASSERT_ARGS (removed functions)
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/9b4a1f2257
13:12 dalek parrot/nqp_pct: 92f00a2 | bacek++ | compilers/pct/ (4 files):
13:12 dalek parrot/nqp_pct: Start moving POST::Compiler to nqp
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/92f00a25f6
13:12 dalek parrot/nqp_pct: 70bcb32 | bacek++ | compilers/pct/src/POST/Compiler (3 files):
13:12 dalek parrot/nqp_pct: .hll_pir
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/70bcb32ea8
13:12 dalek parrot/nqp_pct: 631fe33 | bacek++ | compilers/pct/src/POST/Compiler (2 files):
13:12 dalek parrot/nqp_pct: .escape & .key_pir
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/631fe33531
13:12 dalek parrot/nqp_pct: 81a7569 | bacek++ | compilers/pct/src/POST/Compiler (3 files):
13:12 dalek parrot/nqp_pct: .to_pir
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/81a7569ca5
13:12 dalek parrot/nqp_pct: 15e18c7 | bacek++ | compilers/pct/src/POST/Compiler (3 files):
13:12 dalek parrot/nqp_pct: .pir_children
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/15e18c79a2
13:12 dalek parrot/nqp_pct: 3b9fbf3 | bacek++ | compilers/pct/src/POST/Compiler (3 files):
13:12 dalek parrot/nqp_pct: .pir(Any)
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/3b9fbf33a7
13:12 dalek parrot/nqp_pct: 420c909 | bacek++ | ext/nqp-rx/src/stage0/ (4 files):
13:12 dalek parrot/nqp_pct: Update nqp-rx with fixes for unscoped multi methods handling
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/420c909d1d
13:12 dalek parrot/nqp_pct: 848164d | bacek++ | / (98 files):
13:12 dalek parrot/nqp_pct: Merge branch 'master' into nqp_pct
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/848164dad4
13:12 dalek parrot/nqp_pct: ce81731 | bacek++ | compilers/pct/src/POST/ (25 files):
13:12 dalek parrot/nqp_pct: Remove useless 'our' from multimethods
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/ce81731914
13:12 dalek parrot/nqp_pct: 13d69fc | bacek++ | compilers/pct/src/POST/Compiler (3 files):
13:12 dalek parrot/nqp_pct: .pir(Op) and .pir(Label)
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/13d69fc052
13:12 dalek parrot/nqp_pct: f7efe98 | bacek++ | compilers/pct/src/POST/Compiler (3 files):
13:12 dalek parrot/nqp_pct: .pir(Sub)
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/f7efe982a0
13:12 dalek parrot/nqp_pct: c4417e6 | bacek++ | compilers/pct/ (5 files):
13:12 dalek parrot/nqp_pct: Final switch POST::Compiler to 'nqp' version
13:12 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/c4417e6a0b
13:17 bacek seen pmichaud
13:17 aloha pmichaud was last seen in #perl6 2 days 11 hours ago saying "excellent.".
13:17 moritz does rakudo work on the nqp_pct branch?
13:19 bacek moritz, dunno. But it should be. I didn't introduce new functionality (yet)
13:19 moritz would be a good test case :-)
13:20 bacek running "git pull & make test" now :)
13:20 * moritz tries
13:21 bacek moritz, if you are bored you can actually convert POST::Compiler to nqp. I kinda cheated :)
13:21 moritz bacek: no boredom here
13:21 bacek sigh... When we can have next GCI?
13:25 Drossel joined #parrot
13:25 Kulag left #parrot
13:29 * Coke tries to imagine pmichaud saying "excellent" in the smithers voice and fails.
13:29 Coke bacek: how you doing?
13:31 bacek Coke, much better than on 1st of January :)
13:33 bacek holy... It's 12:30 already. Good night, folks. Time to get some sleep.
13:37 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#2175) fulltest) at 2_11_0-905-g420c909 - Ubuntu 10.10 i386 (g++-4.5)
13:40 Coke good night, robot.
13:42 mikehh Coke: can you have a look at html_cleanup branch, I think it's ready to merge
13:42 arnsholt Coke: I think the reason is that it's Mr. Burns that says "eeeeexcellent", not Smithers ;)
13:42 moritz bacek: t/spec/S06-advanced_subroutine_features/recurse.rakudo faisl 8 tests with rakudo on pct_nqp branch
13:44 Coke arnsholt: brain-o.
13:44 arnsholt I figured =)
13:44 darbelo joined #parrot
13:45 * mikehh got to go out for a spell - bbl
13:45 rurban_ joined #parrot
13:48 rurban left #parrot
13:48 rurban_ is now known as rurban
13:51 moritz bacek: lots of failures actually
14:00 contingencyplan joined #parrot
14:16 whiteknight joined #parrot
14:16 whiteknight good morning, #parrot
14:16 krunen left #parrot
14:17 krunen joined #parrot
14:18 plobsing left #parrot
14:19 Drossel left #parrot
14:19 Kulag joined #parrot
14:29 whiteknight msg moritz: when you get a chance can you review TT #1833? We've changed the error message and I want to see if it satisfies your requirements.
14:29 aloha OK. I'll deliver the message.
14:32 whiteknight msg cotto can you look at TT #1298 and see if it is still worth doing? I suspect it is not, but I don't want to close it as WONTFIX without a second set of eyes.
14:32 aloha OK. I'll deliver the message.
14:36 dalek TT #1091 closed by whiteknight++: ExceptionHandlers should be Subs
14:36 dalek TT #1091: http://trac.parrot.org/parrot/ticket/1091
14:49 whiteknight msg cotto: Also, can you take another look at TT #1020? I think we should close that ticket as WONTFIX and plan for some of these issues to fall out of the Lorito refactors.
14:49 aloha OK. I'll deliver the message.
14:50 atrodo Looks like whiteknight is trac busy
14:50 moritz whiteknight: "er the message.
14:50 moritz sorry
14:51 moritz copy&paste fail
14:51 moritz "Version %d.%d of config hash is invalid, expected %d.%d. You're probably linking against an incompatible libparrot. "
14:51 whiteknight :)
14:51 moritz as a user, I'm really interested in the file name of the .pbc file that caused the error
14:51 moritz is that also included?
14:52 whiteknight moritz: no, not at the moment. If the input bytecode is coming from a string or array, it won't have a file
14:53 whiteknight but, I can add a case where we take the file name, and include that in the details
14:53 whiteknight moritz: add that request to the ticket
14:53 dalek TT #552 closed by whiteknight++: Evaluate all hack-identifying comments in source code
14:53 dalek TT #552: http://trac.parrot.org/parrot/ticket/552
14:53 moritz whiteknight: I ask for the file name in the error message in the original ticket
14:53 moritz "This error message should include the name of the file that caused this error; otherwise it is very hard to figure out which file caused the problem."
14:54 moritz is that not enough?
14:54 whiteknight oh, i didn't see that
14:54 whiteknight okay
15:01 woosley left #parrot
15:07 Patterner left #parrot
15:07 Psyche^ joined #parrot
15:07 Psyche^ is now known as Patterner
15:15 PacoLinux joined #parrot
15:21 tadzik ~
15:23 davidfetter left #parrot
15:26 plobsing joined #parrot
15:56 mj41 /msg bacek Working on proper Git support. See http://tapir1.ro.vutbr.cz:​2000/buildstatus/pr-parrot . You can also join irc://irc.freenode.org/taptinder
15:56 mj41 \msg bacek Working on proper Git support. See http://tapir1.ro.vutbr.cz:​2000/buildstatus/pr-parrot . You can also join irc://irc.freenode.org/taptinder
15:57 whiteknight mj41++
15:57 whiteknight mj41: Do you need any extra hands with your work? We want taptinder so badly that you would have volunteers
15:58 mj41 whiteknight: It isn't easy http://tapir1.ro.vutbr.cz:2000/dbdoc/schema.png . But I would welcome any help.
16:00 mj41 whiteknight: I'm probably doing many ugly Catalyst hacks.
16:00 tadzik msg mj41 that's how you use msg
16:00 aloha OK. I'll deliver the message.
16:01 mj41 There is also https://github.com/mj41/TapTinder/issues , but not too detailed.
16:01 mj41 msg bacek Working on proper Git support. See http://tapir1.ro.vutbr.cz:​2000/buildstatus/pr-parrot . You can also join irc://irc.freenode.org/taptinder
16:02 aloha OK. I'll deliver the message.
16:05 theory joined #parrot
16:11 plobsing left #parrot
16:20 plobsing joined #parrot
16:24 hercynium joined #parrot
16:48 darbelo left #parrot
16:54 dalek parrot: 88e9072 | plobsing++ | / (20 files):
16:54 dalek parrot: Merge branch 'platform-encoding'
16:54 dalek parrot: review: https://github.com/parrot/parrot/commit/88e9072367
16:58 fbrito joined #parrot
17:04 fbrito ~~
17:06 whiteknight good morning, fbrito
17:07 fbrito why can I still claim tasks on GCI? isn't it over? :P
17:08 whiteknight i don't knpw
17:08 whiteknight know
17:09 tadzik it's over
17:09 tadzik Google says: all work stops
17:10 tadzik maybe melange just fails at it ;)
17:11 whiteknight can't be! melange never fails at anything
17:17 darbelo joined #parrot
17:26 plobsing left #parrot
17:26 bacek left #parrot
17:26 cotto whiteknight, 1298 still sounds like a good idea if someone finds tuits for it.
17:28 cotto I'll need to look at 1020 when doing Lorito planning.  Some of it is likely worth using.
17:29 cotto I'm glad we did gci, but I'm very glad it's over.
17:30 cotto now, back to normalesque
17:37 Kristaba joined #parrot
17:37 bacek joined #parrot
17:38 whiteknight yes, GCI was awesome but exhausting
17:39 dukeleto ~~
17:39 dukeleto whiteknight: i have some questions for you about the new embed api
17:39 whiteknight dukeleto: sure. What's up?
17:40 dukeleto whiteknight: how is extend_vtable.h related to your new embed api? I notice that api.h does not include extend_vtable.h  .
17:40 whiteknight extend_vtable.h, and related extend_vtable.c are the old API
17:40 whiteknight they aren't used by the new API
17:40 dukeleto whiteknight: ok
17:40 dalek tracwiki: v32 | cotto++ | CottoTasklist
17:40 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Cot​toTasklist?version=32&action=diff
17:40 dukeleto whiteknight: so extend_vtable.(c|h) are going away
17:40 whiteknight the goal is to sheild end users from words like "vtable", etc
17:41 dukeleto whiteknight: well, that is good to know, since my current TPF grant is increase test coverage on extend_vtable
17:41 Coke I was bummed that all the individual code coverage increases were only 3.5% all told.
17:41 Coke IWBN to note as an update what the before/after percentages were.
17:41 dukeleto whiteknight: perhaps I can change directions and increase code coverage on the new api
17:41 whiteknight dukeleto: we do need access to vtables from extending applications still
17:41 whiteknight so that file might want to stay, with tweaks, for that purpose
17:42 whiteknight but the new embedding API will be using a different and more abstracted interface for PMC operations
17:42 * Coke sees that checkdepend.t is skipping files again.
17:42 dukeleto whiteknight: interesting.
17:42 Coke can someone open a ticket for tht?
17:44 Coke meh, I'll do it.
17:44 dukeleto whiteknight: for example, how do I push an element onto a RPA in the new embed api?
17:46 dalek parrot: 8427455 | Coke++ | t/src/checkdepend.t:
17:46 dalek parrot: Add ticket for todo.
17:46 dalek parrot: review: https://github.com/parrot/parrot/commit/8427455d09
17:50 * Coke wonders why some branches are being merged as individual commits and others as single merge commits.
17:50 * Coke guesses "just becauses"
17:53 whiteknight dukeleto: At the moment, there is no API for many operations, such as push
17:53 whiteknight dukeleto: we want to add them, but there hasn't been a demand yet
17:53 dukeleto whiteknight: ok, just clarifying
17:54 dukeleto whiteknight: so my tests for extend_vtable.h will be useful, when that functionality is implemented in the new API
17:54 Coke ... why not expose the vtables again?
17:54 dukeleto whiteknight: in the sense of "here is what the old api could do"
17:54 whiteknight dukeleto: What we don't want is to have ~200 PMC operations as separate API calls, because so many of those are lower-level than the user needs to care about
17:55 Coke (if the goal is to hide them, then it seems like the "right" thing to do would be to allow invocation of opcodes, since that's how a PIR user would get at that functionality)
17:55 whiteknight Coke: we want the embedding API to be more stable, and exposing all sorts of low-level interfaces like that is asking for trouble
17:55 dukeleto whiteknight: PL/Parrot needs to be able to push and pop PMCs from a ResizablePMCArray
17:55 whiteknight dukeleto: Noted. I'll add those methods ASAP
17:55 cotto_work ~~
17:55 dukeleto cotto_work: nice blog post about GCI
17:56 whiteknight dukeleto: I'll set up a fork of PL/Parrot and start updating to the new API, adding interfaces as necessary
17:56 Coke whiteknight: do you not expect anyone but core parrot to be able to use vtables?
17:56 whiteknight Coke: extenders can and should use them
17:56 whiteknight Coke: but the word "vtable" should not be in the mind of the embedder. It's too low-level
17:56 whiteknight we can provide friendly wrappers around many of the vtables if needed
17:57 dalek TT #1944 created by coke++: t/src/checkdepend.t should not skip thr_ files.
17:57 dalek TT #1944: http://trac.parrot.org/parrot/ticket/1944
17:57 whiteknight but a general, automagical code generator to create wrappers for all vtables is really out of the question
17:58 whiteknight Coke: What the API wants to do is provide the capabilities of Parrot in a way that doesn't expose Parrot internals, Parrot architecture, etc.
17:58 Coke doesn't sound quite right to me, but IANAembedder. (Is partcl considered an extender?)
17:58 dukeleto whiteknight: you have a commit bit to PL/parrot, you can probably just make a branch
17:58 whiteknight Coke: partcl is an extender, not an embedder. Right.
17:58 dukeleto whiteknight: but whatever works for you
17:58 whiteknight dukeleto: Ah, that's much easier
17:59 whiteknight Coke: When you think about all the big subsystems we've refactored in the past, and all the ones we want to do in the future, and all the times Parrot has "broken" things like partcl because of well-meaning changes, we really want something more stable for people to use and rely on
17:59 Coke dukeleto: are you currently the only parrot person with keys to the gcc farm?
18:00 Coke whiteknight: I'd settle for functional at this point. <shrug>
18:01 Coke dukeleto: or rather, is your access somehow tied to the parrot foundation, or can anyone from parrot sign up?
18:01 whiteknight Coke: The new embedding API is very functional. And stable. And it was designed in such a way that we could completely rewrite a lot of stuff in Parrot and not affect it's stability
18:01 cotto_work dukeleto: thanks
18:02 cotto_work seen yuki`n
18:02 aloha yuki`n was last seen in #parrot 15 hours 58 mins ago saying "'Night all.".
18:04 whiteknight I sincerely hope that some of those GCI students stay on as regular contributors
18:06 whiteknight I sincerely hope that some of them go on to become GSoC students
18:07 dukeleto cotto_work: anybody can ask for access and I am currently the only one with access
18:07 cotto_work dukeleto: to what?  gcc compile farm?
18:07 mikehh there are a bunch of build error in latest parrot with g++
18:08 * cotto_work has the memory of a goldfish
18:08 Coke cotto_work: he was probably talking to me. He can't seem to keep us straight.
18:08 dukeleto Coke: anybody can ask for access and I am currently the only one with access
18:08 whiteknight you mean Coke and cotto_work aren't the same person?
18:08 dukeleto cotto_work: sorry, tab-complete fail
18:08 whiteknight mind = blown
18:08 cotto_work Coke: I know the feeling.  Half the time I think you're me.
18:08 Coke That's got to be rough on me.
18:09 Coke is now known as cokke_work
18:11 whiteknight cotto_work: is the opmap_aware_pmc branch able to be deleted? It was merged, but the branch is still there
18:11 sri is now known as srilicious
18:11 cotto_work whiteknight: verify with bacek but I think the answer is that it's safe to nuke.
18:11 cotto_work He's taken it over with his robot-like efficiency.
18:12 whiteknight He is truely a gentleman and a scholar
18:12 cotto_work a gentlebot and a scholarbot
18:12 whiteknight msg bacek the opmap_aware_pmc branch was merged. Can we delete it from github? Thanks
18:12 aloha OK. I'll deliver the message.
18:13 whiteknight msg plobsing the platform-encoding branch was merged, can we delete it from github? Thanks
18:13 aloha OK. I'll deliver the message.
18:13 whiteknight I really want to continue Tene's work on the exceptions refactor stuff. I don't think his branch is salvagable, but there isn't too much stuff in there
18:16 dukeleto fbrito: students are still submitting tasks? What kind of insanity is this?
18:17 Tene whiteknight: the patches themselves are pretty small; it would be pretty simple to re-do.
18:17 cotto_work dukeleto: I guess it's good enough for melange to disable mentor and admin access to task manipulation
18:18 dukeleto cotto_work: students are still getting points, so something is wrong
18:18 dukeleto cotto_work: fbrito notes that someone just bumped someone else out of the 10th spot
18:18 cotto_work whiskey tango foxtrot
18:18 dukeleto cotto_work: there could be riots in the streets
18:22 cotto_work Google clearly didn't put their A team on gci.
18:23 kurahaupo joined #parrot
18:25 whiteknight don't go criticizing google
18:25 whiteknight anything they do or provide is 100% more than we would have had otherwise
18:25 cotto_work This is true.
18:25 cotto_work thanks for the perpective
18:25 cotto_work *perspective
18:26 cotto_work There are annoying inconsistencies and UI problems, but gci has definitely been an overall win.
18:27 whiteknight the first GCI is definitely a learning process
18:27 whiteknight and I'm not exactly volunteering to help fix melange myself
18:27 Tene whiteknight: additionally, if you have any questions about the work in that branch, just ask me, and I'm glad to chat about it.
18:28 whiteknight if somebody is submitting tasks after the deadline, and those points are changing the list of "winners", that is a problem
18:28 dukeleto This "first GCI" is actually the second time this contest has existed. It was called "Google Highly Open Participation Contest" before
18:28 dukeleto whiteknight: that is what I hear. fbrito says that the #10 spot just changed
18:28 whiteknight Tene: Will do. I've been looking at the changeset, doesn't look hard. Changing most of the vtable->base_type checks to VTABLE_isa checks would be a big help
18:28 dukeleto but this is the first year it was called "Google Code-In"
18:28 * dukeleto was not involved in the first year (GHOP)
18:28 whiteknight Tene: This is the changeset according to github: https://github.com/parrot/parrot/compa​re/master...exceptions_refactor#diff-3
18:29 cotto_work Out of the top 10 students, 8 appear to have completed tasks after the deadline.  I'm not entirely sure what it means though, since some of the dates are in the future.
18:29 dukeleto good lord.
18:30 cotto_work http://socghop.appspot.com/gci/student_ra​nking/show_details/google/gci2010/aoihana
18:32 whiteknight that's a lot of Romanian!
18:32 whiteknight did that student write any code?
18:33 * dukeleto contacts Carol Smith
18:33 Tene whiteknight: that part was easy. The only actual problem I ran into with it was dealing with two separate sets of storage for instances of subclasses.
18:33 whiteknight Tene: what do you mean?
18:34 Tene whiteknight: depending on which set of vtables I used to access attributes, I'd get a different attribute storage.
18:34 Tene I don't remember the details there, lemme look at the changeset.
18:35 dukeleto The melange devs are telling me that they will remove any points/tasks completed by students after the GCI deadline
18:35 cotto_work ok.  I figured there'd be a mop-up operation.
18:35 dukeleto there is almost always some timezone/time-of-day issues with deadlines
18:35 cotto_work Where are they hanging out?  I'd like to say thanks.
18:35 dukeleto cotto_work: #melange on freenode
18:36 Tene whiteknight: do you see the places I changed set_attr_str to set_pmc_keyed_str?
18:36 Tene erm, one place.
18:36 Tene There were a few issues like that that I still wanted to track down.
18:38 Tene Somehow, if I directly called {get,set}_attr, I'd be accessing a different place than if I used {get,set}_*_keyed, which just called {get,set}_attr
18:38 whiteknight weird
18:39 whiteknight Tene: Are there any specific test cases you were working on? Do you have any tests that currently fail but should pass?
18:39 Tene I had a test I wrote, where I instantiated a subclass of exception, set_attr ex, 'msg', 'a'; ex['msg'] = 'b'; $S0 = get_attr ex, 'msg'; $S1 = ex['msg'];
18:39 Tene $S0 was 'a', $S1 was 'b'
18:40 whiteknight Tene: okay. that seems easy
18:40 Tene Nobody could offer me any help with that, so I just standardized everything to use the same interface, or something.
18:40 cotto_work who broke the build?
18:40 whiteknight okay
18:40 srilicious is now known as sri
18:40 dukeleto From Carol Smith (the GCI coordinator): No, you cannot work on further tasks. However, students that submitted work before the deadline can still have mentors approve their tasks now and therefore still gain points and move around in the rankings.
18:41 dukeleto so some mentors are still getting around to reviewing submitted tasks
18:41 Tene whiteknight: I don't think that's a critical issue, as long as basic operations all work.  The only issue is if there are codepaths somewhere where someone passes in an instance of a subclass, and it uses the wrong storage location.
18:42 Tene and whether it's possible for users to write code that works with exceptions, but not with subclasses.
18:43 Tene That sort of concern was why I never merged it in; I wanted some feedback on whether this behaviour was expected, whether it was a bug or not, etc.
18:47 plobsing joined #parrot
18:50 NotFound whiteknight: I think we can't fully fix the subclassing problems without rethinking and reworking the attributes access.
18:50 TiMBuS left #parrot
18:57 whiteknight NotFound: Not completely. But I do think we can get things working much better than they are working now
19:00 plobsing ~~
19:03 plobsing while we're talking about exceptions, do we have a mechanism for exception handlers to rethrow the exception *without* updating the backtrace? if not, we really should. I've been frustrated by this too many times already.
19:05 NotFound We have the rethrow opcode, but is deprecated, isn't it?
19:06 moritz can't it be a method?
19:06 plobsing NotFound: I tried that. it didn't help.
19:06 NotFound If we need it, we can undeprecate and fix.
19:06 whiteknight plobsing: Open a ticket for that and assign it to me
19:07 NotFound We can also use the can_handle method on the handler, but that way needs subclassing
19:07 whiteknight As part of the embedding API work I changed it so that the backtrace printer outputs a STRING instead of printing it right to stderr. I can cache that on rethrow and keep long compound histories now
19:08 plobsing but rethrow from within parrot shouldn't hit the embedding API
19:08 plobsing also backtraces within parrot are arrays, not strings
19:09 moritz array sounds find
19:10 cokke_work there's already a ticket for that exception request. moment.
19:10 cokke_work is now known as Coke
19:11 Coke http://trac.parrot.org/parrot/ticket/1283
19:12 Coke assigned it to whiteknight.
19:12 plobsing yes. that is *exactly* what I'm asking for.
19:12 Coke plobsing: welcome to Oct 2008. :P
19:12 whiteknight Coke++
19:13 plobsing the current behaviour makes debugging Ωη grammars (which use exceptions for failures) very painful
19:13 whiteknight plobsing: I'll try to get this implemented ASAP
19:13 Coke be sure to read the original thread on RT also, as allison seems to have a slightly different idea on resolving it.
19:13 whiteknight I would like it in for 3.0
19:13 whiteknight Coke; will do
19:14 Coke /to have/to have had/, anyway.
19:17 NotFound So rethrow is not deprecated? I can't find a ticket for that, maybe it was not ported from RT,
19:18 whiteknight I don't think rethrow is deprecated
19:18 plobsing what does that mean for the proposed changes?
19:18 whiteknight and if I am going to be adding behavior to it to provide better backtraces, I don't think it should be
19:18 Coke it's not deprecated.
19:19 Coke SFAIK.
19:19 Coke especially since it doesn't do the same thing that throw does, even if it's not the different thing Pm & plobsing & I expected.
19:26 plobsing left #parrot
19:33 plobsing joined #parrot
19:54 NotFound rethrow just sets the unhandled state in the excpetion and calls Parrot_ex_throw_from_op
19:54 whiteknight right
19:54 whiteknight I'm going to push a few exploratory commits here in a minute
19:59 dukeleto bit dynop tests are still failing on 64bit
19:59 dukeleto http://smolder.parrot.org/app​/projects/report_details/2179
20:00 * dukeleto goes for a run
20:14 cotto_work Is the build broken for anyone else?
20:16 plobsing those tests fail for me as well
20:16 whiteknight cotto_work: I don't know. I'll try it in a second
20:21 dalek parrot/exception_backtraces: 3c6f7d0 | Whiteknight++ | src/ (3 files):
20:21 dalek parrot/exception_backtraces: rethrow caches the old backtrace.
20:21 dalek parrot/exception_backtraces: review: https://github.com/parrot/parrot/commit/3c6f7d0e2f
20:21 dalek parrot/exception_backtraces: 0bc55ee | Whiteknight++ | src/exceptions.c:
20:21 dalek parrot/exception_backtraces: +docs
20:21 dalek parrot/exception_backtraces: review: https://github.com/parrot/parrot/commit/0bc55ee26c
20:21 dalek parrot/exception_backtraces: 0a4f093 | Whiteknight++ | / (4 files):
20:21 dalek parrot/exception_backtraces: build fixes
20:21 dalek parrot/exception_backtraces: review: https://github.com/parrot/parrot/commit/0a4f093427
20:24 cotto_work I'm bisecting now
20:30 NotFound The algorithm for the rot op looks odd for me.
20:31 dalek parrot: 62b8c4e | plobsing++ | src/ (2 files):
20:31 dalek parrot: use platform strings in directory read
20:31 dalek parrot:
20:31 dalek parrot: PARROT_EXPORT must be used  because OS is a dynpmc
20:31 dalek parrot: review: https://github.com/parrot/parrot/commit/62b8c4e679
20:32 NotFound plobsing: WTF is a platform string?
20:32 plobsing it is platform-specific-encoded string
20:33 plobsing on windows, probably utf-16. on linux, probably utf-8, but also possibly latin-1 or ascii.
20:33 cotto_work https://github.com/parrot/parrot/commit/​9cc3acec9a53eda6e558a25ca4be7e94e7d870fe is the culprit
20:33 cotto_work that one breaks the build on my box
20:33 NotFound plobsing: I can have names utf8 encoded and names iso-8859-1 encoded. With that change, such directory can't be read.
20:33 plobsing NotFound: unicode-aware applications should respect the locale
20:34 NotFound plobsing: reading directories shouldn't fail for such reason.
20:35 plobsing working with strings coming from directories shouldn't fail because we guess about the encoding. locale is the way the user tells its programs how to interpret file names (among other things).
20:35 NotFound plobsing: and the locale is choosen by the user, not
20:35 NotFound not by the system as a whole
20:36 plobsing cotto_work: that one appears to be mine. what is the error message and what platform are you on?
20:37 cotto_work ubuntu 10.10 x86
20:37 plobsing NotFound: try Filehandle.readall() on strings comming from OS.readdir. it fails to open files (with error "no such file") for me.
20:38 plobsing the file *is* there, I just read the directory!
20:38 cotto_work trying to reproduce.  it'll be a minute
20:39 plobsing changing directory read to respect locale fixes the problem
20:40 nopaste "cotto" at 192.168.1.3 pasted "broken build" (15 lines) at http://nopaste.snit.ch/27671
20:40 cotto_work plobsing: ^
20:40 Andy joined #parrot
20:43 plobsing NotFound: we had 2 different, both incorrect, strategies for dealing with platform strings
20:43 plobsing (1) assume ascii - obviously wrong
20:43 plobsing (2) passthrough (assume binary) - wrong whenever you start doing things with such strings (eg: mangling paths)
20:45 plobsing the worst is what happens when both assumptions come into play in the same program
20:49 NotFound plobsing: (2) is better than being unable to read some directories. At least you can recode it if you want.
20:51 plobsing left #parrot
20:55 plobsing joined #parrot
20:57 perlite_ joined #parrot
20:57 plobsing NotFound: you can delegate the recoding down the line, yes. but that just pushes the same problem to everyone trying to do anything remotely intelligent with directories.
20:58 plobsing what, for example, should distutils do?
20:58 NotFound The problem is: using binary or iso-8859-1 all characters are valid, even if printing looks ugly, but using utf8 there are invalid byte streams.
20:59 plobsing but using binary strings breaks any program that tries to do anything with the paths
20:59 plobsing the case for using binary strings is basically limited to ls
21:00 perlite left #parrot
21:00 perlite_ is now known as perlite
21:01 NotFound plobsing: I think the only sane solution is to have a lousy utf8 that converts invalid utf8 bytes to some private codepoints,
21:02 plobsing NotFound: that could work
21:03 plobsing alternate full solutions include optional parameters for getting binary-encoded strings from system operations or giving access to the platform encoding alias to users (so they could reset this to "binary" if they so chose)
21:05 NotFound plobsing: the problem with user driven solutions is that a user that gets a "Cannot read directory" error may not even notice what is the problem.
21:05 plobsing but, if we did things right, users would get "Cannot read directory: invalid UTF-8 string" which explains *exactly* what the problem is
21:06 plobsing at which point, they could take steps to remedy the problem
21:07 NotFound plobsing: I think I can without much effort creating a directory with a bunch of such errors where ls looks perfectly normal.
21:08 NotFound And I have seen such things at works, accidentally cretaed,.
21:08 NotFound Or smb mounts unappropiately configured.
21:09 NotFound Most users can't figure what is the problem.
21:10 plobsing ls from gnucoreutils (yes I know most shells implement it themselves) respects locale
21:10 sorear the obviously correct thing to do is "whatever ls does"
21:11 sorear ls needs a robust way to go from bytes to characters for printing
21:11 sorear on Windows, do "whatever explorer.exe does"
21:11 cotto_work plobsing: can you resolve this quickly or should the change be reverted?
21:11 sorear files should show up to Parrot as they show up to the user
21:11 NotFound Some systems just replace inavlid utf8 with one special purpose codepoint, but that way will fail to open the files.
21:12 plobsing cotto_work: I have no clue, I'm trying to do 3 things at once.
21:12 NotFound A full solution should use one codepoint for each invalid byte.
21:12 plobsing I can probably have it finished by day-end PST
21:13 wagle joined #parrot
21:13 NotFound sorear: on Windows I think the best way is to use Unicode aware functions and convert the utf16 that windows provides to utf8.
21:13 dalek Heuristic branch merge: pushed 135 commits to parrot/kill_packfile_new_dummy by Whiteknight
21:14 whiteknight Windows will typically do proper unicode with the -W functions
21:14 NotFound But the console input/output usually is not configured for unicode, so the file names may need conversion.
21:14 whiteknight Unable to open filehandle from path '--ou'
21:14 whiteknight I'm getting that build error today when I try to build master
21:15 plobsing not you too
21:15 whiteknight others are seeing that too?
21:15 cotto_work whiteknight: the build is broken for me too.  It could be related.
21:15 cotto_work http://nopaste.snit.ch/27671
21:16 NotFound --ou ?
21:16 whiteknight NotFound: comes from this command-line: ./parrot runtime/parrot/library/PGE/Perl6Grammar.pir --output=compilers/pge/PGE/builtins_gen.pir compilers/pge/PGE/builtins.pg
21:16 whiteknight the --output is getting mangled
21:17 atrodo Just got the same thing as well
21:17 NotFound master builds fine for me
21:18 plobsing people with build failures: what locale do you have configured?
21:18 NotFound But looks like is failing a bunch of tests
21:18 cotto_work plobsing: is that $LANG?
21:19 NotFound Uh, oh... there are locale problems with the floating pint,
21:19 plobsing cotto_work: it is LC_ALL || LC_CTYPE || LANG
21:19 NotFound point
21:19 cotto_work en_US.utf8 then
21:19 NotFound I'm seeing thinks like: got 0,1 expected 0.1
21:19 NotFound Spain locales use , as decimal point.
21:19 plobsing huh. I'm on utf-8 and I don't see failures
21:20 plobsing NotFound: that one is probably easier to remedy
21:20 plobsing there's some granularity in locales I chose to ignore. maybe it is in there.
21:20 whiteknight Maybe we want Parrot to respect user locale, and our tests for floating point format is wrong
21:21 whiteknight of course, that fix is probably harder to do than the "just ignore it" fix
21:21 NotFound plobsing: Is a known issue, I've seen such things even in Borland Kylix
21:21 plobsing whiteknight: or "ignore except for known-good locales"
21:21 atrodo plobsing> I have no locale set
21:22 whiteknight it would do Parrot well to be more language- and locale-respectful in the future
21:22 NotFound whiteknight: we don't want to always respect locale for such things. Programming languages almost never do that.
21:22 plobsing atrodo: you have *something* set. if you haven't done anything, chances are it is en_US.UTF-8
21:22 NotFound That was the kylix failure.
21:23 NotFound The only compilers I know that did such things were cobol with the DECIMAL POINT IS COMMA option.
21:23 whiteknight In C# I can write software which is completely localizable and translatable. .NET makes that easy for the programmer by providing all the necessary tools
21:23 NotFound whiteknight: yes, but you don't that in the source text.
21:23 whiteknight I can always pass a locale name, or "current locale" to object.ToString() and get the right results
21:24 whiteknight plobsing: Do you think my build failure is related to the platform-encoding branch merge?
21:24 atrodo plobsing> Not sure about UTF-8, the box was built in 2004, but nothing is set in my env
21:24 whiteknight because I only have about ~5 minutes here at this computer to get diagnostics information for you
21:24 whiteknight After that I'm packing up and heading home
21:24 NotFound const PI = 3.14 # Change this to fit your locale decimal point
21:25 whiteknight NotFound: in the actual source code?
21:25 plobsing whiteknight: are you seeing the *exact* same failure as cotto_work ?
21:25 whiteknight no
21:25 whiteknight plobsing: my failure is this: Unable to open filehandle from path '--ou'
21:25 NotFound whiteknight: there was at least one Kylix version with that bug, yes.
21:26 whiteknight in response to: ./parrot runtime/parrot/library/PGE/Perl6Grammar.pir --output=compilers/pge/PGE/builtins_gen.pir compilers/pge/PGE/builtins.pg
21:26 plobsing that means that Parrot_str_platform_strlen() is returning the wrong value for some reason on that argument.
21:27 plobsing whiteknight: where is the API function that wraps argv?
21:27 whiteknight plobsing: yes
21:27 whiteknight src/embed/pmc.c, Parrot_api_pmc_wrap_string_array, or something like that
21:28 whiteknight Parrot_api_pmc_wrap_string_array
21:28 plobsing yep. that's where the failure is most likely occurring.
21:28 NotFound I got several hundreds of test fails.
21:28 whiteknight it calls Parrot_str_from_platform_string to do the conversion
21:29 plobsing which in turn calls Parrot_str_platform_strlen and uses Parrot_platform_encoding_ptr
21:29 whiteknight although that doesn't make sense, since argv is char*, not wchar_t*
21:29 NotFound Mmmm... make test don't do a grand total of fails?
21:29 plobsing argv *can* contain non-ascii characters
21:30 plobsing the previous assumption of ASCII was very wrong
21:30 whiteknight okay, on that note I need to pack up and go home
21:30 whiteknight I'll be back on in ~60min for more debuggerization
21:31 whiteknight left #parrot
21:31 NotFound A lot of the failures are the . -> , floating point problem
21:32 plobsing NotFound: s/LC_ALL/LC_CTYPE/ in calls to setlocale should eliminate the locale-respect of printf
21:32 NotFound There are also tests that looks for the text of error messages and are getting localized versions
21:33 avms joined #parrot
21:34 NotFound For example: Failed test 'Test bad OS.lstat' ... # No existe el fichero o el directorio .... doesn't match .... No such file or directory ...
21:34 plobsing atrodo: do you have time to help me debug? can you step through Parrot_api_pmc_wrap_string_array for the failing invocation and tell me if the values returned by Parrot_str_from_platform_cstring() correspond or not to the values in argv?
21:35 atrodo plobsing> With a little guidance, i can lend a little bit of time
21:36 plobsing atrodo: awesome! 1st, do you have gdb? are you at all familiar with it?
21:36 atrodo Yes, and enough to get around
21:37 plobsing OK. the command './parrot runtime/parrot/library/PGE/Perl6Grammar.pir ...' fails for you as well, correct? prefix that with 'gdb --args'
21:37 atrodo Okay
21:37 plobsing set a breakpoint at Parrot_api_pmc_wrap_string_array
21:37 atrodo Do you know a good place to set the breakpoint?
21:38 NotFound Using LANG=C I got: Failed test 'Test OS.readdir with ord >127' at t/dynpmc/os.t line 395. Invalid character in ASCII string
21:38 atrodo okay.  And apparently, now i'm in gdbtui
21:40 plobsing good. next-source-line-step (n) through that function. at each loop iteration print argv[i] and *arg. they should be the same.
21:41 atrodo nopaste?
21:41 plobsing please
21:41 atrodo aloha> nopaste?
21:41 aloha atrodo: Dunno.
21:42 atrodo drat
21:42 plobsing aloha: nopaste?
21:42 aloha plobsing: nopaste is is http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
21:42 plobsing > does not parse so well
21:42 atrodo apparently
21:43 nopaste "atrodo" at 192.168.1.3 pasted "for plobsing" (6 lines) at http://nopaste.snit.ch/27672
21:43 atrodo *arg ends up being blank on the first arg
21:43 plobsing print arg *after* it is assigned (gdb shows the line it is about to evaluate)
21:44 nopaste "atrodo" at 192.168.1.3 pasted "for plobsing" (20 lines) at http://nopaste.snit.ch/27673
21:44 atrodo plobsing> Yep, each time it was examined at line 536
21:45 plobsing oh. ouch.
21:45 rurban_ joined #parrot
21:47 plobsing atrodo: can you step into Parrot_str_from_platform_cstring -> Parrot_str_new_init  from there and print the value of '*s'?
21:48 atrodo sure, hold on
21:48 rurban left #parrot
21:48 rurban_ is now known as rurban
21:48 Kulag left #parrot
21:48 dalek parrot: aa0783b | plobsing++ | include/parrot/string_funcs.h:
21:48 dalek parrot: headerizer
21:48 dalek parrot: review: https://github.com/parrot/parrot/commit/aa0783be99
21:49 atrodo *s is an empty string
21:49 plobsing at the end?
21:49 atrodo hmmm
21:49 plobsing ok, what's len?
21:49 Kulag joined #parrot
21:50 plobsing and is 'buffer' the expected value?
21:51 atrodo the string passed to Parrot_str_platform_strlen is empty...
21:51 Coke is this breakage happening in master?
21:51 Coke (re previous discussion about encodings and failing tests)
21:52 cotto_work yes
21:52 NotFound --ou -> 4 --output -> 8 Maybe some misconversion and some mixing of lenght and bytelength
21:53 atrodo Okay, in Parrot_str_new_init, buffer is correct, but len is set to 0
21:54 atrodo Very strange.  The call to Parrot_str_platform_strlen uses c just like the outside call to Parrot_str_new_init does, but Parrot_str_platform_strlen gets an empty string and Parrot_str_new_init gets the right string
21:54 atrodo on the second time around, s in Parrot_str_platform_strlen is garbage
21:55 plobsing gah. that's just plain weird
21:55 Coke ... can we please not break master? it's (*!@#&$ hard enough to bisect as it is.
21:56 atrodo I've got to run
21:57 plobsing I have a theory of why it doesn't work
21:57 plobsing Parrot_str_platform_strlen is not predeclared
21:58 NotFound plobsing: ack don't show it in any .h file
21:58 plobsing apparently platform-specific function predeclaration is manually maintained in include/parrot/platform_interface.h
21:59 * theory belches
21:59 NotFound "Get the length of a platform-encoded C string." What does this mean?
22:00 * Coke wonders how that isn't "strlen"
22:01 plobsing utf16 strlen != strlen
22:01 plobsing it is strlen on linux
22:02 NotFound plobsing: What system uses utf16 for char * ?
22:02 dalek parrot: 4ae951d | plobsing++ | include/parrot/platform_interface.h:
22:02 dalek parrot: remove declaration of dead memexec functions
22:02 dalek parrot: review: https://github.com/parrot/parrot/commit/4ae951d746
22:02 dalek parrot: a70cd1b | plobsing++ | include/parrot/platform_interface.h:
22:02 dalek parrot: predeclare platform encoding functions
22:02 dalek parrot: review: https://github.com/parrot/parrot/commit/a70cd1bcd9
22:02 dalek parrot: b65708c | plobsing++ | src/string/api.c:
22:02 dalek parrot: add interp as first parameter to function (major thinko)
22:02 dalek parrot: review: https://github.com/parrot/parrot/commit/b65708c597
22:02 plobsing b65708c probably fixes the problem
22:02 plobsing not sure why it wasn't failing here
22:03 plobsing maybe realclean doesn't remove the appropriate .o file
22:05 plobsing NotFound: types can lie
22:05 NotFound plobsing: the use void * to a-void confusion.
22:08 NotFound Same failure as before with LANG=C
22:09 NotFound And still a lot of failures with es_ES.UTF-8
22:10 nopaste "plobsing" at 192.168.1.3 pasted "[PATCH] higher granularity locale for NotFound" (26 lines) at http://nopaste.snit.ch/27674
22:10 plobsing NotFound: try ^^this^^
22:11 plobsing people with build failures: please try b65708c to see if it fixes your problems
22:13 darbelo left #parrot
22:16 cotto_work plobsing: looks better for me
22:16 plobsing \o/
22:16 plobsing not sure why that was working for me. it was horribly wrong.
22:16 cotto_work and by "better" I mean "good"
22:16 plobsing quirk of the x86_64 ABI I suppose
22:17 cotto_work How did that even compile?
22:17 darbelo joined #parrot
22:17 plobsing when you fail to predeclare, you predeclare failure
22:17 plobsing or something like that
22:18 darbelo left #parrot
22:19 NotFound plobsing: fine with my usual locale, still fails with LANG=C
22:20 NotFound And of course, the fails in dynoplibs/bit.t and library/sha.t remains.
22:21 plobsing (re: LANG=C) that sets ASCII as the platform encoding. very probably, you've got non-ASCII paths.
22:22 plobsing maybe platform string should *try* to encode according to locale and fall back on binary encoding
22:22 NotFound plobsing: the test that fails uses a non-ascii path on purpose.
22:22 NotFound Failed test 'Test OS.readdir with ord >127'
22:22 plobsing we have a test for non-ascii paths? does that work on all filesystems?
22:23 NotFound at t/dynpmc/os.t line 395.
22:25 NotFound plobsing: no system that I know has problem with using byte values > 127, even if printing them may looks ugly or wrong,
22:26 bacek_at_work ~~
22:26 NotFound But if we have a strict ascii encoding and use it, of course we should fail at that.
22:26 plobsing which is basically what LANG=C does
22:26 plobsing it says "expect strings to be ascii"
22:27 NotFound plobsing: no program that I know restrict to strict ascii with LANG=C
22:27 cotto_work hi bacek_at_work
22:27 bacek_at_work aloha, cotto_work
22:27 NotFound That's why many people talk about "extended ascii"
22:28 plobsing true, strict reading of standards may lead to serious violation of POLS
22:28 NotFound Which ususally means "the system works by magic, except when it does unexpected things"
22:29 NotFound And they call "wizards" the pepole able to fix things because of that ;)
22:29 NotFound His magic is more powerful.
22:29 plobsing we could probably get by with falling back to binary when platform-encoding fails
22:30 plobsing it would only fail where it absolutely had to
22:30 plobsing in stead of everywhere it might eventually
22:31 plobsing is that an acceptable option?
22:31 plobsing of course failures would be more cryptic ("why is my program emitting complete jibberish?") in stead of ("oh hai, u haz an encodingz problem")
22:32 NotFound plobsing: for a quick fix, WFM, but for long term we should consider the lousy utf8 approach.
22:32 NotFound And maybe hard-code iso-8859-1 in some systems.
22:35 cotto_work POLS?
22:36 plobsing aloha: POLS?
22:36 aloha plobsing: I give up.
22:36 plobsing POLS is the principle of least surprise
22:36 plobsing aloha: POLS?
22:36 aloha plobsing: POLS is the principle of least surprise
22:36 GeJ aloha: POLA?
22:36 aloha GeJ: Search me, bub.
22:37 NotFound Failing to read a directory that most tools and applications can navigate without problem is a BIG surprise.
22:37 GeJ hey, watch that attitude of yours young girl!
22:38 cotto_work principle of least awesomeness?
22:38 GeJ astonishment.
22:38 plobsing I like cotto's better
22:39 GeJ :)
22:42 NotFound I should have be more specific: is BIG BAD surprise.
22:43 hercynium left #parrot
22:43 NotFound I'm not completely against good surprises.
22:44 plobsing NotFound: I'll admit that the solution I implemented doesn't solve for the general case. But it *does* solve for a fairly common case: a system with encodings which are everywhere-consistent and locales which are set up properly.
22:44 plobsing aka UnicornOS
22:46 NotFound plobsing: I'm sure they are the majority is USA.
22:46 plobsing I'd wager they're also fairly common for single-user systems abroad.
22:48 NotFound plobsing: I don't like a general purpose tool like parrot with such restrictions.
22:48 fperrad left #parrot
22:49 plobsing covering some cases well and failing early in others is better than failing late and cryptically
22:49 Andy left #parrot
22:49 hudnix left #parrot
22:50 NotFound plobsing: failing early to read or navigate a directory does not solve anything.
22:51 plobsing chances are you are going to want to do something with the strings you read from a directory. if you don't encode them properly, you are going to do that something incorrectly.
22:52 NotFound People may be surprised while seeing funny characteres in a directory that they don't know were here, but is no surprise to see funny characteres when they are here.
22:52 NotFound So the surprise doesn't come from parrot, comes from the directory.
22:53 NotFound plobsing: yes, but failing to do something with them is not a proper encoding.
22:53 dalek parrot: e635b0a | plobsing++ | / (6 files):
22:53 dalek parrot: fix C++ build
22:53 dalek parrot: review: https://github.com/parrot/parrot/commit/e635b0ad12
22:54 plobsing I suppose most (all?) cases of mistaken-encoding are (mostly) harmless because the operations we're performing on them mostly deal with ASCII characters (which are usually encoded the same way)
22:57 NotFound plobsing: but if we assume strict encoding in strings that come from the operating system or external libs, we have a problem.
22:58 NotFound latin-1 and the like don't have that problem because any byte is a valid character, but strict ascii and utf8 do.
22:59 plobsing NotFound: I can see your point. But I don't think we can go down the route of being agnostic about encoding (as the kernel does).
23:00 NotFound plobsing: maybe not, but we should support the corner cases some way.
23:02 NotFound At least in the lower levels, the HLLs and librarys may filter whatever way they want. But you can't unfilter if the lower level fails.
23:02 avms left #parrot
23:03 plobsing NotFound: I'll work on a more general solution soon. Decommuting.
23:04 NotFound ok
23:09 plobsing left #parrot
23:10 cotto_work seen andy
23:10 aloha andy was last seen in #parrot 2 hours 29 mins ago joining the channel.
23:10 cotto_work seen petdance
23:10 aloha petdance was last seen in #perl6 43 days 19 hours ago joining the channel.
23:19 hudnix joined #parrot
23:22 hudnix left #parrot
23:23 hudnix joined #parrot
23:23 kid51 joined #parrot
23:24 kid51 .
23:28 dalek parrot: 24280fc | mikehh++ | config/gen/makefiles/root.in:
23:28 dalek parrot: fix dependency for src/runcore/profiling.c
23:28 dalek parrot: review: https://github.com/parrot/parrot/commit/24280fca96
23:39 kid51 mikehh: ping
23:41 mikehh kid51: pong
23:41 bacek_at_work cotto_work, I've deleted opmap_aware branch
23:41 kid51 mikehh: Have you merged html_cleanup yet?
23:42 mikehh kid51: not yet - I was making sure master was ok first :-} will do it in an hore or so
23:45 mikehh hour
23:45 dalek TT #1927 closed by jkeenan++: Parrot doesn't build with spaces in directory name
23:45 dalek TT #1927: http://trac.parrot.org/parrot/ticket/1927
23:46 atrodo b65708c built for me
23:47 kid51 I see that earlier I got a failure in t/dynpmc/os.t.
23:47 cotto_work bacek_at_work: thanks
23:47 kid51 This is a file I often see fail, but not consistently.
23:47 dalek Heuristic branch merge: pushed 24 commits to parrot/nwellnhof/platform_src by nwellnhof
23:51 cotto_work I really like that new message.
23:52 nwellnhof joined #parrot
23:52 mikehh should add to karma though, like nwellnhof++
23:53 cotto_work yes
23:53 cotto_work kapace_: ping
23:53 kapace_ hey cotto_work, just got back from school
23:53 cotto_work wb then
23:53 cotto_work kapace_: in your pfbcs pull request, why do you test that pfbcs doesn't implement pack?
23:54 nwellnhof dalek++
23:54 kapace_ those were the only methods left to cover
23:54 cotto_work ah
23:54 kapace_ I was thinking of making some sort of todo test?
23:55 kapace_ so then when they pass unexpectedly, we can just get rid of the third arg (todo) to ok() or whatever
23:55 cotto_work There's no need for them.  PackfileSegment implements them the same way.
23:55 nwellnhof cotto: when no platform specific file is found, the one in the "generic" directory is used. it's exactly like the current system.
23:55 cotto_work bacek_at_work: can pfbcs.pack and unpack be removed?
23:55 nwellnhof cotto: it can happen that no generic file is found, but that's ok.
23:56 nopaste "kid51" at 192.168.1.3 pasted "t/dynpmc/os.t: New failure in 'Test OS.readdir with ord >127'" (59 lines) at http://nopaste.snit.ch/27675
23:56 kapace_ cotto_work, so they can be removed?, oh well see what bacek says
23:56 kapace_ then I'll remove them in the same branch as removing share_ro?
23:56 cotto_work nwellnhof: what about when someone adds a platform-specific file but forgets a generic version?
23:56 cotto_work kapace_: better to use your pfbcs test branch
23:56 kapace_ ok
23:57 cotto_work keep similar stuff together
23:58 cotto_work kapace_: test_methods looks fine
23:58 nwellnhof cotto: we should always have a generic version. like in the current system.
23:58 dalek Heuristic branch merge: pushed 20 commits to parrot/nwellnhof/unicode_filenames by nwellnhof
23:59 nwellnhof what's the heuristic? more than 5 commits?
23:59 cotto_work nwellnhof: of course.  I'm just thinking about how to code defensively.
23:59 cotto_work fail early, etc

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

Parrot | source cross referenced