|
Parrot 2.11.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Keep up with GCI Set by moderator on 5 January 2011. |
|||
| cotto_work | Kapace: what's md5sum_c.pir? | 00:00 | |
| Kapace | cotto_work: thats the md5sum example using the class interface | ||
| cotto_work | I'd rename to md5sum_oo.pir . c seems to indicate that it has something to do with C. | 00:01 | |
| Kapace | s/class/object/ | ||
| ok, git has rename/move tool? | 00:02 | ||
| cotto_work | git rename | ||
| er, git mv | |||
| Kapace | yeah, ok | ||
| cotto_work: should I put the sha256 stuff in the same pull, or different? | 00:03 | ||
| cotto_work | Kapace: whatever's easier | ||
| I haven't merged yet | |||
| Coke | . | 00:04 | |
| Kapace | ok | ||
| cotto_work | do you want a gci task for sha256? | ||
| Kapace | yes please :) | 00:06 | |
| Got to make sure I stay in the top 10, don't want anything crazy to happen in the last few days | |||
| whiteknight really loves the github postmortem reports | 00:08 | ||
| Most online services don't really offer that kind of introspective analysis. It's fascinating | 00:09 | ||
| cotto_work | Kapace: need to update the test plan | 00:10 | |
| everything else looks good | |||
| new task created | |||
| Kapace | ok thanks | ||
| cotto_work: alright fixed the plan. 1 Hour for SHA task :| | 00:14 | ||
| (even worse "1 Hours") | |||
| melange-- | |||
| cotto_work | marked complete, time fixed | 00:17 | |
| melange-- | 00:19 | ||
| Kapace: don't forget to run the codingstds tests | 00:21 | ||
| Kapace | ok, Ill try to remember. (I should setup an alias for git commit to automatically ask if I ran it) | 00:23 | |
|
00:23
plobsing joined
|
|||
| Kapace | dpaste.com/295061/ | 00:41 | |
|
00:43
gbacon left
|
|||
| dalek | p-rx/smoke: 1ec882f | dukeleto++ | build/Makefile.in: Getting closer to smoking nqp-rx |
00:51 | |
| p-rx/smoke: 27f1ff4 | dukeleto++ | build/Makefile.in: Looks like we need a harness |
|||
|
00:53
Yuki`N joined
|
|||
| cotto_work | Kapace: can you fix it? | 00:59 | |
|
00:59
dmalcolm left
|
|||
| cotto_work | and add a test | 00:59 | |
| kapace_ | I doubt I can fix it, don't know enough about encryption :| | ||
| cotto_work | I'm sure the algorithm is well-documented | 01:00 | |
| kapace_ | I can open a ticket :P | ||
| cotto_work | that's purely optional though | ||
| ok | |||
| kapace_: it'd be helpful to write a couple test cases with externally-verified sha256 sums | 01:06 | ||
| dalek | p-rx/smoke: 3fc8dc8 | dukeleto++ | / (3 files): We can now make Smolder shoot 500-smoke |
||
| kapace_ | cotto_work, what counts as externally verifiable? a link to a online hash calculator? a file and my sha256sum output? | 01:07 | |
| dalek | rrot/kill_packfile_new_dummy: 5a85e76 | Whiteknight++ | src/ (2 files): remove PackFile_new_dummy. A few test failures pop up |
01:09 | |
| cotto_work | any of those | 01:11 | |
| Kapace | ok cool | 01:12 | |
| cotto_work | also, "verified" (i.e. you didn't use the pir code to verify itself) not "verifiable" | ||
| msg dukeleto your thoughts are welcome on trac.parrot.org/parrot/wiki/AutomatedHLLTesting | 01:25 | ||
| aloha | OK. I'll deliver the message. | ||
|
01:30
Kristaba left
|
|||
| dalek | tracwiki: v1 | cotto++ | AutomatedHLLTesting | 01:36 | |
| tracwiki: initial free-form braindump | |||
| tracwiki: trac.parrot.org/parrot/wiki/Automat...ction=diff | |||
| TT #1936 created by DavidCzech++: SHA256 sums don't seem to match with external tools. | |||
| TT #1936: trac.parrot.org/parrot/ticket/1936 | |||
| whiteknight | msg plobsing I created a kill_packfile_new_dummy branch to try and rip out PackFile_new_dummy. This is the first step in not treating the initial packfile specially. Parrot compiles and runs without it just fine, but a handful of tests fail. I need to review them all to see how serious they are | 01:40 | |
| aloha | OK. I'll deliver the message. | ||
|
01:52
davidfetter left
|
|||
| cotto_work | whiteknight: that's a special test case you added. | 01:59 | |
| It's not often I want to clean up testing code to make it easier to understand. | |||
| whiteknight | cotto_work: the purpose there is just to tailcall as much as possible, including a tailcall into the PIR compiler | 02:00 | |
| cotto_work | not quite minimal, but it works | ||
| time to decommute | |||
| rfw | argh goddammit | 02:11 | |
| is it okay if i use some double pointer naughtiness | 02:12 | ||
| reduced fill_params by 117 lines | 02:30 | ||
| yay | |||
| www.google-melange.com/gci/task/sho...9413127098 | 02:36 | ||
| made fulltest, unrelated things failed | |||
| one test in class.t relating to inspect, no tests executed in packfileopmap.t | |||
| whiteknight: are you there? | 02:37 | ||
| whiteknight | sorta | 02:38 | |
| rfw | does sorta mean yes you can review? :( | ||
| whiteknight | sorta | 02:39 | |
| link? | |||
| rfw | www.google-melange.com/gci/task/sho...9413127098 | ||
| whiteknight | rfw: it builds and passes all tests? | 02:42 | |
| rfw | whiteknight: it fails unrelated tests | ||
| whiteknight | does master fail tests too? | ||
| rfw | yes | ||
| whiteknight | oh, okay then | ||
| cotto | ~~ | ||
| dalek | rrot/gci_fill_params_reduce: 18d905a | rfw++ | src/call/args.c: Moved some parameter assignment routines into their own functions. |
02:43 | |
| cotto | we need to make sure and do some benchmarking on that too | ||
| I'm pretty sure any competent compiler will inline static functions, but better safe than sorry | |||
| whiteknight | it's pulled into a branch | ||
| so we can test it there | |||
| we may want to mark them all PARROT_HOT too | 02:44 | ||
| make Andy happy | |||
| rfw: pulled, approved the task | |||
| rfw | thanks | ||
| whiteknight | I don't have time for any more review though, time for bed | 02:45 | |
| goodnight | |||
| rfw | night whiteknight | ||
|
02:45
whiteknight left
02:54
NotFound left
02:55
NotFound joined,
PacoLinux left
02:56
PacoLinux joined
03:00
kid51 joined
03:10
gbacon joined
|
|||
| kid51 | Yuki`N: ping | 03:17 | |
| msg whiteknight: I will look at TT #196 -- but can you add your recent experiences in that environment to that ticket? Thanks. | 03:19 | ||
| aloha | OK. I'll deliver the message. | ||
| Yuki`N | kid pong | 03:22 | |
| kid51, | 03:23 | ||
|
03:24
Yuki`N left
|
|||
| kid51 | Yuki`N: For the purpose of GCI, you can complete your work on that configure.log and get credit -- but we should not merge it into master without further discussion (see trac.parrot.org/parrot/ticket/1199) | 03:24 | |
| msg Yuki`N For the purpose of GCI, you can complete your work on that configure.log and get credit -- but we should not merge it into master without further discussion (see trac.parrot.org/parrot/ticket/1199) | 03:25 | ||
| aloha | OK. I'll deliver the message. | ||
|
04:10
kid51 left
04:17
contingencyplan left
04:32
gbacon left
|
|||
| dalek | m-eta-wink-kzd: 08af6a3 | plobsing++ | README.pod: add README |
04:40 | |
|
05:35
particle left
|
|||
| Kapace | cotto: looks like I'm going to have to add a new file for sha testing, i think... | 05:41 | |
| gedit-- | |||
|
05:43
rurban_ joined
|
|||
| cotto | Kapace, yup | 05:44 | |
| Kapace | cotto: is there docs for that, or can you guide me through the process? | 05:45 | |
|
05:46
rurban left,
rurban_ is now known as rurban
|
|||
| Kapace | this is what my test file is looking like: dpaste.com/295109/ | 05:47 | |
| is there an easier way to make those is() calls into todo()s? | |||
| cotto | Kapace, you mean other than s/is/todo/ ? | 05:48 | |
| no. That's a weakness of PIR-based tests currently. | |||
| Kapace | don't i need to make a comparision first? | ||
| oh ok.. well it will just have to be done once the bug is fixed | 05:49 | ||
| (which I'll like to investigate some more, probably after GCI) | 05:50 | ||
| bacek_at_work | cotto, idea for GCI? Implement something like C<is(foo, bar, "Description", :todo("NYI"))> in parrot's Test::More | 05:51 | |
| cotto | bacek_at_work, that's not a bad idea | 05:52 | |
| bacek_at_work | "medium" size project | ||
| cotto | sounds about right | 05:53 | |
| bacek_at_work | got for it :) | ||
| Kapace | so, how do I add my new test to the makefiles etc? | 05:56 | |
| or do they just test all files *.t? | 05:57 | ||
| cotto | Kapace, I think you just drop it in the right dir and it'll get run. | ||
| Kapace | awesome, then add to MANIFEST and commit? er make codetest :) | 06:00 | |
| cotto | and distrotest | 06:01 | |
| you can just run perl tools/dev/mk_manifest_and_skip.pl | |||
| we're lazy like that | |||
| Kapace | cool | ||
| make distrotest -> no rule to make target 'distrotest' ? | 06:03 | ||
| cotto | distro_tests | 06:05 | |
| If you're on Ubuntu (and possibly others), you can use tab completion for makefile targets. | 06:06 | ||
| Kapace | oh, cool | ||
| dalek | m-eta-wink-kzd: 7ea81e1 | plobsing++ | / (35 files): move /src to /bootstrap |
06:11 | |
| m-eta-wink-kzd: 02b43c3 | plobsing++ | / (2 files): add toplevel makefile for end user use (hide uglyness in bootstrap makefile) |
|||
| m-eta-wink-kzd: 7345ecc | plobsing++ | src/ometa-winxed (2 files): add bootstrap files |
|||
| m-eta-wink-kzd: c892f81 | plobsing++ | Makefile: add rules to actually build default targets |
|||
| cotto | bacek_at_work, are you sure that'd be a medium task? There's a lot of code that'll need changing. | 06:15 | |
| bacek_at_work | cotto, I don't think so. You can confirm with chromatic about complexity. | 06:17 | |
| cotto | bacek_at_work, how does socghop.appspot.com/gci/task/show/g...9438019014 look? | 06:18 | |
| bacek_at_work | cotto, remove "todo" from list of functions to change :) | 06:19 | |
| cotto | I thought I caught that one | ||
| bacek_at_work | hese functions are ok, nok, is, is_deeply, like, isa_ok, isnt, todo, | ||
| cotto | fix't | 06:20 | |
|
06:21
aantn joined
|
|||
| bacek_at_work | I would add "Add tests for new behaviour" explicitly into task | 06:21 | |
| cotto | also a good idea | 06:22 | |
| dukeleto | ~~ | 06:25 | |
| cotto | hio dukeleto | ||
| dalek | rrot: add4e13 | bacek++ | t/pmc/packfileopmap.t: Don't test loading od dynops after coretest |
06:27 | |
| dukeleto | cotto: i just read your hll testing wiki page | 06:28 | |
| cotto | thoughts? | ||
| flames? | |||
| pasta? | |||
| dukeleto | cotto: it is good. is that list in order of importance, or random order ? | 06:30 | |
| cotto | dukeleto, random | ||
| bacek_at_work, doesn't that test need some jumping around to make sure the same number of tests are run in both cases? | |||
| dalek | m-eta-wink-kzd: 5f40c83 | plobsing++ | README.pod: license formatting |
||
| dukeleto | cotto: ok. also, for me right now, i am going to test nqp-rx master on parrot master and then iterate from there. I see that being the first useful feature that we need | 06:31 | |
| cotto | dukeleto, I agree | ||
| Rakudo is important, but that can be the second hll | |||
| dukeleto | cotto: yep, rakudo is second in line. nqp-rx is the canary in the coal mine | 06:32 | |
| cotto: plumage is probably next, or possibly second, since that allows testing many HLLs | 06:33 | ||
| cotto | also a good idea | ||
| dukeleto | cotto: can you add some info about which Configure.pl flags you would like to see tested on the wiki page? | 06:40 | |
| cotto: and perhaps something about how plumage can be used? | 06:41 | ||
| cotto | sure | 06:42 | |
|
06:43
aantn left
06:45
aantn joined
06:50
particle joined
|
|||
| dalek | tracwiki: v2 | dukeleto++ | AutomatedHLLTesting | 06:51 | |
| tracwiki: trac.parrot.org/parrot/wiki/Automat...ction=diff | |||
| tracwiki: v3 | cotto++ | AutomatedHLLTesting | |||
| tracwiki: trac.parrot.org/parrot/wiki/Automat...ction=diff | |||
| cotto | upgrade time | 06:57 | |
|
06:57
cotto left
07:04
cotto joined
|
|||
| Kapace | what did you upgrade? | 07:07 | |
| cotto | ubuntu to 10.01 | 07:08 | |
| er 10.10 | |||
| now to copy everything to an ssd | 07:09 | ||
|
07:11
fbrito joined,
cotto left
07:16
aantn left
07:23
aantn joined
07:32
chromatic left
07:43
fperrad joined
|
|||
| rfw | Kapace: are you there | 08:06 | |
| fbrito | rfw: I am just 7 points from getting out of the top 10, ahahha. starting to get really worried. | 08:10 | |
| rfw | fbrito: i hope you make it | ||
| fbrito | me too, ehhe | 08:18 | |
| rfw | fbrito: you wouldn't happen to know how to fuzz test ffmpeg would you :x | ||
| fbrito | rfw: coincidently I have my last uni tests on 10th (gci deadline) | 08:19 | |
| rfw | oh | ||
| good luck! | |||
| alsoi accidentally read that as "last unit tests" | |||
| fbrito | ahhaha | ||
| rfw: on my English class book we had "unit tests" and even a "mock tests" :D | 08:21 | ||
| rfw | lol | 08:22 | |
|
08:28
rurban left
|
|||
| dalek | umage: 887882c | fperrad++ | plumage/metadata/nqp-rx.json: [NQP-rx] add target clean & realclean |
08:46 | |
| fbrito | I have just started working on this task: www.google-melange.com/gci/task/sho...9438019014 | 09:03 | |
| is "ok(foo, "foo works", :todo("doesn't work yet"))" syntax correct? I am getting "error:imcc:syntax error, unexpected $undefined (':')" error | |||
|
09:04
theory left
|
|||
| moritz | it might be 'todo'=>'reason' | 09:05 | |
| the :todo(...) thing works in Perl 6 | 09:06 | ||
| fbrito | moritz: yeah, I have just found this syntax on the PIR book | ||
| thank you :) | 09:07 | ||
| moritz accepts claim | 09:11 | ||
|
09:13
aantn left,
aantn joined
|
|||
| aantn | how can I get a class's type number in PIR? | 09:18 | |
| I'm trying to test PMCProxy | |||
|
09:36
ppant joined
|
|||
| fbrito | aantn: class type number? can you show me some piece of code? | 09:51 | |
| aantn | aloha: coverage | 09:52 | |
| oops | 09:53 | ||
| fbrito: look at init_pmc in tapir2.ro.vutbr.cz/cover/cover-resu...y-pmc.html | |||
| frodwith: class type numbers are used internally to look up classes | |||
| fbrito: I think they map up to the PMC's location in an array of types | 09:54 | ||
| fbrito: which allows for quick lookup and instantation | |||
| fbrito | hm, interesting | 09:55 | |
| sorry, but I am also a GCI student... can't help much :( | 09:57 | ||
| I am going to bed. good night | 09:58 | ||
|
10:00
cotto joined
10:01
rfw left
10:06
fbrito left
|
|||
| cotto just realized that he typed | 10:13 | ||
| "man watch" into a terminal | |||
| tadzik | like a Night Watch | 10:20 | |
|
11:29
mj41 left
11:40
redicaps joined
11:47
contingencyplan joined
11:56
nwellnhof joined,
ppant left
11:57
nwellnhof left
12:00
mj41 joined
12:13
GodFather joined
|
|||
| Coke | We tried very hard a while back to remove all non-C references to the type number. | 12:35 | |
|
12:37
fperrad left
12:42
bluescreen joined
|
|||
| jnthn | Heh, I tried to kill the type number altogether way back... :) | 12:57 | |
| moritz | and a few days ago you tried to write a cache based on them :-) | 12:58 | |
| ... which didn't work with parametric types, it seems | |||
| jnthn | moritz: Aye | 12:59 | |
| moritz: Well, was an interesting experiment none the less. | |||
| Too bad it didn't work out. | |||
| moritz | /o\\ | 13:00 | |
| jnthn | We'll get that win - but better and more globally - out of the new meta-model (though it's not a cache as such - or not like that anyway...) | ||
|
13:00
mikehh left
|
|||
| jnthn | In fact, that was what inspired me to try it. | 13:00 | |
| Oh, I know why parametric types maybe broke... | 13:01 | ||
| cotto | jnthn, ping (since I'm up anyway) | 13:03 | |
|
13:06
mikehh joined
|
|||
| jnthn | o/ cotto | 13:06 | |
| Just got back from Christmas/New Year's break today :) | |||
|
13:06
rurban joined
|
|||
| cotto | wb | 13:06 | |
| jnthn | thx :) | ||
| cotto | jnthn, how prototypey is nom? The code is unusual. | ||
| jnthn | Varies :) | 13:07 | |
| "unusual"? :) | |||
| cotto | either that or I haven't looked at much object metamodel code | ||
| how much do you think the implementation will change between now and when it's called "ready"? Documenting it would be a good way for me to learn it, but I don't want to spend too much time on something temporary. | 13:08 | ||
| jnthn | There's a lot missing compared to what's in the 6model repo (I plan to change that over the next week or so, though, and get things muchly caught up). | 13:09 | |
| There's also places where I did stuff a certain way to make my life easier, but that's not structural, more just "could be more optimal but I wanted it to work first" | 13:10 | ||
| cotto | that makes sense | ||
| I look forward to seeing what you have in store. | |||
| jnthn | OK. I know it's badly documented too. That's also very high on my hit list. | 13:11 | |
| cotto | what's stable enough to start documenting? | ||
| The best person to write docs is someone who doen't know what's going on, so I'm highly qualified. | |||
| jnthn | The S-Table and REPR data structures are, the KnowHOW bootstrap probably mostly is too. | ||
| P6opaque REPR - feel free to document but it needs to become more complicated soonish. | 13:12 | ||
| cotto | hints? | ||
| jnthn | At the moment it's missing the ability to handle native type (or native struct) attributes. | 13:13 | |
| It also does a memory allocation too many. | |||
| If you wish to document pieces of it, that's fine. I think maybe most useful for me to do, is write an overview of what the pieces actually do to make up a useful whole. | 13:15 | ||
| (e.g. a doc on why everything is designed the way it is) | |||
| moritz | that is the most useful piece of documentation that is missing most often | ||
| cotto | sorry. Are your upcoming changes related to hints? I noticed that all the hint-related code was stubbed out. | ||
| jnthn | Oh, I thought that was meta... :) | 13:16 | |
| moritz | (and that's the reason why Perl modules usually have a SYNOPSIS section -- it gives an overview of how to use the different parts) | ||
| cotto | Yes. I really miss the inline POD. | ||
| jnthn | cotto: Yes, more bits on hints will be coming at some point. | ||
| Though it's not top of the hit list. | |||
| But it'll happen, for sure. | 13:17 | ||
| cotto | What are they? | ||
| jnthn | For attributes, a way to do the lookup just as an index rather than a name lookup. | ||
| For methods, similar, but the lookup is into a v-table | |||
| cotto | ok. that's pretty simple. | ||
| jnthn | Thing is that for it to work, one needs to have the meta-objects at compile time. | 13:18 | |
| So you can ask it what index things will be at and compile that into the code. | |||
| That's where things get a bit trickier. :) | |||
| cotto | Is it fine if I start documenting with inline POD or do you prefer a different format? | 13:21 | |
| jnthn | Ideally, I'd prefer a format that doesn't mean the function name and signature have to be repeated in the docs as well as the code. | 13:22 | |
| cotto | What's your preference? | ||
| jnthn | Well, I don't really have a problem with a C-style comment before the function explaining what it does. ;-) | 13:23 | |
| But I'm not sure if that counts as a documentation format. ;) | |||
| cotto | good enough | 13:24 | |
| jnthn | Well, it's mostly if you want to extract the stuff. I figure that's what POD offers. | ||
| There's already plenty of readers and tools for munging it. | |||
| cotto | that's the advantage I see in POD | ||
| but I don't care that much | |||
| jnthn | Anyway, I don't feel too strongly on the issue. | ||
| cotto | ok | 13:26 | |
| jnthn | (That is, if POD gets used, I certainly won't complain.) | ||
| cotto tries attempt #3 to get to sleep | 13:28 | ||
| pmichaud | good morning, #parrot | 13:35 | |
| moritz | good morning pmichaud | 13:36 | |
| jnthn | pmichaud! :) | 13:38 | |
|
13:44
rurban_ joined
13:47
rurban left,
rurban_ is now known as rurban
|
|||
| dalek | nxed: r729 | NotFound++ | trunk/winxedst1.winxed: compile time evaluation of substr with constant arguments |
13:47 | |
|
13:51
GodFather left
13:58
whiteknight joined
14:09
plobsing left
|
|||
| mikehh | t/src/embed.t - TODO passed: 3 in optimized builds, but not without --optimize (both gcc and g++ - Ubuntu 10.10 i386 4.5 version of compiler) | 14:10 | |
| seems to happen on amd64 as well, but will test there later | |||
| I think it might be due to ASSERT not happening with optimized builds. | 14:11 | ||
| whiteknight | okay, so either we have a faulty assert that is too restrictive, or we have really terrible input conditioning | 14:19 | |
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#2121) fulltest) at 2_11_0-778-gadd4e13 - Ubuntu 10.10 i386 (gcc-4.5 with --optimize) | 14:38 | |
| t/src/embed.t - TODO passed: 3 | |||
| whiteknight: src/thread.c:1397: failed assertion '!interpreter_array' with no --optimize | 14:47 | ||
|
14:47
aantn left
|
|||
| mikehh | whiteknight: which it won't fail with an optimized build | 14:47 | |
| whiteknight | stupid interpreter_array | 14:50 | |
| that variable is the primary reason why I wanted to rip threads out | |||
| aloha coverage? | 14:51 | ||
| aloha | whiteknight: coverage is cv.perl6.cz or tapir2.ro.vutbr.cz/cover/cover-results/ | ||
| nopaste | "mikehh" at 192.168.1.3 pasted "t/src/embed.t - TODO passed: 3 with optimized build" (26 lines) at nopaste.snit.ch/27580 | 14:53 | |
|
14:54
plobsing joined
|
|||
| mikehh | maybe I should open a ticket on that | 14:56 | |
| whiteknight | yes, please | ||
|
15:03
JimmyZ joined
15:06
Patterner left
15:07
Psyche^ joined,
Psyche^ is now known as Patterner,
particle1 joined
15:11
particle left
|
|||
| dalek | TT #1937 created by mikehh++: t/src/embed.t - TODO passed: 3 in optimized builds | 15:21 | |
| TT #1937: trac.parrot.org/parrot/ticket/1937 | |||
|
15:21
particle1 is now known as particle
15:26
plobsing left
15:35
fperrad joined
15:42
Andy joined
|
|||
| dalek | nxed: r730 | NotFound++ | trunk/winxedst1.winxed: compile time evaluation of indexof with constant arguments |
15:48 | |
|
15:55
fbrito joined,
plobsing joined
|
|||
| dalek | umage: e2f0543 | fperrad++ | plumage/metadata/rakudo.json: [rakudo] add target: clean & realclean |
15:59 | |
|
16:01
JimmyZ left
|
|||
| dalek | rrot: 2025a9f | Whiteknight++ | docs/embed.pod: restore the old embed.pod, which contains details from dukeleto and will be necessary in the transition. |
16:07 | |
| rrot: 8bffd5b | Whiteknight++ | docs/embed_new.pod: add in a new version of the embed docs, for the new API that doesn't conflict with dukeleto's changes |
|||
| rrot: fa9eece | Whiteknight++ | docs/embed.pod: add a note to the old documentation about the phase-out and a link to the new docs |
|||
| pmichaud | is plumage intended to be an "end-user" tool, or one just for developers? | ||
| whiteknight | pmichaud: an end-user tool | ||
| I see it as being similar in purpose and use to the cpan client for perl5 | 16:08 | ||
| pmichaud | ...then why does it install Rakudo HEAD? | ||
| isn't that like someone saying that Parrot end-users should download and install Parrot HEAD? | |||
| whiteknight | pmichaud: It has a file of metadata that tells it what to install. The metadata for Rakudo may need to be updated/improved | ||
| pmichaud | yes, I was reading the metadata when I noticed that it installed Rakudo HEAD | ||
| that seems wrong. | 16:09 | ||
| whiteknight | I don't know if plumage supports tags. It should if it doesn't | ||
| pmichaud | also, even the Rakudo team doesn't recommend downloading tags from Rakudo github | ||
| we recommend downloading rakudo star tarballs | |||
| whiteknight | okay | ||
| if plumage doesn't yet support that, it should | |||
| I still consider plumage to be immature and in development | |||
| so don't be discouraged if it isn't perfect right now | 16:10 | ||
| pmichaud | I'm somewhat reacting to fperrad's comment on parrot-dev that says to use plumage for nqp-rx/rakudo testing | ||
| whiteknight | I think dukeleto's plan for continuous integration involves plumage as a key component | ||
| pmichaud | which seems to completely circumvent the point I'm trying to get to (which is one of having parrot devs do regular rakudo and nqp-rx testing) | 16:11 | |
| whiteknight | he's looking for automated ways to fetch, build, and test many HLLs and external projects | ||
| pmichaud: yes. For the common case of parrot devs, not using plumage is probably better | |||
| but for the automated case, we want a tool there to manage metadata and test against many projects | |||
| pmichaud | fair enough | 16:12 | |
| the automated case probably needs to be testing multiple versions | |||
| whiteknight | is it worthwhile to include nqp tests in parrot's ext/ too, so we can include those in the test harness automatically? | ||
| pmichaud | for example, it probably makes sense to test Parrot against the latest rakudo release as well as rakudo head | ||
| whiteknight | or is the snapshot sufficiently different from nqp-rx HEAD? | ||
| pmichaud | I thought about that a fair bit yesterday and decided against it (more) | 16:13 | |
| whiteknight | yes: testing against multiple versions does make sense | ||
| pmichaud | for one, hll devs really want parrot devs to test against the language build process | ||
| i.e., testing nqp-rx does more than simply ask "does nqp-rx pass its test" but also "can we still build and run an hll?" | |||
| I'm afraid many devs would say "oh, the nqp-rx tests ran in the parrot repo, so nqp is good" when that might not be the case | 16:14 | ||
| because the steps that parrot uses to build its copy of nqp is not at all what nqp-rx (or rakudo) do to build themselves | |||
|
16:15
dmalcolm joined
|
|||
| whiteknight | okay | 16:15 | |
| pmichaud | add to that the small hassle of keeping nqp-rx tests in sync, and I think it's just easier to say "treat nqp-rx like an external hll for testing" | 16:16 | |
| whiteknight | okay. That works fine for me | ||
| my thinking is that the more we can automate, the more likely people are to actually run the tests | |||
| but maybe we need something larger than just a transparent change to the test harness for that | |||
| pmichaud | that said, I won't object to having a copy of nqp-rx's tests in ext/ if others think that's a useful addition. I'd hate to see it become "use the internal tests and skip nqp-rx build testing" though. | ||
| iirc, we have had at least one instance where nqp-rx in the parrot repo would've passed its tests but nqp-rx as a separate hll would've been unable to build. This is especially true when dealing with deprecations. | 16:18 | ||
| whiteknight | What I'm thinking in the long term is that maybe we need a separate integration branch from our current master | ||
| pmichaud | as long as releases are coming from the integration branch, sure. | ||
| whiteknight | the integration branch will be used for releases, and must always be tested to the nth degree before merging into it | ||
| right. That way we can avoid little hiccups as master changes, and provide a more tested and more stable branch for HLLs to build from | 16:19 | ||
| pmichaud | I'm not sure I see that as being any different from what we have now, though | ||
| well, it could be | |||
| whiteknight | the more tests we want to run, the harder it becomes to make changes to master | 16:20 | |
| pmichaud | I guess if there's someone dedicated to merging master to integration it could work out okay | ||
| whiteknight | right. I see that being the purview of the release manager, and maybe a few other individuals | ||
| pmichaud | but more generally, let's suppose a committer named "jpatch" creates a development branch, does a lot of work, and merges to master | ||
| when and who do those changes make it to integration? | 16:21 | ||
| does jpatch do the merge to integration? | |||
| whiteknight | no | ||
| pmichaud | okay, that's good | 16:22 | |
| does the release manager do it? | |||
| whiteknight | I mean, maybe. We would want somebody that we trust not to be hasty to do it | ||
| I think the release manager is a good candidate, since his name is on the release | |||
| pmichaud | how long before the release does the manager do it? | ||
| I mean, obviously waiting until the day-of-release isn't going to work out. | |||
| whiteknight | good question. There are obviously lots of ideas to work out before we try to move to a system like this | 16:23 | |
| if we decide to move to it | |||
| pmichaud | right | ||
| I could very easily see it being staged at two levels (more) | |||
| whiteknight | it does seem very similar to things I've seen Linus say about Linux development. That people should be making branches only from known-stable branch points | ||
| plobsing | I'd propose that the release manager creates the branch immediately before the call for extensive testing goes out. | ||
| whiteknight | if people branch from broken commits, they are going to have broken branches, etc | ||
| an integration branch that is always tested and stable gives us an automatic way to do this: branch from integration, merge into master | 16:24 | ||
| pmichaud | plobsing: "call for extensive testing" is part of the problem, I think. | ||
| whiteknight | wash, rinse, repeat | ||
| pmichaud | plobsing: it seems to put the onus on non-parrot folks to test parrot | ||
| it's a way for the parrot devs to say "we can't be bothered to make sure we didn't break anything outside of the deprecation policy" | 16:25 | ||
| plobsing | before most releases the release manager sends a message out to parrot-dev requesting testing | ||
| that is a request targetted at parrot devs | |||
| pmichaud | but based on what whiteknight said earlier, an integration branch would be made *after* testing | 16:26 | |
| 16:18 <whiteknight> the integration branch will be used for releases, and must always be tested to the nth degree before merging into it | |||
| whiteknight | no, I think the integration branch would be continuous. It would exist side-by-side with master for all time | ||
| pmichaud | so the integration branch comes *after* testing, not before. | ||
| whiteknight | changes from master would be tested and then merged into integration | ||
| by a responsible person | |||
| pmichaud | right. and a "call for extensive testing" somewhat goes against that premise. | 16:27 | |
| unless the call for extensive testing is testing against master | |||
| plobsing | pmichaud: so would you rather parrot not be extensively tested? or limit the number of people capable of integration merges to those with access to all platforms about which parrot cares? | 16:28 | |
| pmichaud | plobsing: I care that parrot releases don't break my hlls in ways they aren't supposed to. | 16:29 | |
|
16:29
allison joined
16:31
particle left
|
|||
| pmichaud | I don't like that the current process seems to rely on hll devs doing frequent testing of master to make sure that parrot releases don't break the hll. | 16:31 | |
|
16:32
particle joined
|
|||
| whiteknight | right. that's sort of backwards | 16:32 | |
| If dukeleto can put together a great continuous-integration system on the GCC compile farm, I think we go a long way towards everybody's needs | |||
| pmichaud | viewed in light of what I just wrote, I think I tend to agree. | 16:33 | |
| but I'm also mindful of how long we've talked about having such a system with no real progress (yes, I know there's renewed emphasis now, for which I'm happy, but nothing says 'progress' like working code) | 16:34 | ||
| whiteknight | we don't necessarily want to rely on just parrot devs though. there's no way any parrot dev or even all parrot devs can test all permutations of parrot versions, HLL versions, and platforms | ||
| but we want to make sure the common cases are all well covered before we put something "live" | |||
| pmichaud: We're very acutely aware that Parrot has a reputation problem we need to overcome | 16:35 | ||
| pmichaud | I don't mind if a few permutations slip through the cracks. What bugs me is when there are issues where *none* of the permutations are tested. | ||
| whiteknight | right | ||
| pmichaud | saying "we can't test all permutations, so let's test none of them" is completely wrong IMO | ||
| plobsing | off-topic: is there a library function for mkstemp() within parrot? | ||
| pmichaud | saying "one of the permutations takes forever, so let's test none of them" is also completely wrong IMO | ||
| whiteknight | right, no. Nobody is saying that | ||
| I just want to make clear: parrot devs are going to do a hell of a lot of testing, but we're going to need wider support to make sure the testing is truely comprehensive | 16:36 | ||
| pmichaud | whiteknight: actually, people *have* been saying that whenever we ask why HLLs aren't being tested | ||
| whiteknight | pmichaud: well, whoever says that is wrong | ||
| pmichaud | (comprehensive testing) I'll be glad for that, but let's not make the perfect the enemy of the good (more) | 16:37 | |
| I'd like to see *some* regular testing taking place without it having to be comprehensive yet | |||
| let's focus on getting *some* regular testing going first, and *then* work on comprehensive testing | 16:38 | ||
| a simple cron job that tests parrot master against nqp-rx master will catch 95% of the issues, I suspect | |||
| a cron job that tests parrot master against rakudo master will get another 3% | |||
| (my numbers might be a bit exaggerated on the split between nqp-rx and rakudo, but I suspect simply testing those two platforms would reveal 95%+ of breakages) | 16:39 | ||
| whiteknight | right. It's a matter of finding a place to run that cron job that's a bit of a killer right now | 16:41 | |
| pmichaud | feather can't do it? | ||
| whiteknight | possibly | 16:42 | |
| pmichaud | that's one of the main reasons that feather exists | ||
| whiteknight | I would hate to see a huge Rakudo build for instance be creating problems for other things that run there | ||
| pmichaud | we do rakudo builds on feather all the time w/o any problems | ||
| that's where the evalbot runs | |||
| whiteknight | oh, I wasn't aware | ||
| I'm not really sure how beefy a box feather is | |||
| pmichaud | it's beefy enough to do repeated rakudo builds :-) | 16:43 | |
| like, every 30 minutes or so | |||
| whiteknight | what's the story with those builds? Can we hijack existing builds to do smoke testing against parrot HEAD? | ||
| pmichaud | no, because those builds are explicitly against PARROT_REVISION | ||
| whiteknight | okay. | 16:44 | |
| pmichaud | those builds are primarily for testing rakudo changes, not parrot ones. | ||
| whiteknight | how often does PARROT_REVISION bump | ||
| ? | |||
| pmichaud | 1. right after a parrot release | ||
| 2. whenever rakudo needs a new Parrot feature "immediately" | 16:45 | ||
| 3. whenever someone tests rakudo against Parrot head and decides to bump | |||
| (end) | |||
| particle | beefy doesn't matter. everything on feather is niced. | ||
| pmichaud | also, feather is no longer running svn services, so its got a bit more spare capacity I suspect. | 16:46 | |
| particle | i can devote cycles and ram to a parrot/rakudo testing effort. | ||
| pmichaud | feather also has the advantage of having multiple admins available to help | ||
| particle | name your favorite distro and i'll create a vm and give you admin rights to set up what you want | ||
| pmichaud | (and is frequently watched by many parrot/perl6 folks) | ||
| particle | feather is a great place for this. | 16:47 | |
| but if you also want another platform for testing, let me know and i'll help. | |||
| pmichaud | in an ideal world, PARROT_REVISION would bump only on parrot releases | ||
| particle | i have about 6GB ram (of 20) free at any given time, and 8 cores | 16:48 | |
| so i have plenty to spare. | |||
| whiteknight | particle: We may just take you up on that offer | ||
| particle | does PARROT_REVISION work with git tags? | ||
| pmichaud | particle: yes. | ||
| (it has to) | |||
| particle | great. | 16:49 | |
| pmichaud | pmichaud@orange:~/rakudo$ cat build/PARROT_REVISION | ||
| RELEASE_2_11_0-478-gd69dbbc | |||
| particle | well, it could work with only commit hashes, but i can't see it being hard to support any refspec | ||
| pmichaud | but normally the way one would test rakudo against a given parrot (e.g., head) is by using --parrot-config=$PARROT_INSTALL/bin/parrot_config | 16:50 | |
| avoiding PARROT_REVISION altogether. PARROT_REVISION only comes into play when using --gen-parrot | |||
|
16:56
redicaps left,
chromatic joined
17:04
hercynium joined,
cotto left
17:06
theory joined
17:21
JimmyZ joined
|
|||
| cotto_work | ~~ | 17:21 | |
| whiteknight | good morning, cotto_work | 17:23 | |
|
17:24
JimmyZ left
|
|||
| cotto_work | I was going to reply to the fill_params thread when I saw that it had grown a bit during the night. | 17:25 | |
| looks like good things will come of it, if not the good things originally intended | |||
| fbrito | cotto_work: hi :D. I have started working on the PIR todo param GCI task | 17:39 | |
| cotto_work | fbrito, great. That'll be useful. | ||
| fbrito | cotto_work: I am afraid I am going to take a bit longer than what I thought because there are a lot of tests to write | 17:41 | |
| like is(). it has is(PMC, Int), is(PMC, String), is(PMC, Number) and is(PMC, PMC). I should write tests with the new todo param to each one of these, with a fail and a success case, right? | 17:43 | ||
| dukeleto | ~~ | 17:44 | |
| particle: howdy | 17:45 | ||
| particle | heya duke | ||
|
17:45
plobsing left
|
|||
| dukeleto | particle: i am working on adding "make smoke" to nqp-rx and testing nqp-rx master on parrot master on the GCC compile farm | 17:48 | |
|
17:48
darbelo joined
|
|||
| particle | let me know if you need access to any resources i can provide | 17:51 | |
| dukeleto | particle: ok, will do. | 17:52 | |
| cotto_work | I've added a gci task to fix sha256.pir. Unless someone's excited about another project, there probably won't be any more tasks created. | 18:04 | |
| (by me, at least) | |||
| fbrito: any new code added should be covered. How much longer do you think it'll take than you initially thought? | 18:05 | ||
| dalek | TT #1038 closed by cotto++: Convert Digest::MD5 to object-based implementation | 18:06 | |
| TT #1038: trac.parrot.org/parrot/ticket/1038 | |||
| fbrito | cotto_work: I have added the todo param to all the functions mentioned on the task. So far I have only written tests to "ok, nok and is", but now I see that it won't take that long to write tests to the other functions | 18:07 | |
| cotto_work | ok | ||
| that's good to hear | |||
| I don't want any other students getting harder tasks than expected. | 18:08 | ||
| fbrito | cotto_work: ah, the the task mentioned the following syntax "ok(foo, "foo works", :todo("doesn't work yet"))", but thats perl 6 syntax. in PIR we have to use the "todo" => "doesn't work yet" | 18:09 | |
| moritz | is there already a parrot ticket for the newest rakudo spectest failures | 18:12 | |
| ? | |||
| if not, I could open one | |||
| cotto_work | fbrito: foo(1 :named('x'), 2 :named('y')) also works | ||
| moritz: sure. | |||
| fbrito | hm, interesting | ||
| dukeleto | fbrito++ # doing hard stuff | 18:14 | |
| cotto_work | I was thinking of nqp-rx in what I mentioned in gci task | ||
| dukeleto: do you think that should be a difficult task? | 18:15 | ||
| dukeleto | cotto_work: huh? | 18:16 | |
| cotto_work | the gci task to add todo to PIR Test::More | 18:17 | |
| pmichaud | moritz: I'd guess file a ticket. Is Rakudo not working "again"? | ||
| cotto_work | is it rightly marked "medium"? | ||
| pmichaud rebuilds parrot and tries rakudo | 18:18 | ||
| dukeleto | cotto_work: we have a todo() it just sucks. Are you talking about implementing the feature where test functions look for a TODO lexical variable? | ||
| moritz | pmichaud: failures in t/spec/S14-roles/crony.t, t/spec/S14-roles/mixin.rakudo and t/spec/integration/advent2009-day18.rakudo | ||
| dalek | rrot: f4d04a8 | cotto++ | / (5 files): Merge branch 'kapace/objectify_md5' of github.com/kapace/parrot into kapace-kapace/objectify_md5 |
||
| rrot: 70238f6 | cotto++ | / (7 files): Merge branch 'kapace-kapace/objectify_md5' |
|||
| dukeleto | cotto_work: i haven't seen the task you are talking about | ||
| dukeleto just woke up | |||
| cotto_work | dukeleto: ok | ||
| jnthn | moritz: Is day18 role-y too? | ||
| moritz | jnthn: yep | 18:19 | |
| jnthn | Darn. | ||
| pmichaud | what does todo() do in PIR's Test::More now? | ||
| moritz | jnthn: it segfaults. | ||
| jnthn | moritz: :( | ||
| pmichaud | moritz: have you been able to bisect it yet? | 18:20 | |
| jnthn | moritz: Got a st? | ||
| moritz | pmichaud: not a chance. It appeared immediately after the :main thing | ||
| pmichaud | oh, so we haven't had a fully-functioning spectest since after :main? | ||
| moritz | not afaict | ||
| pmichaud | :( | 18:21 | |
| nopaste | "moritz" at 192.168.1.3 pasted "day18 bt" (23 lines) at nopaste.snit.ch/27581 | ||
| jnthn | If it's roles, it's at least in an area I can try and hung down. | ||
| wtf. :| | |||
| That's...REALLY not a good place to explode. | 18:22 | ||
| moritz wonders where nopaste has its fantasy IPs from | |||
| cotto_work | pmichaud: the gci task is to make ok(1, "msg here", "todo" => "broken") work. | ||
| moritz | it's not even my IP in this local subnet | ||
| jnthn | moritz: huh? I can connect to 192.168.1.3 just fine | ||
| oh, wait... | |||
| ;) | |||
| fbrito | :P | ||
| jnthn | moritz: That st is...less helpful than hoped. :( | 18:23 | |
| pmichaud | cotto_work: ah. | ||
| cotto_work: in Perl 6 (and I think in P5 also) we've tried to get away from using the todo named argument for todo marking | |||
| it's a pain to maintain | |||
| cotto_work | pmichaud: the idea is that it's less annoying than using todo() | ||
| pmichaud | instead, we have a todo(number, reason) call that marks the next <number> tests as todo, supplying <reason> | ||
| I think that Test::PIR has a todo(test, reason), which is really annoyintg. | 18:24 | ||
| *annoying. | |||
| looks like Test::PIR currently has todo(test, test description, reason). Yes, that's annoying. | 18:25 | ||
| but we found that the :test adverb was also annoying | |||
| especially when needing to skip a large number of tests | |||
| s/skip/todo/ | |||
| anyway, it's just a thought that if we're fixing Test::More todo() processing, it might be nice to make it closer to Perl 6's approach | 18:27 | ||
| (or at least Rakudo's approach) | |||
| jnthn | On that stack trace, there seems to have been commits to Parrot recently related to init handling. | 18:28 | |
| :init that is | |||
| fbrito | so... is my task still valid? :D | ||
| pmichaud | there have | ||
| jnthn | Then they are probably, given the stack trace, a likely cause of the issue. | 18:29 | |
| pmichaud | jnthn: there's been a bunch of :load / :main / :init related commits this week, iiuc | ||
| jnthn | ah | ||
| cotto_work | fbrito: yes | ||
|
18:29
allison left
|
|||
| jnthn | pmichaud: Probably one of them is to blame for the regression then. | 18:29 | |
| moritz | fbrito: I certainly hope so. If the parrot devs decide that they don't want the result of your work, then it's their decision not to merge | ||
| fbrito: but if you do what the task says, your task will be approved | |||
| cotto_work | fbrito: we wouldn't give you a gci task and then say "jk lol" | 18:30 | |
| pmichaud | moritz: I think I'll try a bisect using the neat new parrot-bisect script :-) | ||
| might take a while :) | 18:31 | ||
| moritz | pmichaud: have fun... I would be surprised if it sophistaced enough, but I would be delighted if it worked :-) | ||
| whiteknight | :init, :load, and :main flags do need a major rework and redesign. Hard part is changing them in the way that they need to change without completely breaking things | ||
| pmichaud | in the past when I've done parrot bisecting I've done it from the parrot repo and using git-bisect | 18:32 | |
| that might be more robust in this case, then. | |||
| moritz | with this script you run 'git bisect' from parrot-as-subdir-of-rakudo | ||
| pmichaud | so, 'git bisect tools/parrot-bisect.pl testscript' ? | 18:33 | |
| er | 18:34 | ||
| moritz | git bisect perl ../tools/parrot-bisect.pl testscript | ||
| pmichaud | 'git bitsect start <bad> <good>' followed by 'git bisect run perl..... ' right | 18:35 | |
| moritz | right | ||
|
18:35
nwellnhof joined
|
|||
| moritz | note that currently it configures parrot with ccache | 18:35 | |
| pmichaud | that's good -- I typically use ccache | ||
| looks like run 'git bisect' from rakudo root, though. | 18:36 | ||
| otherwise it can't find ./perl6 | |||
| moritz | there's a chdir() or two involved | 18:37 | |
| pmichaud | ah, I see. | ||
| $rakudo_dir gets set | 18:38 | ||
| okay | |||
| dalek | TT #1938 created by moritz++: rakudo on parrot RELEASE_2_11_0-777-gef82f5c segfaults on role related ... | 18:39 | |
| TT #1938: trac.parrot.org/parrot/ticket/1938 | |||
| pmichaud | I don't get a segfault on day18 -- I get "too many arguments" | 18:40 | |
|
18:40
plobsing joined
|
|||
| pmichaud | er, "too many named arguments" | 18:40 | |
| that sounds like a parameter checking error | 18:41 | ||
| iwbni bisect-parrot.pl could check the results of 'make localtest', so that multiple tests could be tested. | 18:42 | ||
| whiteknight | moritz: is it possible to get a dump of the PIR generated by those failing Rakudo tests? | 18:44 | |
| pmichaud | pmichaud@orange:~/rakudo$ ./perl6 t/spec/S14-roles/crony.t | 18:45 | |
| 1..4 | |||
| too many named arguments: 1 passed, 0 used in <anon> at line 1 in main program body at line 1 | |||
| pmichaud@orange:~/rakudo$ | |||
| I fear we have the case again where two rakudo breakages in master conflict with each other | 18:46 | ||
| i.e.: | 18:47 | ||
| merge implicit :main (breaks rakudo) | |||
| merge sub argument checking (breaks rakudo) | |||
| fix implicit :main (fixes rakudo partially) | |||
| so that it's not possible to use bisect to find the other breakage | 18:48 | ||
| whiteknight | pmichaud: I have a good idea where that second breakage is happening at | ||
| pmichaud | yes, I know argument checking was being enabled somewhere (more) | ||
| whiteknight | if I can see the PIR from that test, I can probably pinpoint it quickly | ||
| pmichaud | uploading now | ||
| whiteknight | awesome | ||
| plobsing | is it possible to augment git bisect to programatically cherry-pick out branch merges? | 18:49 | |
| pmichaud | gist.github.com/769909 | ||
| dukeleto | plobsing: what do you mean? | 18:50 | |
| nwellnhof | when was the sub argument checking change merged? is it this ticket trac.parrot.org/parrot/ticket/1103? | ||
| plobsing | dukeleto: given situations similar to what pmichaud described, a way to identify all changes causing breakage would be to cherry-pick out certain ones and see if it is still broken in the same way. | 18:51 | |
| branch merges being good candidates | |||
| whiteknight | according to the network view, that branch wasn't merged | 18:52 | |
| unless those changes were wrongfully included in a different branch which was merged | 18:53 | ||
| pmichaud | lunchtime here -- bbl | ||
| dukeleto | plobsing: you could "git revert" merges, is that what you mean? | 18:59 | |
| whiteknight | moritz: would it be possible for you to get a GDB stack trace with a debug Parrot? | 19:00 | |
| I have an idea what the problem might be, but without line numbers and parameter values in that stack trace, it's hard for me to really tell | |||
|
19:00
shortcircuit left
19:01
shortcircuit joined
|
|||
| whiteknight | (I know that's a bit of a pain in the ass) | 19:01 | |
| plobsing | dukeleto: yes, the algorithm can be driven manually. I'm wondering if can be automated. | 19:02 | |
| cotto_work | whiteknight: I can repro here | 19:05 | |
| where do you want the stack trace from? | |||
| probably Parrot_ex_throw_from_c_args | 19:06 | ||
| nopaste | "cotto_work" at 192.168.1.3 pasted "backtrace from rakudo failure in crony.t" (16 lines) at nopaste.snit.ch/27582 | 19:07 | |
| moritz | whiteknight: how do I build a parrot with debug symbols? | 19:09 | |
| cotto_work | moritz: should be there by default | ||
| plobsing | might not be there if you --optimize | ||
| moritz | can I both --optimize and have debug symbols? | 19:10 | |
| for gcc those are not mutually exclusive | |||
| plobsing | --ccflags="-g" or --ccflags="-ggdb" | 19:11 | |
| those make sure to include the debug symbols | |||
| moritz tries | |||
| whiteknight | Isn't error checking on the number of parameters turned off by default? | 19:15 | |
| github.com/parrot/parrot/commit/a3...b43d5c5851 | 19:20 | ||
| I knew that backtrace looked familiar | 19:21 | ||
| so I'm thinking that we should never check the number of named parameters. We revert it to the old behavior and remove the note about it being a hack | 19:22 | ||
| jnthn | Also, an error that talks about number of named arguments is awful from a user perspective. | 19:24 | |
| whiteknight | what's funny there is that we have two cases: When X are passed but zero are expected, and when X are passed and Y>0 are expected | 19:25 | |
| the first case silently passed, the second case threw an exception | |||
| We need to make that consistent | |||
| moritz | why not just list all named arguments that weren't expected? | ||
| whiteknight | moritz: that doesn't change the fact that any exception thrown here will break your test | ||
| so that raises the question: Do we want an exception where named parameters are passed but not used? I suspect not | 19:26 | ||
| moritz | in a low level language like PIR I expect it to be an error | 19:27 | |
| in a higher level language you can always install a slurpy named hash if you want to surpress it | |||
| it's harder the other way round | |||
| whiteknight | moritz: ok, so then the parrot behavior stays as-is, and Rakudo needs to fix it's test | 19:28 | |
| which is not a result I'm inclined to support | |||
| moritz | whiteknight: which test is that, btw? | 19:29 | |
| jnthn | I'm confused. Rakudo uses its own binder... | ||
| So would never be in that code, unless it's happening somewhere in the guts. | |||
| whiteknight | crony.t | ||
| that's the backtrace cotto gave me from crony.t | |||
| jnthn | I suspect that somewhere in the PIR implementing roles, something triggers this check/error. | 19:30 | |
| We could do with a PIR-level backtrace to tell us where. | |||
| moritz | jnthn: I was just about to say, could be a PIR routine | ||
| jnthn | But I guess it segfaults before producing one somehow? | ||
| whiteknight | I don't know what's the deal with the segfaulting test. That is a different problem | 19:31 | |
| I don't have a backtrace suitable to debug that one yet | |||
| moritz recompiles rakudo without custom bactrace printer | |||
| whiteknight | so I'm in this code right now. I can go either way. Do I leave count-checking on named parameters in place (then it's your job to debug rakudo) or do I try to take it out? | 19:32 | |
| I don't think this detail is important enough either way | |||
| error checking is off by default, which means that behavior is rarely used anyway | 19:35 | ||
|
19:40
whiteknight left
|
|||
| plobsing | If you want a PIR-backtrace from gdb, run 'p PDB_backtrace(interp)'. however, after a segfault in pcc, that may not be worth anything. | 19:40 | |
|
19:41
whiteknight joined,
Yuki`N joined
|
|||
| cotto_work | plobsing: that's handy | 19:41 | |
| whiteknight | cotto_work: what's your opinion on "number of named arguments" errors? | 19:43 | |
| I'll be happy to keep or ditch them at this point. I could care less | |||
| cotto_work | I thought we didn't care about extra named arguments. | 19:45 | |
| whiteknight | i certainly don't care about them | ||
| cotto_work checks the pdds | |||
| whiteknight | ok | ||
| I don't think we have any tests for it either way | 19:46 | ||
| cotto_work | If it's a choice, ignoring them makes more sense to me. | 19:47 | |
| particle | do any languages care | ||
| whiteknight | it's breaking rakudo right now | 19:49 | |
| cotto_work | I don't see anything in pdd03 that specifies either way | ||
| whiteknight | but it seems like a relatively small breakage | ||
| moritz | it might be easy to fix on the rakudo side | ||
| even easier if the line numbers in the backtrace weren't so far off | |||
| whiteknight | moritz: What does Rakudo want here? Our docs don't specify either way | ||
| cotto_work | It's important to ask why it's breaking now, especially if that test was passing at some point. | ||
| whiteknight | cotto_work: we used to have a special case in the code marked as a "hack" | ||
| if 0 named params are expected, arg checking was always off. If >0 were expected, we checked | 19:50 | ||
| moritz | whiteknight: I'm not sure if it wants anything, or if it's an accidnetal feature usage | ||
|
19:50
bluescreen left
|
|||
| whiteknight | I removed the hack, so the behavior is consistent. Rakudo was relying on the special case | 19:50 | |
| moritz | for Perl 6 subroutines, rakudo uses its own binder, so it only matters for internal code | ||
| whiteknight | so I would prefer this be consistent one way or the other. Either we throw an exception on named arg count mismatch when error checking is enabled, or we don't | 19:51 | |
| if error checking is not enabled, it doesn't matter (which is default) | |||
| particle | it matters if assumptions are broken when checking is enabled | 19:52 | |
| do most dynamic languages care about the number of named params? | |||
| do any that you know of care? | |||
| cotto_work | can you disable named arg mismatch in a branch so we can see how other hlls do? | ||
| particle | i think the answer is 'no', but i'm not sure | ||
| whiteknight | again, any HLL can remove checking by turning off error checking there | 19:53 | |
| particle | sure, but only at parrot compile time, correct? | ||
| whiteknight | so when error checking is explicitly turned on, do we count named arguments and throw exception if we pass too many? | ||
| particle: no, it's a runtime flag | |||
| particle | ah, excellent. | ||
| plobsing | whiteknight: does that mean toggling a flag at every function call? | ||
| particle | then my vote is to disable it | ||
| whiteknight | this is an extremely esoteric thing, which is why I have no real opinion on it | ||
| plobsing: I think the flag gets set once, but is checked on every function call | 19:54 | ||
| it's set on the interpreter, I think. Or maybe on the context and inherited by child contexts | |||
| plobsing | so if you have 2 HLLs with different settings for this flag, call-ins to each other, they need to set this flag at every call-in point | 19:55 | |
| whiteknight | ...yes? | ||
| plobsing | in the general case, the language compilers do not know where these call ins are. so, upon sub entry and after every sub call, you need to reset the flag (because it may have been set to the wrong thing) | 19:56 | |
| that seems annoying to say the least | 19:57 | ||
| cotto_work | whiteknight: where's the flag checked? | 19:59 | |
|
20:00
[hercynium] joined
|
|||
| cotto_work | whiteknight: found it | 20:01 | |
|
20:01
allison joined
|
|||
| whiteknight | I plobsing: I wasn't intending to get into a bigger description about the way Parrot handles error-checking in HLLs, but you do raise a good point about it being...annoying | 20:04 | |
| fbrito | cotto_work: 430 lines later, I think I am done with the 'todo' param task :) | ||
| whiteknight | plobsing: I think the real solution here is for HLLs to provide their own subclasses of CallContext, so those flags exist on the context and are created automatically when we jump back and forth | ||
| cotto_work | fbrito: nice! Send a pull request. | 20:05 | |
| Kapace | morning.. | ||
| cotto_work: btw, look at sha256.pir, theres a comment that says "# This is the start of the implemation and sha224 is not done yet!" | |||
| maybe it was never completed? | |||
| cotto_work | Kapace: that explains it | ||
|
20:05
bluescreen joined
20:06
hercynium left,
[hercynium] is now known as hercynium
|
|||
| fbrito | cotto_work: ok, just a moment. make test still running | 20:06 | |
| cotto_work | though that's the only place in the file where "224" is mentioned | ||
| fbrito++ | |||
| nwellnhof | which OSes use parrot's portable IO code? | 20:08 | |
| whiteknight | probably none | ||
|
20:08
[hercynium] joined
|
|||
| whiteknight | but nobody has the guts to pull it out | 20:09 | |
| plobsing | nwellnhof: break it and see who screams >;) | ||
| nwellnhof | it's broken right now, but i wouldn't puul it out. | ||
| fbrito | cotto_work: hm... failing tests :/. wait a moment | ||
| cotto_work | fbrito: take your time | ||
| Kapace | fbrito: thats going to help a lot with the SHA tests :) | 20:10 | |
| cotto_work | pmichaud: based on your experience, what'd be the least annoying way to do todo in PIR Test::More? | 20:11 | |
|
20:13
hercynium left,
[hercynium] is now known as hercynium
20:17
rfw joined
20:20
bluescreen left
|
|||
| darbelo | nwellnhof: If it's portable you can probably make your system use it. Just disable the 'non-portable' implementation. | 20:21 | |
| dalek | rrot: 7cb039f | Whiteknight++ | src/call/args.c: move all named parameter count-checking error code into a separate function. We don't special case functions with 0 named paramters any more. |
20:22 | |
| nwellnhof | darbelo: yes, i did that | 20:23 | |
| whiteknight | nwellnhof: rip it out | ||
| you have my blessing, for whatever that's worth | |||
| moritz | if a call to routine failed, does the name of the routine appear in the stack trace? | 20:24 | |
| I get | 20:25 | ||
| too many named arguments: 1 passed, 0 used | |||
| current instr.: 'perl6;RoleHOW;attributes' pc 6491 (src/builtins/Mu.pir:97) | |||
| but the method attributes doesn't call any other methods | |||
| whiteknight | moritz: I think it should | ||
| attributes is the place where it failed | |||
| so it's probably failing in the .param declararts of attributes | 20:26 | ||
| can you nopaste the PIR of it? | |||
| moritz | how can a declaration fail? | ||
| .sub 'attributes' :method .param pmc role $P0 = getattribute self, '$!attributes' .return ($P0) | |||
| .end | 20:27 | ||
| dalek | rrot/gci_todotest: f4a5cf4 | fbrito++ | / (2 files): [t] Add 'todo' param to 'ok' and 'nok' |
||
| rrot/gci_todotest: d4a226e | fbrito++ | / (2 files): [t] Add 'todo' param to 'is' |
|||
| rrot/gci_todotest: 4507477 | fbrito++ | runtime/parrot/library/Test/More.pir: [t] Add 'todo' param to 'isnt' |
|||
| rrot/gci_todotest: 1794a96 | fbrito++ | runtime/parrot/library/Test/More.pir: [t] Add 'todo' param to 'is_deeply, like, isa_ok, lives_ok' |
|||
| rrot/gci_todotest: 26cee27 | fbrito++ | runtime/parrot/library/Test/More.pir: [t] Add 'todo' param to 'dies_ok, throws_like' |
|||
| rrot/gci_todotest: 3e0f7fe | fbrito++ | t/library/test_more.t: [t] Add more tests to new 'todo' param |
|||
| cotto_work | fbrito: reviewing now | ||
| rrot/gci_todotest: 49afc0b | fbrito++ | t/library/test_more.t: [t] Add even more tests to new 'todo' param |
|||
| rrot/gci_todotest: f327a22 | fbrito++ | runtime/parrot/library/Test/More.pir: [t] Fix 'todo' param in throws_like |
|||
| rrot/gci_todotest: a4f1685 | fbrito++ | t/library/test_more.t: [t] Add tests to 'todo' param on isa_ok and throws_like |
|||
| whiteknight | moritz: add a slurpy hash PMC .param to that function | ||
| rrot/gci_todotest: 55ac514 | fbrito++ | runtime/parrot/library/Test/More.pir: [t] Fix 'todo' param in dies_ok and lives_ok |
|||
| rrot/gci_todotest: c011221 | fbrito++ | t/library/test_more.t: [t] Add tests to 'todo' param on dies_ok and lives_ok |
|||
| rrot/gci_todotest: 3a47d19 | cotto++ | / (2 files): Merge branch 'gci_todotest' of github.com/fernandobrito/parrot into fernandobrito-gci_todotest |
|||
| whiteknight | moritz: and your problem should go away | 20:28 | |
| whiteknight | DAMNIT FBRITO! | ||
| TOO MANY COMMITS! | |||
| :) | |||
| too many commits is a good problem to have :) | 20:29 | ||
| cotto_work | especially for the sucker reviewing | ||
| whiteknight | well said, sucker | ||
| :) | |||
| fbrito | whiteknight: wait a second. I think make test is failing :P | ||
| whiteknight | so, same as usual then | 20:30 | |
| fbrito | it says that t/pmc/context.t planned 19 tests but ran 20. funny | ||
| Kapace | lol | ||
| fbrito | I am waiting make test results on master | 20:31 | |
| Kapace | fbrito: sounds like a test is being todo'd and ok'd, maybe? | ||
| fbrito | no way... now it is working | 20:32 | |
| rfw | karma fbrito | ||
| aloha | fbrito has karma of 103. | ||
| moritz | karma rfw | ||
| aloha | rfw has karma of 44. | ||
| fbrito | I haven't change anything and now it works. -.- I hate when this happens | ||
| rfw | i should've made more spurious commits | ||
| cotto_work | fbrito: I see the test passing what looks like an extra todo | 20:33 | |
| that's quite strange. There's no todo in the test | 20:34 | ||
| Coke | I chuckle every time I see the discussion about /removing/ IMCC. (yes, I think it's a good idea. It's still hilarious and tragic) | ||
| cotto_work | It'll be hilarious when it dies in a fire. I'll bring marshmallows. | 20:35 | |
| whiteknight | Coke: why so funny? | 20:36 | |
| moritz | be careful, its smokes might be poisonous | ||
| Coke | because we went through a lot of work to /integrate/ it. it was someone's standalone project that parrot ate. | ||
| cotto_work | I'm glad you've been around long enough to appreciate the irony. I didn't know that. | 20:38 | |
| whiteknight | Coke: yeah, that is kind of funny and tragic | ||
| Unfortunately, the needs of the younger Parrot project were far different from the needs of Parrot c. 2011 | |||
| at the time, I'm sure IMCC was a godsend | 20:39 | ||
| chromatic | At the time, the original author said "Wait, this was a proof of concept!" | 20:40 | |
| cotto_work | chromatic: who was that? | ||
| Coke | Melvin | 20:41 | |
| IIRC. (he might still have his name in copyright entries in the imcc) | |||
| cotto_work | his name is in several places | 20:42 | |
| dukeleto | what is the deal with that. I always wondered. | ||
| Coke | He wrote it and parrot ate it. | 20:43 | |
| he didn't write it to be included in parrot. | |||
| whiteknight | that explains why it frequently doesn't place nicely with Parrot | ||
| it's not a bad system, all thigns considered. It's far different now from what it was | 20:44 | ||
| fbrito | cotto_work: I found what was the failing test problem | ||
| cotto_work | fbrito: do tell | 20:45 | |
| darbelo | Gremlins! | ||
| fbrito | cotto_work: line 125 of context.t was: ok($P0, 'FOO', 'Got CallContext.current_hll') | ||
| cotto_work | That looked suspicious | ||
| Why does it get weird with your code though? | 20:46 | ||
| fbrito | it looks that this line was never called before my code :o | 20:47 | |
| cotto_work | you're right | 20:48 | |
| the plot thickens | 20:49 | ||
| fbrito | adding a new optional parameter to ok() made this line be called as a TODO, and that's why it was complaining about the plan | ||
| but why it was not called before my code? | |||
| dalek | rrot: a480a06 | nwellnhof++ | / (5 files): [io] Make portable IO code almost compile again ops2c hangs during build with the portable IO code, might be related to mmap. |
20:50 | |
| cotto_work | that's surprising. I wouldn't expect an unnamed argument to get stuffed into a named slow | ||
| *slot | |||
| Coke | (doesn't play nicely) - it's older than most of the rest of parrot at this point. ;) | 20:51 | |
| fbrito | and, and it was called, but the plan didn't notice it. running prove on that file (on master) will show a "ok" after "ok 19" | ||
| (forget about that, haha) | 20:53 | ||
| (every test does that) | 20:54 | ||
| I have just pushed a fix to it (last commit on github.com/parrot/parrot/pull/102) | 20:55 | ||
| dalek | rrot/gci_todotest: 98b5638 | fbrito++ | t/pmc/context.t: [t] Fix test in context.t |
20:57 | |
| rrot/gci_todotest: 5e04e7f | cotto++ | t/pmc/context.t: Merge branch 'gci_todotest' of github.com/fernandobrito/parrot into gci_todotest |
|||
| rrot: 5e04e7f | cotto++ | t/pmc/context.t: Merge branch 'gci_todotest' of github.com/fernandobrito/parrot into gci_todotest |
|||
| rrot: 0771755 | cotto++ | / (3 files): Merge branch 'gci_todotest' |
20:58 | ||
| fbrito | I wonder how useful my atomic commits on test files are. picking one of them and leaving the others away will break the plan very badly | ||
| cotto_work | fbrito: I like them. Review is easier. | ||
| it would have been a little better to put the tests and feature additions together, but that's not a big deal | 21:00 | ||
| don't forget to mark your task | 21:01 | ||
| fbrito | I did that on the first 2 or 3 commits, but than I got really bored and started to do all the features first and write all the tests later, hahaha. sorry for that | ||
|
21:02
perlite_ joined
|
|||
| whiteknight | getting bored is the only reason I do anything | 21:03 | |
| fbrito | cotto_work: done :) | ||
| cotto_work | done | ||
| fbrito: I can't imagine those tests getting boring. I only fell asleep twice while reviewing them. | 21:04 | ||
|
21:06
perlite left,
perlite_ is now known as perlite
|
|||
| cotto_work | msg kristaba Is your gci code all ready to be reviewed? | 21:06 | |
| aloha | OK. I'll deliver the message. | ||
| fbrito | nice... now I am 7 points from getting away of the top 10 :P | 21:08 | |
| ok, time to fix that sha256 bug | 21:11 | ||
|
21:23
kid51 joined
|
|||
| nopaste | "kid51" at 192.168.1.3 pasted "t/library/test_more.t: new, extensive failures" (36 lines) at nopaste.snit.ch/27583 | 21:25 | |
|
21:26
whiteknight left
|
|||
| dalek | rrot: b5922fd | mikehh++ | MANIFEST: re-generate MANIFEST |
21:27 | |
|
21:33
hercynium left
|
|||
| cotto_work | kid51: did you re-rerun make? | 21:34 | |
| kid51: nm | |||
| fbrito: BigNum wasn't the best choice for those tests | 21:36 | ||
| fbrito | cotto_work: what should I use? Sorry, but I ran out of creativity :P | 21:37 | |
| plobsing | is it reasonable to assume that, for any given operating system, the assumed encoding is consistent among all OS functionality (command line args, path names, environment variables, etc)? | ||
| cotto_work | Something that works on all systems. Big* depends on an externally library that's not guaranteed to be installed | 21:38 | |
| fbrito | Ah, I see | ||
| dalek | rrot: 4523ae7 | nwellnhof++ | t/tools/pbc_disassemble.t: [t] Make t/tools/pbc_disassemble.t pass on Windows |
21:39 | |
| rrot: 748958d | nwellnhof++ | src/io/buffer.c: [io] Cleanup Parrot_io_read_buffer |
|||
| rrot: f867e30 | nwellnhof++ | / (7 files): [io] Change PIO_READ arguments to raw buffer This avoids creation of a string header in Parrot_io_read_buffer and simplifies the code. |
|||
| rrot: a92e441 | nwellnhof++ | / (3 files): [io] Change Parrot_io_read_buffer arguments to raw buffer |
|||
| rrot: 9269865 | nwellnhof++ | / (2 files): [io] Add FileHandle.read_bytes method returning a ByteBuffer |
|||
| rrot: d02241d | nwellnhof++ | / (5 files): [io] Don't use STRING ** output arguments |
|||
| fbrito | cotto_work: wait a second... I will change it to something else | 21:42 | |
| cotto_work | k | ||
| dalek | rrot: da5c3e6 | mikehh++ | src/io/portable.c: correct wrong ASSERT_ARGS |
||
| rrot: e7fd781 | mikehh++ | src/io/portable.c: update copyright |
|||
|
21:44
rurban_ joined
21:46
kid51 left
21:47
rurban left,
rurban_ is now known as rurban
|
|||
| fbrito | cotto_work: sorry for the delay... had to go out for a while. What do you suggest using in place of BigNum? | 21:54 | |
| cotto_work | any of the core PMCs are fine | 21:56 | |
| Integer, Float, F*A, R*A, etc | 21:57 | ||
|
21:57
darbelo left
21:59
allison left
|
|||
| cotto_work | kid51++ for reporting that | 22:08 | |
| dalek | rrot: de482bf | nwellnhof++ | config/gen/makefiles/root.in: Fix dependencies of PBC_TEST_FILES This makes 'make -j2 test' work from clean build dir and makes sure that the test files are regenerated after a new build. |
22:10 | |
|
22:10
gbacon joined
|
|||
| fbrito | wow, the universe seems to conspire against me | 22:11 | |
| cotto_work: finally: github.com/fernandobrito/parrot/co...i_todotest | |||
| dalek | rrot: 1c472f8 | mikehh++ | src/io/buffer.c: fix to make g++ build, change buf to unsigned char, add cast |
22:14 | |
| plobsing | is there a person with the master plan for the strings subsystem? who do I get to sanity-check my ideas for fixing TT #1836 and TT #1898 before implementing? | ||
|
22:16
lucian joined
|
|||
| dalek | rrot: 06b014f | cotto++ | t/library/test_more.t: Merge branch 'gci_todotest' of github.com/fernandobrito/parrot into fbrito-todo-test-fix |
22:17 | |
| rrot: 214f47f | cotto++ | / (15 files): Merge branch 'master' of github.com:parrot/parrot |
|||
| nwellnhof | plobsing: that's on my TODO list | 22:19 | |
| plobsing | nwellnhof: how do you intend to solve it? | 22:20 | |
| nwellnhof | what we need is a function like Parrot_str_to_cstring that accepts an encoding parameter. Then we can create UTF-8 filenames for Linux, UTF-16 for Windows etc. | ||
| plobsing | Don't we already have one of those? | 22:21 | |
| what is wrong with Parrot_str_new_init ? | 22:22 | ||
| nwellnhof | we need zero-terminated strings | ||
| Parrot_str_new_init doesn't convert encodings. | 22:23 | ||
| plobsing | but we don't need to convert encodings. we just need to attach the right ones. | ||
| at least thats the case for TT #1898, where we erroneously attempt to encode as ASCII | 22:24 | ||
| nwellnhof | for FileHandle.open we have to convert encodings. | ||
| plobsing | true, but then we already *have* a string with an attached encoding. we don't need to create a string then. | ||
| nwellnhof | #1898 seems to be related to something different, maybe command line handling. | 22:25 | |
| plobsing | #1898 and #1836 are related in that they represent the 2 approaches (both wrong) that parrot takes to dealing with "operating system encoding" strings | 22:26 | |
| (1) pass them throuhg with no processing or sanity checking (2) assume they are the "default" encoding (which is almost always ASCII) | |||
| nwellnhof | #1898 fails somewhere in IMCC | ||
| plobsing | it isn't just IMCC | 22:27 | |
| nwellnhof | plosing: yes, parrot is completely broken in that regard. | ||
| plobsing | create a fakecutable. change the name to something unicode. run the fakecutable. BOOM. not in IMCC this time. | ||
| nwellnhof | IMCC is especially bad because it uses C strings in many places. | 22:30 | |
| plobsing | C strings aren't really that much of an issue if you just pass them around and don't make too many assumptions about whats in them. | 22:31 | |
| IMCC mostly treats its C strings this way | |||
| the problems occur when you try to make parrot strings out of them | 22:32 | ||
| nwellnhof | but IMCC also uses fopen. | ||
| plobsing | not an issue. it gets those names for argv. so long as the OS is self-consistent WRT encodings, everything should be fine. | 22:33 | |
| nwellnhof | this will never work on windows. | ||
| you have to use CreateFileW on windows and pass it a UTF-176 string. | |||
| *UTF-16 | 22:34 | ||
| plobsing | supporting wchar stuff on windows will take more than that | ||
| nwellnhof | forget wchar on windows. | ||
| plobsing | I thought wchar was how windows handled unicode | ||
| nwellnhof | i mean libc wchar stuff. | 22:35 | |
| it's best to call the windows API directly. | |||
| the windows c library is only a wrapper around the windows API and is horribly broken in many regards. | 22:36 | ||
| plobsing | it matches the rest of the platform well in that regard | ||
| OK, I'm not terribly interested in what OS-specific APIs need calling. My specific concern is that we treat OS-originating strings as ASCII. That shows up in many places. | 22:39 | ||
| unicode filenames, unicode environment variables, etc | |||
| it has little to do with IMCC specifically | |||
|
22:39
gcamblin joined
|
|||
| nwellnhof | all the places that use STRINGs should be easy to fix | 22:40 | |
| plobsing | but they aren't yet. and it sucks. really really bad. | ||
| so what I am proposing is this: create a new encoding alias (similar to "default") called "platform" which is defined to be "whatever your OS encodes things in" | 22:41 | ||
| dalek | rrot: 779719a | bacek++ | src/call/args.c: Fix arg guard. named_used_list can be NULL |
||
| plobsing | switch over all places that convert OS-originating strings to use this encoding | 22:42 | |
| nwellnhof | what is there besides filename, command line arguments and environment variables? | 22:43 | |
| plobsing | I don't know. user names, etc? | 22:44 | |
|
22:45
Coke left
|
|||
| bacek | aloha, humans | 22:45 | |
| cotto_work | aloha, other human | 22:47 | |
| Kapace | fbrito: hows the sha thing going? | 22:49 | |
|
22:51
Coke joined
|
|||
| dalek | r: 4cc7018 | bacek++ | src/PIR/Compiler.pm: Add *%adverbs |
22:53 | |
| bacek | When and who changed handling of named args in parrot??? Previously we allow "named args without named param". Now it's throwing exception | 22:54 | |
| Tene | I thought I saw a ticket filed asking for a pull from githob for a patch that touched that code | 22:55 | |
| "rofflwaffls wants someone to pull from rofflwaffls:call_args_refactor:" | |||
| did that get pulled? | |||
| rfw | yes | ||
| cotto_work | bacek: that happened earlier today | 22:58 | |
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#2126) fulltest) at 2_11_0-820-g214f47f - Ubuntu 10.10 i386 (g++-4.5) | 23:05 | |
| bacek | cotto_work, whiteknight's commit? | 23:06 | |
|
23:06
lucian left
|
|||
| fbrito | kapace: I gave up for a moment | 23:07 | |
|
23:07
Matt221 joined
|
|||
| Matt221 | For the task regarding refactoring fill_params, are multiple smaller static functions accepted (since performance is key)? Refactoring a larger chunk will result in many arguments being passed to the function since everything is so tightly coupled. | 23:10 | |
| dalek | r: aaab154 | bacek++ | t/pbc/keys.txt: Fix Keys test. Auto-vivification of nested aggregates was removed. |
23:15 | |
| cotto_work | bacek: yes | 23:17 | |
| bacek | cotto_work, it's kind of... weird. And bad. We probably broke all of our HLLs. | ||
| cotto_work | Matt221: smaller functions are nice if possible. The whole refactoring of fill_params is pretty experimental. | 23:18 | |
| bacek | At least PIRATE was broken | ||
| cotto_work | I thought he was going to put it in a branch. | ||
| bacek | What is current replacement for "fixed_8" encoding? | ||
| plobsing | "binary"? | 23:20 | |
| bacek | plobsing, hm. Is it default encoding in IMCC? | 23:22 | |
| plobsing | pretty sure IMCC uses whatever the interp says is the "default" encoding | 23:23 | |
| it can be set by the user | |||
| Matt221 | cotto_work: Thanks, wasn't sure what you mean by checking for performance issues. | 23:26 | |
| Making a call to a C function shouldn't be expensive | |||
| *meant | 23:27 | ||
| bacek | plobsing, "invalid encoding 'default'". Looks like it's not available from PIR. | 23:28 | |
| cotto_work | Matt221: no, but that code is called very frequently and has potential to slow down parrot meaningfully. | 23:29 | |
| dalek | r: 7efeeef | bacek++ | src/PIR/Actions.pm: Use "binary" instead of "fixed_8" encoding as default. plobsing++ |
||
| r: 2376574 | bacek++ | t/post/ (7 files): Fix test to use binary encoding |
23:36 | ||
| bacek | cotto_work, PIRATE now again in pretty good shape. Feel free to finish it :) | ||
| cotto_work | bacek: that sounds like a fun thing to do this weekend. What needs doing? | 23:38 | |
| plobsing | bacek: to get the default encoding by name, you need to pass STRINGNULL | 23:39 | |
| see src/string/encoding.c:Parrot_find_encoding_by_string | 23:40 | ||
| bacek | plobsing, thanks, I'll try it (later) | 23:41 | |
| cotto_work, no idea. I almost forgot about todo list for pirate... | 23:42 | ||
| May be on RTM there is something | |||
| cotto_work, "Implement ".const 'Sub'" handling. Looks like it's last one before self-hosting stage." | 23:43 | ||
| Implement handling of additional CLI params. E.g. "--debug" | 23:44 | ||
| this two | |||
| cotto_work | what would --debug do? | ||
| can you update the PirateTodo page? | |||
| nm. that's my page | 23:45 | ||
| I'll update it | |||
| bacek: what about using PIRATE | |||
| s POST in nqp-rx? | 23:46 | ||
| bacek | cotto_work, "$P0 = compreg 'PIRATE'", etc. | ||
| ah... this one will require more effort. | |||
| cotto_work | yeah | ||
| bacek | 1. update parrot's POST to PIRATE's version. | ||
| 2. Change nqp-rx to use PIRATE. | 23:47 | ||
| 3. Bring tree-optimizations into parrot. | |||
| cotto_work | Why is that third? | ||
| bacek | because we do need it for PIRATE. | ||
| Check src/PIR/Compiler swap_gtge | 23:48 | ||
| # Swapping "gt" and "ge" with "lt" and "le" | |||
| # There is no gt_i_i_ic, so we have to swap it with lt | |||
| etc, etc, etc | |||
| dalek | m-eta-wink-kzd: fc8ca8c | plobsing++ | / (4 files): combine Parser library into OMeta base library |
23:49 | |
| m-eta-wink-kzd: b1bd60e | plobsing++ | src/ometa-winxed.pir: rebootstrap |
|||
| m-eta-wink-kzd: 3bbd5dd | plobsing++ | / (5 files): move libraries to more Winxed-friendly filenames |
|||
| m-eta-wink-kzd: 23d8ea2 | plobsing++ | src/ometac.winxed: add compiler program |
|||
| cotto_work | bacek: what needs fixing in tree-optimizations? I recall that there was something blocking it from being merged, but I don't recall what. | 23:50 | |
| bacek | cotto_work, I don't remember either... | 23:51 | |
| I think we can just put it into ext/ | |||
| Preferably overtaking github's repo from tcurtis to parrot | 23:52 | ||
| dalek | tracwiki: v4 | cotto++ | PirateTodo | ||
| tracwiki: trac.parrot.org/parrot/wiki/PirateT...ction=diff | |||
| cotto_work | I thought the plan was to make it an internal component. It'll need to be if we distribute PIRATE as part of Parrot. | ||
| bacek | cotto_work, hm. It can be bundled with parrot. In same terms as nqp-rx. We just need some working snapshot of tree-optimizations. Development can be independent. | 23:54 | |
|
23:55
kid51 joined
|
|||
| bacek | And tree-optimizations is much more powerful to be used with PIRATE only :) | 23:55 | |
| cotto_work | of course | ||
|
23:56
fperrad left
|
|||
| bacek | anyway, time for some shopping | 23:57 | |
| c u | |||