|
Parrot 3.5.0 "Menelaus" released | parrot.org | Log: irclog.perlgeek.de/parrot/today Set by moderator on 27 June 2011. |
|||
|
00:06
Kulag left,
Kulag joined
00:21
kid51 joined
00:36
preflex left
00:39
preflex joined
00:42
rurban_ joined
00:44
rurban left
00:45
rurban_ is now known as rurban
00:51
davidfetter joined
|
|||
| whiteknight | For anybody who follows python-related stuff, here's an extremely embarrassing story: www.zdnet.com/blog/violetblue/when-...oversy/509 | 00:52 | |
| I sincerely hope that nothing like that filters into the Parrot world | |||
|
00:52
davidfetter left
01:04
daniel-s joined
|
|||
| soh_cah_toa | eh, yeah...i'm no prude but that is a bit inappropriate | 01:21 | |
| dalek | rrot/soh-cah-toa/hbdb: f2c195e | soh_cah_toa++ | frontend/hbdb/main.c: Fixed compilation of .pir files by comparing file extension against '.pbc' instead of 'pbc' and calling Parrot_api_load_bytecode_file() inside an 'else' clause (whiteknight++) |
01:36 | |
| rrot/soh-cah-toa/hbdb: c8334be | soh_cah_toa++ | / (5 files): Defined hbdb_load_source() and its associated Parrot_api_* wrapper for loading source files into memory |
|||
| rrot/soh-cah-toa/hbdb: d01a192 | soh_cah_toa++ | / (2 files): Added initial implementation of 'list' command and defined get_cmd_argument() for parsing numerical command arguments. Also temporarily de-consted a few declarations to avoid present and future headaches. |
|||
| whiteknight | soh_cah_toa: | ||
| soh_cah_toa++ | |||
| soh_cah_toa | yeah, i'm making some headway | 01:37 | |
| some | |||
| whiteknight | awesome | ||
| okay, I'm off to bed. Back to work tomorrow, which I am not looking forward to | |||
| soh_cah_toa | see ya | 01:38 | |
| whiteknight | later. Keep up the good work! | ||
|
01:38
whiteknight left
|
|||
| dalek | kudo/nom: 4336ba9 | Coke++ | t/spectest.data: note more spectest failure modes. |
02:12 | |
| rrot-libgit2: a29694c | dukeleto++ | t/001_load.pir: Add a test which loads git2.pbc |
02:19 | ||
|
02:22
kid51 left
|
|||
| Coke | msg cotto if inspect_str can return anything... what is the point? why are attributes not sufficient? | 02:34 | |
| aloha | OK. I'll deliver the message. | ||
| Coke | msg cotto I recommend just deprecating the whole mess and removing it, unless there's a compelling use case for HLL users. | 02:35 | |
| aloha | OK. I'll deliver the message. | ||
| dalek | rrot: 27cc427 | util++ | PLATFORMS: Update PLATFORMS for new gcc version |
||
| TT #840 reopened by coke++: t/op/io.t fails on win32 | 02:38 | ||
| TT #840: trac.parrot.org/parrot/ticket/840 | |||
| rrot-libgit2: 5d32e71 | dukeleto++ | t/001_load.pir: Start a test for git_repository_open |
02:40 | ||
|
02:47
lichtkind left
|
|||
| cotto | dukeleto++ | 03:03 | |
| dalek | rrot/soh-cah-toa/hbdb: f8d245d | soh_cah_toa++ | frontend/hbdb/main.c: Renamed fail() to show_last_error_and_exit(). As much as I hate the name, it is more consistent with the rest of Parrot's other frontend programs. |
03:14 | |
|
03:14
bubaflub joined
|
|||
| bubaflub | ~ | 03:17 | |
| msg jay great! i'll be working on generating NCI thunks soon. i'll write up some detailed docs on how exactly to do it so two of us won't have to trailblaze. | 03:18 | ||
| aloha | OK. I'll deliver the message. | ||
| jay | Still here. | ||
| Quickie: 'vppi' I assume v is void, i is integer, but p? I thought I had a page explaining it but lost track of where it was. | 03:19 | ||
| cotto | I need to teach aloha about that. | ||
| plobsing | jay: p is for pointer | 03:20 | |
| cotto | compilers/pct/src/PAST/Compiler.pir | ||
| jay | ah. Thanks, will copy that. | ||
| dalek | rrot-libgit2: e968f76 | dukeleto++ | / (3 files): Add some tests and update the NCI file for the new dev API This commit uses the API on the 'development' branch of libgit2, adds a test which actually gets far enough for libgit2 to core dump Parrot in git_repository_open (repo_out=0x0, path=0x13f5538 "") at /home/leto/git/libgit2/src/repository.c:347 |
03:21 | |
| rrot-libgit2: d04e023 | dukeleto++ | / (5 files): Tweak our header-reading regex and reap more function bindings |
|||
| rrot-libgit2: f75cb2e | dukeleto++ | t/001_load.pir: Correct the function signature of git_repository_open in our test |
|||
|
03:25
bluescreen left
03:30
simcop2387_ joined
03:31
simcop2387 left,
simcop2387_ is now known as simcop2387
|
|||
| cotto | seen mro | 03:58 | |
| aloha | mro was last seen in #parrot 8 hours 29 mins ago saying "cotto: okay. I'm heading out now. Have a nice day!". | ||
| dalek | rrot-libgit2: 830e0fd | dukeleto++ | src/git2.winxed: Add a stub winxed class that generates a StructView for a git_repository data structure |
04:15 | |
| rrot/m0-prototype: 436416b | mro++ | t/m0/integration/m0_ (4 files): Add tests for M0 register ops. |
04:17 | ||
| rrot/m0-prototype: c8ff7a0 | mro++ | t/m0/integration/m0_ (7 files): Fix TAP output from M0 integration tests. |
|||
| rrot/m0-prototype: e7365ae | cotto++ | t/m0/integration/m0_set_ref.m0: remove a bit of apparently dead code |
|||
| cotto | msg mro I pulled your m0-test branch. Thanks! | ||
| aloha | OK. I'll deliver the message. | ||
| cotto | dukeleto, ping | 04:27 | |
| dalek | rrot-libgit2: a891178 | dukeleto++ | src/ (3 files): Move Winxed code to a new subdir along with generated PIR |
04:29 | |
|
04:34
logie joined
|
|||
| dukeleto | cotto: pong | 04:58 | |
| cotto | dukeleto, I'm thinking about M0 strings. If M0 is based on words, I'm having a hard time avoiding the conclusion that strings manipulation will need to based on blocks of multiple characters. | 04:59 | |
| dukeleto, not sure if there's a question in there. I'm just trying to figure out what string and character manipulation will look like in that context. | 05:01 | ||
| dukeleto | cotto: ok. padding to the nearest word should be possible | 05:02 | |
| cotto | dukeleto, sure. chromatic actually suggested that at os bridge. | 05:03 | |
| it'd make hashing simpler | |||
| I'm tempted to add a couple ops to deal with individual characters. | 05:07 | ||
|
05:12
zby_home joined
05:16
fperrad joined
|
|||
| dalek | rrot/soh-cah-toa/hbdb: 907e660 | soh_cah_toa++ | frontend/hbdb/main.c: Moved definition of show_last_error_and_exit() to preserve alphabetical order of functions. Wrapped Parrot_api_destroy_interpreter() inside an 'if' statement. Also, cleaned up POD documentation a little bit. |
05:21 | |
| rrot/soh-cah-toa/hbdb: c99d54b | soh_cah_toa++ | / (4 files): Added initial version of HBDB tutorial in docs/hbdb.pod. It is still in the making. |
|||
|
05:28
soh_cah_toa left
05:29
logie left
|
|||
| dalek | kudo/nom: 6d53c0a | moritz++ | / (2 files): fix chomp |
05:34 | |
|
05:40
logie joined
05:50
logie left
05:54
theory left
|
|||
| dalek | kudo/nom: b901bc0 | moritz++ | / (2 files): implement &keys, &values, &kv, &pairs |
06:10 | |
|
06:12
luben left
06:36
zby_home left
07:43
mj41 joined
|
|||
| dalek | kudo/nom: 1bb2883 | moritz++ | / (5 files): Hash.invert, List.end, tests |
08:08 | |
|
08:42
rurban_ joined
08:44
rurban left,
rurban_ is now known as rurban
|
|||
| dalek | kudo/nom: 9d969c0 | moritz++ | / (3 files): classify |
09:26 | |
|
09:56
simcop2387_ joined
09:57
simcop2387 left,
simcop2387_ is now known as simcop2387
10:25
Drossel joined
|
|||
| dalek | kudo/nom: 1478b35 | pmichaud++ | src/core/ (2 files): Let Parcel.values fall back to Any.values. |
10:26 | |
|
10:27
Kulag left
11:32
dod joined
11:38
contingencyplan left
|
|||
| dalek | kudo/nom: d9fcb90 | moritz++ | / (2 files): Port Hash.push over from master This doesn't quite work yet, running S32-hash/push.t causes infinite recursion involving some List methods - maybe something that pmichaud++ can investigate? |
11:50 | |
| kudo/nom: acda02a | moritz++ | t/spectest.data: end.t did not pass, my mistake. Sorry. |
|||
|
12:19
mtk joined
12:24
JimmyZ joined
12:25
mtk left
12:31
mtk joined
12:35
bluescreen joined
12:40
whiteknight joined
12:45
ambs joined
|
|||
| whiteknight | good morning, #parrot | 12:46 | |
|
12:47
Coke left
12:48
Coke joined
|
|||
| tadzik | good morning whiteknight | 12:49 | |
|
12:51
JimmyZ left
|
|||
| whiteknight | hello tadzik, how are you doing today? | 12:51 | |
| tadzik | pretty fine. I've just started refactoring yesterday's beast commit | ||
|
12:52
JimmyZ joined
|
|||
| whiteknight | beast commit? I'll have to take a look at that | 12:53 | |
| tadzik | oh, don't worry. That's just mine, and to rakudo/podparser | ||
| I officialy... well, maybe just dislike, Pod tables | 12:54 | ||
| whiteknight | I've never been a fan of the syntax | 12:55 | |
| not that there are many good alternatives | |||
|
13:01
Coke left,
Coke joined
|
|||
| whiteknight is running smoke on win64 now | 13:01 | ||
| okay, I've got the spawnw.t failures fixed. I'm tracking down the nci failures now | 13:37 | ||
| bubaflub | ~ | ||
| whiteknight | $P0 = dlfunc <null>, "func", "sig" returns an Undef | 13:39 | |
| passing in PMCNULL as the first in-arg to dlfunc doesn't seem to work on windows | |||
|
13:51
logie joined
|
|||
| whiteknight | trac.parrot.org/parrot/ticket/2148 | 13:51 | |
| dalek | rrot: fa9e3a3 | Whiteknight++ | t/op/spawnw.t: On windows, the path to the perl binary contains backslashes. Changes double quotes to single quotes so the backslashes don't create weird string problems. This fixes spawnw.t on windows |
13:52 | |
|
13:53
PacoLinux joined
|
|||
| Coke | pmichaud: o/ | 13:54 | |
| jay | ping bubaflub | 13:55 | |
| bubaflub | jay: pong | ||
| jay | bubaflub: If I understand correctly: GMP uses various scripts to get Raw.pir, and you use libffi to get things working? You aren't using the parrot_nci_thunk_gen utility at this point? | 13:56 | |
| bubaflub | jay: yep, that's correct. | ||
| jay: i will eventually use parrot_nci_thunk_gen to generate all the signatures that aren't currently included with Parrot and remove the libffi dependency. but for now, it's there. | 13:57 | ||
| jay | < phew > Thanks. I'm trying to write some docs with a concise example and discussion of these issues as I learn. | ||
| Right. I'm minimalist with dependencies. Don't like them if I can avoid them. Would rather get to a 'best practices' solution sooner rather than later. | 13:58 | ||
| bubaflub | jay: yeah. i think libffi is good for development because it's just one less piece you have to worry about. | ||
| dalek | TT #2148 created by whiteknight++: t/pmc/nci.t fails on windows | ||
| TT #2148: trac.parrot.org/parrot/ticket/2148 | |||
| jay | bubaflub++. Will keep you posted on progress. | 13:59 | |
| bubaflub | jay: great. and if i figure out parrot_nci_thunk_gen stuff i'll write up something as well | 14:00 | |
| whiteknight | soh_cah_toa: ping | ||
| msg soh_cah_toa t/dynoplibs/debug.t is failing on windows, and I can't figure out why. Do you have any particular insight? | 14:01 | ||
| aloha | OK. I'll deliver the message. | ||
|
14:10
perl left
|
|||
| dalek | kudo/podparser: 597985d | tadzik++ | src/Perl6/Pod.pm: Refactor Pod.pm |
14:24 | |
|
14:29
logie left
14:34
hercynium joined
14:42
logie joined
|
|||
| cotto | ~~ | 14:49 | |
| whiteknight | good morning, cotto | 14:57 | |
| dukeleto | ~~ | 14:59 | |
| cotto | hi whiteknight | 15:01 | |
| dalek | rrot: 2940c80 | Whiteknight++ | src/ (2 files): On win32, if we don't have a valid library handle in Parrot_dlsym we can try to look up the module handle for 'libparrot'. This fixes t/pmc/nci.t on my system, and shouldn't make anything else any worse |
15:03 | |
|
15:06
ligne joined
|
|||
| whiteknight | hmmm... that fixes t/pmc/nci.t, but doesn't fix t/library/nciutils.t for some reason | 15:12 | |
| that's disheartening | |||
| it looks like exactly the same kind of failure | 15:14 | ||
| cotto | Could there be something hanging around that didn't get rebuilt? | 15:15 | |
| whiteknight | I'm doing a reclean+rebuild now | 15:17 | |
| I really wish we had more devs on windows | |||
| as a linux user, I am very sympathetic to the reasons why more of our devs don't do their hacking on that platform, but I wish there were more | |||
| dukeleto | whiteknight: this may be relevant: perlbuzz.com/2008/12/microsoft-will...hines.html | 15:22 | |
| i am not sure if it still exists | |||
| cotto | I think that's still going on. | 15:24 | |
| If anyone has the tuits to use it, I know who to talk to to find out. | 15:27 | ||
| whiteknight | I have windows at work, so I can do some limited testing stuff here | ||
| I also have a windows VM on my home computer, but I haven't set that up for hacking yet | |||
| I only use it for itunes | |||
| Although, I'm getting extremely close to blasting away my current ubuntu install, so that might take the VM with it | 15:28 | ||
| cotto | What's wrong with it? | 15:29 | |
| whiteknight | The mouse stopped working correctly after a software update. I can't figure out which update caused the error, and can't get it workign right | ||
| so I'm going to try and reinstall Ubuntu 10.04, or something else that was known-good | 15:30 | ||
| of course, with my laptop there's always a chance it's a hardware failure too, so if the software bit fails I don't know what I will do | |||
| cotto | that sounds like it might be difficult to work around | ||
| you can at least see if the same thing happens with a live cd | 15:31 | ||
| whiteknight | yeah, that's true. I could try that | ||
| cotto | those are great | ||
| whiteknight | The trackpad is no longer recognized as a trackpad, so I can't turn off things like the super-sensitive tap-to-click | ||
| so if my palm gets anywhere near it while typing, bad things happen. | 15:32 | ||
|
15:32
Kulag joined
|
|||
| whiteknight | Also, it's very jumpy and inconsistent. Sometimes it will work fine for a stretch. Sometimes the mouse won't work at all, and sometimes when I touch it it jumps around and activates all sorts of random shortcuts | 15:32 | |
| benabik | That's exactly the sort of thing I use live CDs for. I'd try 10.10 and 11.04. It might be that some config got screwed up with the upgrade. | 15:33 | |
| benabik doesn't trust Linux distro upgrades. | |||
| whiteknight | so I go to click on a hyperlink, but the mouse stops moving, so I try again and it bounces all the way to the left side of the screen, the browser minimizes, the volume dialog opens, and I get asked if I really want to shut down my computer | ||
| benabik: I'm getting to that point myself. | |||
| I've had more hardware-related problems from routine-looking software upgrades than I care to admit | 15:34 | ||
|
15:34
Drossel left
|
|||
| whiteknight | Last time this happened I used a little bit of forethought and partitioned up my disk to handle just this kind of situation | 15:34 | |
| so /home is on one partition that I shouldn't need to delete. I have two smaller partitions around for installing an OS on. so I should be able to install a new version of Ubuntu on the second of my smaller partitions and update grup | 15:35 | ||
| grub | |||
| *should* | |||
| TimToady | .oO("You have a semipredicate problem. You decide to solve it by throwing an exception. Now you have two problems.") |
15:38 | |
| whiteknight | TimToady: are you referring to our conversation from last night? | 15:40 | |
| TimToady | yes | ||
| I would urge y'all to get out the exception-happy mindset and do something more like Go does | |||
| whiteknight | yeah, not easy problems to solve | ||
| and what does go do? | 15:41 | ||
| TimToady | exceptions don't solve the must-be-handled part, and they destroy control flow, and with it, any hope for parallelism | ||
| Go returns two values, which is clunky, but you'll notice they're really good at parallelism now | 15:42 | ||
| whiteknight | so, to take that as our template, we would have a find_method op that returned (status, value)? | ||
| TimToady | (p6 solves it a different way) | ||
| whiteknight | At the PIR/PASM level, everythying is clunky and that's fine because humans shouldn't be writing it | ||
| TimToady | it's one way to do it | 15:43 | |
| whiteknight | I'm perfectly happy with that approach, by the way. I don't like throwing exceptions from C code | ||
| atrodo | how does p6 solve it? | 15:45 | |
| whiteknight | The idea of a dedicated Failure PMC type has been growing on me as well | 15:48 | |
| although that would require some non-trivial code slinging | |||
| TimToady | p6 does it by having lazy exceptions that are returned inband but are pretty easy to tell from normal | 15:49 | |
| (phone) | |||
| returning an exception with fail is different from with return | |||
| whiteknight | Okay right, so a Failure type could be that. It's easy to differentiate, it would contain an error message, and would have a .throw() method to convert to a real thrown exception | 15:50 | |
| TimToady | it's magic, but knows it needs to be handled | ||
| whiteknight | We would need to differentiate Failures in most codepaths, however. We run back into the semipredicate problem if we allow set_attr_str with a Failure value | ||
| or we simply ignore that hassle and tell users to "don't do that" as hard as they can | 15:51 | ||
| awwaiid | dukeleto: non-terminated quote error in 3rd paragraph of TPF grant update | 15:53 | |
| TimToady | anyway, I'm okay with anything that preserves control flow | 15:56 | |
| whiteknight | We're going to get to a point where we need something besides PIR to deal with all the changes we need to make to PIR | 15:57 | |
| plobsing | why do you need to change PIR for this? isn't it just an op change? | 16:00 | |
| whiteknight | depends how consistent we want to be | ||
| could be changes to many ops | 16:01 | ||
| plobsing | so change the op(s), then bump the oplib version (that's what versions are for no?) | ||
| whiteknight | deprecation policy. Can't just do that on a dime | 16:02 | |
| plobsing | ah | ||
| well, if you go the multi-return route, the signatures on the ops will be different and there will be no conflict in the interim period | 16:03 | ||
| whiteknight | unless we had a way to have multiple core oplibs in a single parrot binary, and select between them at runtime | ||
| dukeleto | awwaiid: danke | 16:04 | |
| whiteknight | that's true. We could add more op variants for this | ||
| but the thought of "more ops" really gives me chills | 16:05 | ||
|
16:05
lkundrak left
|
|||
| plobsing | the increase is only transitional. we'd deprecate the replaced ops. | 16:05 | |
| and more ops aren't really that big of a problem | 16:06 | ||
| JimmyZ didn't any language follows monthly deprecation policy, since most language is unactive, except NPQ and Rakudo. | |||
| plobsing | JimmyZ: the dep policy allows for HLL authors to upgrade versions at their own speed | 16:07 | |
| but not making changes because HLL authors aren't ready is a recipe for stagnation | |||
|
16:08
theory joined
|
|||
| JimmyZ | plobsing: well the only HLL authors are jnthn++ and pmichaud++, anyone else now? | 16:11 | |
| plobsing | you forget NotFound++ and several of our gsocers | 16:12 | |
| JimmyZ | well, Winxed uses pir, not parrot API | 16:13 | |
| dukeleto | JimmyZ: and fperrad++'s Lua and Coke++'s partcl | ||
| whiteknight | PIR is one of our APIs | ||
| JimmyZ | partcl doesn't follow policy, and may migrate to new NQP | 16:14 | |
| whiteknight: well, PRI never is in dep policy | |||
| dukeleto | also, all parrot-based libraries could be affected by API changes, not just HLL's | ||
| JimmyZ: huh? have you read api.yaml ? | |||
| JimmyZ | I am not saying dep policy is bad | 16:15 | |
| dukeleto | and we increasingly have lots more libraries, such as parrot-gmp and friends | ||
| JimmyZ: no one took it that way, but what you said definitely is confusing. what do you mean "PIR is never in dep policy" ? | |||
| JimmyZ | I am say dep policy now is a more like a blocker. | ||
| whiteknight | yes | 16:16 | |
| deprecation policy is a blocker | |||
| benabik | Depreciation slows the pace of change. That's somewhat the point. | ||
| dukeleto | seemingly, it is *meant* to be a blocker. | ||
| JimmyZ | It's useful in the near future, but now it's as usefule as you want | 16:17 | |
| dukeleto | benabik: indeed. It makes the pace of internal development slow enough that our users have a chance of keeping up | ||
| whiteknight: more feedback on whiteknight.github.com/2011/07/07/p...inues.html | |||
| benabik | And with git, we can maintain branches where we do catastrophic changes without injuring our users. | ||
| dukeleto | whiteknight: near init_top, some code formatting junk | ||
| JimmyZ | yes, deprecation policy is useful in the near future, but now it's not as usefule as you guys want | ||
| whiteknight | fuz | 16:18 | |
| dukeleto | whiteknight: and you have a 3. ??? where is seemingly shouldn't be | ||
| plobsing | JimmyZ: it isn't perfect, but we need some framework for managing changes. unmanaged changes tend to be unpleasant. | ||
| dukeleto | whiteknight: also, i really like $P0 = load_bytecode "foo.pbc" # NEW version (GOOD) | 16:19 | |
| whiteknight: what does that do when foo.pbc can't be found? | |||
| whiteknight: i hate that currently load_bytecode silently fails | |||
| whiteknight | dukeleto: At the moment, I think it's an exception | ||
|
16:20
mj41_nb joined
|
|||
| dukeleto | mj41_nb: howdy | 16:20 | |
| whiteknight | I could change it to return PMCNULL or something similar | ||
| dukeleto | whiteknight: anything is better than silent failure | ||
| JimmyZ: we have refactored our dep policy before (from 6 to 3 months), so if you have suggestions for improving it, please let us know | 16:21 | ||
| JimmyZ | dukeleto: yes, I know that :) | ||
| dukeleto | JimmyZ: just reminding you :) | ||
| JimmyZ reads irclog everyday | 16:23 | ||
| dalek | p: 5335b5b | jonathan++ | src/pmc/sixmodelobject.pmc: Fix to make sure --trace=1 output is more useful (pmichaud++ for noticing the issue). |
16:24 | |
| Coke | "partcl doesn't follow policy" excuse me? | ||
| dukeleto gets popcorn | 16:25 | ||
| JimmyZ: i think there may have been some "lost in translation" regarding what you meant about partcl | |||
| benabik | I'm noticing in PIRate that there's some commentary on the difficulty of loading generated bytecode? Has that changed? bacek just wrote the packfile to a tempfile. Is there a way to load it into the interp immediately now? | 16:26 | |
| dukeleto | benabik: have you read whiteknight.github.com/2011/07/07/p...inues.html ? | ||
| JimmyZ | dukeleto: well, that's most because of my poor english :) | ||
| dukeleto | benabik: seems like that stuff just changed a bit, for the better | ||
| benabik | dukeleto: It's in my reading list... | ||
| dukeleto: I never quite caught up after YAPC, so I'm a few days behind in my articles. | 16:27 | ||
| dukeleto | JimmyZ: yes. I am trying to make sure no one feels offended. Can you explain more about what you meant by that? Coke would appreciate it. | ||
| whiteknight | it hasn't changed yet. I haven't merged my latest branch | ||
| I'm waiting till after 3.6 release | |||
| benabik | whiteknight++ | ||
| Coke | I'm not offended, btw. I'm just very confused. ;) | ||
| dukeleto | docs with no examples make me angry, case in point src/pmc/structview.pmc | 16:31 | |
| JimmyZ | I love lua, and tcl, though I didn't use them much or at all. so I'd say partcl doesn't follow policy, just because it's unactive recently | 16:32 | |
| benabik | whiteknight: It looks like a PIR example continues after the code block stops. `init_top:` | ||
| JimmyZ | s/so//g | 16:33 | |
|
16:35
mj41_nb left,
mj41 left
|
|||
| plobsing | dukeleto: what are tests but examples by another name? | 16:35 | |
| dalek | rrot-libgit2: 061f14f | dukeleto++ | / (2 files): Attempt to initialize our StructView for git_repository correctly and add winxed->pbc to makefile |
16:37 | |
| dukeleto | plobsing: for me and you and parrot core devs, yes. But the argument does not hold water for "real" end-users | ||
| plobsing: also, reading t/pmc/structview.t did not enlightenment as much as I wanted | |||
| plobsing: i currently have github.com/letolabs/parrot-libgit2...mon.winxed | 16:38 | ||
|
16:39
JimmyZ left,
ambs left,
ambs joined
|
|||
| cotto_work | ~~ | 16:39 | |
| dukeleto | plobsing: and I want to create a structview for this: github.com/libgit2/libgit2/blob/de...tory.h#L27 | ||
| plobsing: can you please give me some guidance? | 16:40 | ||
| whiteknight | benabik: fixed. Thanks | 16:41 | |
| Coke | partcl-nqp isn't failing any new tests. | 16:42 | |
| plobsing | dukeleto: it should be telling you it doesn't know how to handle the 'struct' element type. which it does not. | ||
| StructView does not magically support nesting | |||
|
16:42
rurban_ joined
|
|||
| plobsing | to support nested structs, you can either inline them, or represent them as buffers | 16:43 | |
| Coke | and neither is partcl-old. | 16:44 | |
| dukeleto | plobsing: ok. is there an example of "represent them as buffers" ? Inlining is fine for now, but I don't quite know what you mean about buffers | ||
| Coke | (and man does the old partcl seem to be faster than the nqp-rx one. :( | ||
| so, \\o/ - it's been months since I tested that, and nothing major has broken. | |||
|
16:44
rurban left
16:45
rurban_ is now known as rurban
|
|||
| whiteknight | that's a good sign | 16:45 | |
| Coke: how long are you planning to have both? | 16:46 | ||
| Coke | setting up benchmarking is hard, but partcl's speed has always been bad. | ||
| plobsing | dukeleto: there is no example of buffers currently, but its use is documented in src/pmc/structview.pmc. | ||
| Coke | whiteknight: the plan was: until the -nqp version could do everything the PIR version could. | ||
| plobsing | and the use is similar to other types | ||
| Coke | ... which is probably never, given that nqp-rx is now obsolete. | 16:47 | |
| whiteknight | Coke: okay, so how far away is that milestone? | ||
| is nqp-rx obsolete? We're not getting rid of it or anything | |||
| Coke | so, next step: get partcl-nqp running on nqp (not nqp-rx), or on perl6 itself. | ||
| whiteknight: given that perl6 is moving to nqp, I can't see we're going to keep it long term. | |||
| whiteknight | Coke: maybe not. Depends what we need from it. If we decide to keep it around as a Parrot-run system language, it could hang around for a while | 16:48 | |
| it doesn't conflict with newer NQP, there's no reason we can't have both | |||
| Coke | (though we still have TGE/PGE, so who can say. I'm not sure why we still need so many toolsets) | ||
| atrodo | So many, very similar, toolsets | 16:49 | |
| Coke | whiteknight: why? because we only have so many support tuits, mainly. | ||
| NotFound | Benchmarkig is hard, let's go shopping! | ||
| whiteknight | Coke: We have TGE/PGE because people still use them. They hardly eat up any support tuits | ||
| Breaking lua because we don't like the code but aren't really supporting it is hardly worthwhile | 16:50 | ||
| Coke | anyway, hacking on partcl hasn't been fun in ages. I can't imagine any serious work on that front until the tools (and parrot) settle down and get faster. | ||
| (and provide better debug and profiling support) | |||
| benabik | whiteknight: After using it for a bit, I don't see much value in NQP as a system language. It spends a decent amount of time enforcing Perlesque semantics on top of Parrot, which many people don't need. | 16:52 | |
| whiteknight | benabik: that's always sort of been my impression too. Too much perl semantics, not enough parrot semantics | ||
| Coke | ... or if something catches my eye. | ||
| whiteknight | That's why I do all my hacking now in Winxed | ||
| Coke | Given how perl5-ish parrot has tried to be, that's amusing to me. ;) | 16:53 | |
| atrodo | whiteknight> winxed is a much better fit | ||
| Coke | but, I can't see writing everything yet again in winxed, either. | ||
| whiteknight | Parrot doesn't try to be perl5-ish anymore. In fact, we're doing our damndest to deprecate and remove everything from those times | ||
| benabik | Does winxed store variables in registers? And how does it handle lexicals? | ||
| whiteknight | benabik: yes and well | ||
| it doesn't have the built-in parser functionality that nqp has | 16:54 | ||
| Coke | does winxed have .hll support? | ||
| whiteknight | yes | ||
| plobsing wrote an o-meta port for winxed. I assume that is still working well | |||
| Coke | (Given that I need regexes, I think I'll still with nqp of some variety.) | ||
| plobsing | dukeleto: the jist of representing nested structs as buffers is that StructView supports opaque nested objects (when provided with size and alignment specification). Access is performed through PtrBuf PMCs. Getting returns a PtrBuf to the buffer region, setting performs a memcpy. | 16:55 | |
| benabik | winxed.org needs some updating... It should point at github instead of code.google and a link to whiteknight++ intro stuff would be handy. | ||
| plobsing | whiteknight: it may need some fixups, but, like winxed, it is very flexible and hard to break. | ||
| NotFound | The .hll support needs some care, is almost unuseful right now. | 17:00 | |
| dalek | kudo/nom: 6849c6f | jonathan++ | src/core/ (2 files): Implement nextwith and lastcall. |
||
| NotFound | benabik: there was some problem in the server, I think they used an old backup to restore it. | 17:01 | |
| I can't fix it yet, it seems that my ssh key is not restored. | |||
| benabik | NotFound: Ah. Fair enough. | ||
| Hmmmm... server backups. That might be a good idea. >.> <.< | 17:02 | ||
| NotFound | Lexicals: it now allows string, int an float lexicals, following recent parrot changes. | 17:03 | |
| whiteknight | once we get 6model and native attribute types, I think many things will become a lot faster | 17:04 | |
| that is certainly going to require some PIR op additions to leverage it | 17:05 | ||
| dukeleto | NotFound: how do you feel about making the winxed.org site something that everyone in the parrot github org can edit and improve? | 17:06 | |
|
17:07
mj41_nb joined,
mj41 joined
|
|||
| atrodo | cotto_work> ping | 17:08 | |
| NotFound | dukeleto: that server is shared and I use for free, I can't put much load on it. | 17:09 | |
| cotto_work | atrodo: pong | ||
| whiteknight | NotFound: You can create a webpage on github pages, and forward the winxed.org domain there | 17:10 | |
| NotFound | Yes, but if I spend time administering wikis ot the lke, less time for winxed itself. | 17:12 | |
| atrodo | cotto_work> I'm thinking more about how m0 will affect, and wanted to pick you brain a little since it's a little blurry to me | ||
| cotto_work | atrodo: how M0 will affect what? | 17:13 | |
| atrodo | yea, had a hard time explaining that... | ||
| basically, once m0 is "complete", how will it be integrated into parrot | |||
| cotto_work | That's something that I've been meaning to blog about for a while. | 17:14 | |
| atrodo | ( since i don't have time for hacking, i end up thinking) | ||
| whiteknight | cotto_work: please do | ||
| cotto_work | I also came up with a new batch of M0 issues to work on. Tonight is looking to be a good night for M0 hacking. | 17:16 | |
| atrodo | cotto_work> how much of parrot will be compiled to m0? the runcore? PMCs? All of the C code? | 17:17 | |
| cotto_work | atrodo: as much as we can convert | ||
|
17:18
darbelo joined
|
|||
| cotto_work | I expect C code to become the minority. | 17:18 | |
| atrodo | initially or eventually? | ||
| cotto_work | eventually | ||
| atrodo | what about initially then? There will be a time when there will be m0 and C at the same time, or not? | ||
| or do you mean "compile c to m0" by convert? | 17:19 | ||
| cotto_work | atrodo: yes. That's part of what needs to be planned. | ||
| (C + M0 living together) | |||
| I don't anticipate compiling C to M0. | |||
| atrodo | And that's the part that I'm having a hard time conceptualizing, the C + m0 odd couple | 17:20 | |
| cotto_work | It'll require some hackery. | 17:21 | |
| whiteknight | The runcore probably has to remain in C. That's the thing that runs the M0 | 17:23 | |
| After that, it's actually not too hard conceptually to make the switch | |||
| There are probably going to be some very big chunks we will want to do as atomic wholes: PMCs for instance might benefit from doing the whole shebang at once | 17:24 | ||
| cotto_work | A self-hosted runcore would be tricky. | ||
| benabik | M0 runcore, GC, some FFI stuff? | ||
| whiteknight | tricky and no apparent benefit | ||
| cotto_work | yes | ||
| benabik: that's about the extent of it, assuming you include ops as part of the runcore | 17:25 | ||
| whiteknight | PIR ops probably need to be rewritten in M0 first, I would imagine | ||
| to avoid the need for two runcores | |||
| benabik | cotto_work: Since M0 has a static set of ops, I would. :-) | ||
| I imagine there'd be some level of OS abstraction in C as well. Seems easier to do at that level. | 17:26 | ||
| atrodo | whiteknight> That's actually the easier part, thanks to bacek++ work on ops2c_llvm | ||
| whiteknight | atrodo: yes, I don't suspect it will be hard, only that it should be done early and in one big swoop | ||
| atrodo | whiteknight> It's the rest of the C code that is core to parrot, not even considering PMCs | 17:27 | |
| cotto_work | I want to plan around avoiding big monolithic changes. | ||
| whiteknight | cotto_work: I'm not sure how you're going to be able to in some places | ||
| cotto_work | whiteknight: where possible | ||
| whiteknight | PIR ops being the big example of something that needs to be done at once. Core PMC types likewise | 17:28 | |
| atrodo | whiteknight> Actually, I would think that PMCs would be doable piece-wise, but that's a gut feeling | ||
| whiteknight | I don't know how we're going to handle PMC types which are written in M0 trying to coexist with PMCs written in C. | ||
| atrodo: Something like VTABLE_foo needs to know how to dispatch itself. If there's not a common dispatch mechanism, we need to insert decision logic there | 17:29 | ||
| atrodo | Well, that is part of the whole issue tho | ||
| whiteknight | If you convert all PIR ops and all PMCs to M0 in one big go, you'll have a much better idea of what to do next. Things that call C -> VTABLE will be causing some of the most obvious slowdowns, so those things can be rewritten first. PCC is probably a good example of something to do early | 17:31 | |
| PCC would be a hell of a lot easier to convert if I can do those refactors I am talking about, because then all op processing happens in PIR anyway and there will be nothing to be converted | 17:32 | ||
| If we do that refactor first, I think a lot of things actually get much easier | |||
| atrodo | whiteknight> That's a lot of code to convert in one swoop, and I'd be concerned about timeline | ||
| whiteknight | atrodo: It is a lot, but if you do those big pieces bit by bit, the intermediate results are going to be unmanagably slow because of an increased number of context switches | 17:33 | |
| Unless the M0 runloop machinery becomes a hell of a lot less expensive | 17:34 | ||
| In any case, I cant imagine any of this work is mergable into master early on. A lot of it is going to have to be done in branches until we reach a point that is both stable and performant enough to be mergable | |||
| Maybe migrating the PIR ops would be a good starting point. That could be done and merged into master pretty quick because it doesn't fundamentally change the abstraction layer or the number of context switches | 17:36 | ||
| atrodo | whiteknight> And that's why i'm trying to pick brains. I can't see how having pre-lorito and post-lorito code can live in parallel | ||
| cotto_work | The first step is to figure out how to make M0 and C interact sanely. | ||
| whiteknight | but I'm starting to get the feeling like IMCC is going to be a huge impediment | ||
| atrodo | whiteknight> You may not have seen this: gist.github.com/1062861 | ||
| whiteknight | atrodo: nice | 17:37 | |
| atrodo | it's mostly bacek++ code to parse the C, I just wrote the code to output lasm | ||
| karma bacek | 17:38 | ||
| aloha | bacek has karma of 1674. | ||
| whiteknight | cotto: We may want a macroized preparser like ops2c. We could have M0 code fragments inlined into C source code files with something like M0_BEGIN/M0_END. Precompile M0 into C, then compile like normal | ||
| once we have entire files converted, we remove the macros and change the file extension, and built it entirely through the M0 assembler | |||
| jnthn__ | Anyone know offhand if Parrot does :call_sig on the caller side, or just callee? | 17:40 | |
| dukeleto | i see m0 being a long-lived git branch that will not be merged to master for a long-while, until the most basic parts of parrot internals are all m0bified | ||
| jnthn__: my gut tells me everything is done callee side, but i don't have evidence | |||
| jnthn__ | dukeleto: no no :) | ||
| dukeleto: The option is potentially valid on both sides :) | 17:41 | ||
| dukeleto: On the callee side as in "just give me the call sig" | |||
| (that certainly works since Rakudo relies on it) | |||
| And on the caller side as "just use this as the sig" | |||
| dukeleto | jnthn__: i misunderstood your question | ||
| jnthn__ | no worries | ||
| I kinda asked badly :) | 17:42 | ||
| Aww, it parses it but ignores it | 17:43 | ||
| atrodo | cotto_work, whiteknight> take for instance get_params_pc ( github.com/parrot/parrot/blob/mast...e.ops#L467 ) | 17:46 | |
| That uses several core parrot calls and conventions and raises a few questions. For instance, in a M0 world, how does it handle fill_params? | |||
| whiteknight | jnthn__: I don't believe it is implemented on the caller side | 17:47 | |
| I think it's only implemented on callee right now | |||
| I could probably fix that pretty quick. I'll play around with it in a branch tonight and see what comes of it | |||
|
17:48
fivetonsflax joined
|
|||
| whiteknight | well, I could add the ability. Adding the syntax to IMCC is always the more tricky beast | 17:49 | |
| jnthn__ | whiteknight: It's already parsed | 17:50 | |
| whiteknight: So it may not be so bad. | |||
| whiteknight: I'm not going to block on it, but I could probably also use it :) | 17:51 | ||
| whiteknight | jnthn__: I'm planning to fix up a lot of PCC stuff eventually, and that will definitely be a big part of the refactors if it doesn't happen before that | 17:52 | |
| basically, I'm planning a new invokecc op which takes a preassembled CallContext op as an additional argument, and a new getcontext op which retrieves the CallContext op without going through fill_params, for custom processing | 17:53 | ||
| then, if everything goes my way, I'm planning to rip out everything that isn't what I just mentioned :) | |||
| dalek | kudo/nom: da00ab7 | moritz++ | / (2 files): Str.lines |
17:58 | |
|
17:59
dmalcolm joined
18:03
zby_home joined
|
|||
| whiteknight | jnthn__: that refactor should be a performance win for Rakudo, since you do all your own processing right now anyway. We should be able to cut down significantly on the number of constants in your packfiles and improve call performance | 18:04 | |
| jnthn__ | whiteknight: Sound good. :) | 18:07 | |
| whiteknight: At some point I'll refactor our processing to resolve lexical names to register numbers and get faster binds too. | 18:08 | ||
| whiteknight | "our" = Rakudo's? | ||
|
18:08
zby_home left
|
|||
| jnthn__ | whiteknight: yes | 18:09 | |
| whiteknight | are those capabilities which can be backported into Parrot? | ||
| faster binds is nice for everybody, even if not everybody makes use of it | |||
| jnthn__ | whiteknight: I think Parrot already does bind directly into registers. | ||
| whiteknight | oh, Rakudo doesn't use Parrot's lexicals implementation? | ||
| jnthn__ | whiteknight: It does, but not as optimally as it could in this case. | 18:10 | |
| whiteknight | okay | ||
| jnthn__ | whiteknight: It doesn't show up high in the profiles at the moment really. But every little helps. | ||
| whiteknight: What does show up in my profiles these days is that HLL map is *slow*. | |||
| whiteknight: In nom and nqp we hll map Lexpad. | |||
| whiteknight | yeah, I always assumed that wasn't an optimal codepath | 18:11 | |
| jnthn__ | whiteknight: So that slowness hits every time we invoke something | ||
| It'd be better if HLL map just had an array | |||
| Right now it's a hash, but I dunno why | |||
| We only have 70 or so built-in PMCs and it's one array per HLL | |||
| whiteknight | urg, I would really like to have a lot fewer built-in PMC types | 18:12 | |
| but that's neither here nor there | |||
| jnthn__ | Well, I was guessing at the number | 18:13 | |
| whiteknight | either way, I know it's too many | ||
| jnthn__ | But the point is we don't win anything by it being a hash, and we lose plenty. | ||
| whiteknight | okay, so let's make the change | ||
| jnthn__ | Generally, anything that improves Sub invocation is helpful though. | ||
| whiteknight | it's just a hash idx -> idx, right? No names involved? | ||
| jnthn__ | That's one of the things we bottleneck on a load. | 18:14 | |
| Right, it's a hash mapping ints to ints | |||
| whiteknight | it seems like that's the kind of thing we could cache somewhere | ||
| jnthn__ | But we know those ints like in the range 0 < x < PMCs | ||
| *lie | |||
| So an array is fine, and far faster | |||
| whiteknight | if only C had efficient closures. | 18:15 | |
|
18:16
contingencyplan joined
|
|||
| NotFound | whiteknight: note that there are several unused functions in pcc, deleting them will mean less things to fix/change | 18:19 | |
| tapir2.ro.vutbr.cz/cover/cover-resu...rgs-c.html | 18:22 | ||
|
18:28
mj41_nb left
|
|||
| whiteknight | NotFound: I'm not sure if all those can be removed. Some of them look useful for extensions | 18:28 | |
| NotFound | whiteknight: then they need tests. | 18:29 | |
| whiteknight | no argument | ||
|
18:33
Eclesia joined
|
|||
| Eclesia | hi | 18:33 | |
| dalek | kudo/nom: 3d5e16b | jonathan++ | src/ (4 files): Implement nextsame and callsame. |
18:44 | |
|
18:54
lucian joined
|
|||
| nopaste | "NotFound" at 192.168.1.3 pasted "patch: use a FixedIntegerArray for HLL map" (60 lines) at nopaste.snit.ch/59611 | 18:59 | |
| NotFound | This pass all tests | ||
| whiteknight | NotFound++ | 19:01 | |
| jnthn__ | nice | ||
| whiteknight | I don't think we should merge that before the release. Create a branch for it for testing | ||
| NotFound | whiteknight: I suck at benchmarking, and even more with HLLs | ||
| whiteknight | NotFound: just create that branch. Other people will benchmark and test it | 19:02 | |
| NotFound | Every time I create a branch, Shiva kills a dinosaur. | 19:04 | |
| whiteknight | You've created many branches, I guess. I don't see many Dinosaurs left | ||
| Eclesia *save dinosaurs, cut branchs* | 19:05 | ||
| dukeleto | NotFound: that is svn branch, not git branch, right? | 19:07 | |
|
19:07
soh_cah_toa joined
|
|||
| NotFound | dukeleto: don't know, haven't learned enough theology. | 19:07 | |
| dukeleto | NotFound: also, a test for that patch would be awesomesauce | ||
| NotFound | dukeleto: What kinf of test? | 19:08 | |
| I hope we already have tests for hll mapping | |||
| dukeleto | NotFound: a test that covers that code | 19:09 | |
| NotFound: we might, but we might not for that PMC | 19:10 | ||
| NotFound | dukeleto: I don't understand. If HLL map works, that code is necesarily used. | 19:12 | |
| dukeleto | NotFound: "if hll map works", does that mean the code works | 19:13 | |
| and is tested? or just that it works? | |||
| NotFound: it would be interesting to see the coverage output of that patch | 19:14 | ||
| NotFound | You guys ask too much for a quick test. | 19:17 | |
| whiteknight | :) | 19:18 | |
| just create a branch! We'll do the rest! | |||
|
19:18
SHODAN joined
|
|||
| dukeleto | NotFound: no good deed goes unpunished ;) Thanks for the patch. | 19:21 | |
| NotFound: if you create a branch for it, we can take care of the rest, as whiteknight++ says. | 19:22 | ||
| NotFound | That's better :) | 19:24 | |
| dukeleto | Seems like everybody and their grandma has a LOLCODE interpreter code.google.com/p/mailchimp-lolcode-interpreter/ | ||
| * POOPONIT! - analogous to PHP's var_dump() for variable inspection | |||
| wow. | |||
| dalek | rrot/hllmap_fixed: fd7880a | NotFound++ | src/hll.c: use a FixedIntegerArray instead of a Hash for HLL mappings the array is created when the first HLLmap is done |
19:28 | |
| dukeleto | NotFound: it would be interesting to use the GCC compile farm to run tests or code coverage for a list of specified branches | 19:29 | |
| NotFound | dukeleto: in all tests I've done the speed of the farm machines is less than awesome, we should be careful with automated usages. | 19:31 | |
| dukeleto | NotFound: which machines are you using? | ||
| NotFound: some of them have 32 cores or more | |||
| NotFound: but yes, some of them are dog-slow | |||
| NotFound | dukeleto: I'm mostly interested in the architectures less available. But you're right, we can use the more powerful ones for that kind of tasks. | 19:32 | |
| whiteknight | right now, the "architectures less available" includes Windows | 19:37 | |
| it would be nice if we could get more hackage on that platform | |||
| NotFound | The only windows machine I have available is an old laptop with XP home. I've done some fixes in it on the past, but is not exactly my favorite sport. | 19:38 | |
| whiteknight | yeah, same. I have a windows XP home VM on my laptop. I can fire it up but it doesn't have much power | 19:39 | |
| and I have to install git on it, compilers, etc | |||
| NotFound | Specially considering that when someone does a fix with Strawberry, people complain that it fails with VC++ or something. | 19:40 | |
| whiteknight | right | ||
| I'm bummed that my fix to NCI this morning didn't fix all the nciutils.t tests | |||
| I can't figure out why, and that's bugging me | |||
| NotFound | I wonder: Why people want to be buildable with VC++ if they aren't unable to do even a minimal fix on it? | 19:41 | |
| whiteknight | Well, that's a good question. Some of these windows test failures have been around for a while. We're looking at two releases at least where they would have been a problem | 19:42 | |
| so the question is, is Windows/VC++ still able to be listed as a "supported" platform? Can we support it? | 19:43 | ||
| without a platform champion, it's hard to say that we really need to keep kicking the horse over it | |||
| NotFound | The only usefulnes I see is that ttbot quickly shows ugly old C violations. | 19:46 | |
| Coke | note one of the 2 primary rakudo developers is using windows. | 19:47 | |
| NotFound | Coke: with VC++? | ||
| Coke | believe so. | 19:49 | |
| whiteknight | a person who might be willing to jump in and save the day before a release is different from a "platform champion" | 19:52 | |
| Coke | we need to support it. if we don't have someone on the team, we need to advertise for a volunteer. | 19:55 | |
| It used to be particle, but i think he quit. | 19:56 | ||
| whiteknight | I can do a limited amount of testing and fixing. I'm sure jnthn__ could do the same in a pinch. If we need more than that, and we clearly do, we need another person | 19:57 | |
| dalek | kudo/nom: 68a64d7 | moritz++ | t/spectest.data: more passing test files |
||
| nxed/include_2: 2f249e5 | NotFound++ | / (3 files): Merge branch 'include' into include_2 |
20:00 | ||
| nxed: 2f249e5 | NotFound++ | / (3 files): Merge branch 'include' into include_2 |
20:03 | ||
|
20:06
whiteknight left
|
|||
| dalek | nxed: 68b0302 | NotFound++ | winxedst1.winxed: oops... set utf8 encoding on included files |
20:09 | |
| jay | I just upgraded from 3.3.0 to the master branch (I think) and my HLL built and tested, no problem. | 20:10 | |
| dalek | kudo/nom: 0056aeb | jonathan++ | src/Perl6/SymbolTable.pm: Avoid breaking encapsulation of Code objects in SymbolTable.pm. |
20:13 | |
| kudo/nom: 6c57fa9 | jonathan++ | src/ (5 files): Finish up (hopefully) dispatcher for multis, so we can [next|call][same|with] over those too. Makes the sub case work, which never did in master. |
|||
|
20:25
hercynium left
|
|||
| cotto_work | ~~ | 20:26 | |
| jay | NCI: recall I had trouble with a function call to a shared library with a non-trivial signature. After upgrading my libffi and upgrading from 3.3.0 to the current, the same code (previously failing) now works. Thanks, whoever, for that fix. | 20:30 | |
| dalek | nxed: 8d4f28d | NotFound++ | pir/winxed_compiler.pir: update installable compiler |
20:31 | |
|
20:33
lichtkind joined
|
|||
| lucian should write a blog post about not doing much work ... | 20:35 | ||
| Eclesia Victory . made the "HelloWorld" example working for Eria : nopaste.snit.ch/59666 | 20:37 | ||
| Eclesia ... in three weeks :x ... | |||
| NotFound | Eclesia++ | 20:39 | |
| Eclesia | I have the felling I reinvented the pct tools ... parser, token, pir binding, past tree lol | 20:41 | |
| NotFound | dukeleto++ final grant update | 20:43 | |
| dalek | rrot: f359882 | NotFound++ | ext/winxed/compiler.pir: update winxed snapshot: * builtins are now looked up as ordinary functions * $include |
20:46 | |
|
20:49
Eclesia left
|
|||
| dukeleto | NotFound: thanks. time to write more grants! | 20:53 | |
|
20:59
logie left
21:04
logie joined
21:05
simcop2387 left
21:09
nnunley left
21:10
ambs left
21:14
simcop2387 joined
|
|||
| Coke | dukeleto: speaking of grants, can you point at a code coverage run for me? | 21:19 | |
| Ah: tapir2.ro.vutbr.cz/cover/latest-c_c...api-c.html | 21:20 | ||
| cotto_work | unsurprisingly, the code that NotFound++ modified has test coverage, apart from a few error conditions | 21:22 | |
| aloha: coverage? | |||
| aloha | cotto_work: coverage is cv.perl6.cz or tapir2.ro.vutbr.cz/cover/cover-results/ | ||
| Coke | I thought fd7880aa6706fca4fd2d2a716827081d92f99a98 was not going to make it into this release? | 21:23 | |
| (notfound's hll FIA instead of Hash patch) | 21:24 | ||
| NotFound | Coke: is a branch | ||
| parrot/hllmap_fixed | 21:25 | ||
| Coke | blargh. looking at the URL for the commit, is the branch it's on listed anywhere? | ||
| The commit looks reasonable, anyway. sorry about my confusion about where it landed! | 21:26 | ||
|
21:27
fperrad left
|
|||
| NotFound | whithenight and dukeleto said "We'll do the rest!", ask them ;) | 21:27 | |
| cotto_work | Coke: no. It's listed in the message to parrot-commits, but not on the page since there's not necessarily a one-to-one mapping between commits and branches. | ||
| NotFound | Coke: is supposed to be an optimization, so there is no point in merging it before benmarching confirm (or denies) the intuition. | 21:29 | |
| I'm not chromatic, I can't give you numbers with 3 decimals. | 21:31 | ||
| cotto_work | First question: Do we have a benchmark that exercises hllmaps heavily enough to show a change? | 21:32 | |
| I don't think there's one in Parrot's tests. | |||
| jnthn__ | cotto_work: nom and nqp HLL-map LexPad, but I guess you're thinking a Parrot benchmark. | 21:33 | |
| cotto_work: The HLL mapping of LexPad was showing up as more expensive than I'd have expected in the profiling results I was looking at. | |||
|
21:34
simcop2387_ joined,
particle1 joined
21:36
particle left
|
|||
| cotto_work | jnthn__: can you recommend a benchmark, or will any long-running nqp code show an change? | 21:36 | |
|
21:36
simcop2387 left,
simcop2387_ is now known as simcop2387
|
|||
| jnthn__ | cotto_work: Just something invocation heavy. | 21:37 | |
| cotto_work: 6guts.wordpress.com/2011/06/28/anot...om-update/ - the integer one here | 21:38 | ||
|
21:38
Kulag left,
Kulag joined
|
|||
| jnthn__ | That's the one I profiled a bunch | 21:38 | |
| Eventually we'll optimize away a lot of the calls, but at the moment we do a bunch. | |||
|
21:39
perlite_ joined
|
|||
| cotto_work | jnthn__: sounds like a plan | 21:42 | |
| or enough of one to work with | |||
|
21:42
perlite left,
perlite_ is now known as perlite,
Psyche^ joined
21:43
mj41 left
21:46
Kulag left,
hercynium joined,
Kulag joined
21:47
Patterner left,
Psyche^ is now known as Patterner
21:50
SHODAN left
22:00
bluescreen left
22:04
whiteknight joined
|
|||
| whiteknight | good afternoon, #parrot | 22:07 | |
| bubaflub | afternoon whiteknight | 22:08 | |
| darbelo | o/ | 22:17 | |
| cotto_work | (4340513910-4252558577)/4340513910 | 22:24 | |
| aloha | 0.0202638062735756 | ||
| cotto_work | That's the result of my terribly unscientific testing of the impact of NotFound's patch on one of the snippets of Perl 6 from jnthn's blog post. | 22:25 | |
| modest improvement, nothing amazing | |||
| but 2% for a straightforward change is definitely worthwhile | 22:26 | ||
|
22:27
lucian left
|
|||
| jnthn__ | cotto_work: 2% is around what I was expecting. | 22:32 | |
|
22:32
kid51 joined
|
|||
| jnthn__ | cotto_work: That we spent 2% of runtime deciding what lexpad to create is kinda scary :) | 22:32 | |
| That's not even creating it :) | |||
| cotto_work | jnthn__: not the best use of time | 22:33 | |
| thanks for the suggestion | |||
| jnthn++ | |||
| jnthn__ | It kinda stood out in the profile. | ||
| Sub's invoke v-table is a real hotpath generally | |||
| Anything that helps us in there is gonna be good overall | 22:34 | ||
| This was just the most obvious saving. | |||
| dalek | nxed: dfd1b7d | NotFound++ | winxed (2 files): fix the checking for include file not open |
||
| cotto_work | jnthn__: is it worth running spectest_regression on Rakudo nom to make sure that the branch doesn't have any unintended side-effects? | 22:38 | |
| jnthn__ | You can (though it's just "spectest" these days) | ||
| Though I suspect it's highly unlikely there'll be any | |||
| dalek | rrot: 1794255 | NotFound++ | ext/winxed/compiler.pir: Update winxed snapshot to dfd1b7d222: |
22:39 | |
| cotto_work | Me too, but I don't like surprises. | ||
| dalek | nxed: 420d3d2 | NotFound++ | pir/winxed_compiler.pir: update installable compiler |
||
| tracwiki: v80 | tadzik++ | ParrotQuotes | 22:40 | ||
| tracwiki: trac.parrot.org/parrot/wiki/ParrotQ...ction=diff | |||
| tadzik | SCNR :) | 22:41 | |
| NotFound | Yesterday I was wondering with an idea: Parrot_ext_call can check if the pmc to invoke is a NativePCCMethod and take a shortcut avoiding to create a context in that case. | 22:43 | |
| Don't know if the difference will be noticeable | |||
| whiteknight | NotFound: if the check is cheap enough, it should be fine | 22:46 | |
| NativePCCMethod and NCI too | |||
| cotto_work | tadzik++ #that page hasn't been getting enough love lately. | ||
| NotFound | The check itself is cheap, but the shorcut is to copy around ren of lines from call/args.c | 22:48 | |
| s/ren/ten | |||
| cotto_work | I wonder if we could get another .5% by poking into the FIA | ||
| whiteknight | what FIA? | 22:50 | |
| cotto_work | the one that notfound added in his branch | 22:54 | |
| kid51 | whiteknight: Is smolder.parrot.org/app/projects/rep...ails/17429 your most recent smolder on Windows? | 22:55 | |
| whiteknight | kid51: it is my most recent smolder. I have since fixed t/pmc/nci.t | ||
| I didn't smolder after that | |||
| kid51 | Would you be able to smolder that? | 22:56 | |
| whiteknight | tomorrow morning I can | ||
| kid51: what time are you planning to cut the release? | |||
| kid51 | okay. Your report has the fewest number of failing files, so getting fewer failures there is probably as good as we can do. | 22:57 | |
| release: Next week! | |||
| But since I don't have a Win32 box, I need to rely on the kindness of strangers with Windows boxes. | 22:58 | ||
| whiteknight | oh shoot. I thought the release was tomorrow | 23:00 | |
| I really should learn how to read a calendar | |||
| dalek | kudo/podparser: 06f1c95 | tadzik++ | src/Perl6/ (3 files): Get rid of table_row_notempty insanity |
23:01 | |
| whiteknight | I'll take a look at it tomorrow morning too | 23:02 | |
| nopaste | "NotFound" at 192.168.1.3 pasted "patch: shortcut in Parrot_ext_call" (31 lines) at nopaste.snit.ch/59745 | 23:04 | |
| NotFound | whiteknight: here is | ||
| whiteknight | yeah, that's what I was thinking about | ||
| NotFound | Pass all tests | 23:05 | |
| whiteknight | nice | 23:07 | |
| cotto_work | (4340513910-4233745181)/4340513910 | 23:10 | |
| aloha | 0.024598176901131 | ||
| cotto_work | about .4% by poking into the FIA directly | 23:11 | |
| NotFound | I think it were more lines when I tested yesterday, but I lost it by mistake. This new attempts is a bit shorter :? | ||
| NM, I always get confused when poking around PCC | 23:13 | ||
| cotto_work: comparing with master, or with the branch? | 23:14 | ||
| cotto_work | NotFound: it's a ~2.5% improvement over master and about .4% over branch | 23:17 | |
| NotFound | Ah, yes, I see now. | 23:18 | |
| cotto_work | (4340513910-4233376894)/4340513910 | ||
| aloha | 0.0246830256097486 | ||
| cotto_work | (different run) | ||
|
23:24
kid51 is now known as kid51_at_dinner
|
|||
| dalek | Heuristic branch merge: pushed 203 commits to parrot/nqp_pct by Benabik | 23:24 | |
| whiteknight | holycrap | 23:28 | |
| benabik | Merge with master. | ||
| master ran ahead of me before and during YAPC | 23:29 | ||
|
23:33
hercynium left
23:34
dmalcolm left,
darbelo left,
darbelo joined
|
|||
| whiteknight | did the vtable_substr branch merge? | 23:49 | |
| I can't remember | |||
| yes, I think it did. Deleting it | |||
|
23:49
daniel-s left
23:50
daniel-s joined
|
|||
| benabik | whiteknight: `git branch --contains origin/vtable_substr` says "master" | 23:50 | |
| whiteknight | yeah | 23:51 | |