|
Parrot 5.0.0 "Johnny Five Alive" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 23 January 2013. |
|||
|
00:04
awwaiid joined
00:07
kid51 joined
00:17
Reini joined
00:49
Reini joined
01:21
Reini joined
|
|||
| Coke | I started a fork (because I wasn't sure if we wanted it in the main project) under coke/parrot where I'm experimenting with ripping out bits that rakudo isn't using. Happy to share if other people want to play. | 01:50 | |
|
01:56
Reini joined
|
|||
| cotto | Coke++ | 02:29 | |
| I'm starting to mess with taking out unnecessary bits too, but I want to get a coherent and compelling plan before I go too far in the wrong direction. | 02:31 | ||
|
02:36
Reini joined
|
|||
| Coke | after some false starts, I settled on "remove opcodes rakudo doesn't use" | 02:40 | |
| will also try to remove tge, pge, pct, parrot-nqp and winxed, but those are not as easy as opcodes. (and as you noted earlier, removing opcodes helps remove parrot-nqp) | 02:41 | ||
|
02:43
bacek joined
|
|||
| bacek | ~~ | 02:44 | |
| Coke | holy crap it's bacek. My second favorite russian! | 02:45 | |
| bacek | is anyone interested in aloha's DB dump? Just because my current workstation will be cleaned in next few days | ||
| Coke, aloha | |||
| benabik | I believe there was talk in #perl6 of resurrecting aloha on feather. | 02:46 | |
| I bet the DB dump would be useful for that. :-) | |||
| Coke | bacek: do you have an account on feather? | ||
| If so, you can dump it there, if not, let me know where I can grab it from. | 02:47 | ||
| bacek | Coke, no, I don't | 02:48 | |
| cotto | Coke: we need a json compiler before tge can go away | ||
| not hard but necessary | |||
| bacek: I'd like that, yes | 02:49 | ||
| also, hio | |||
| how big is it? | |||
| Coke | cotto: why do we need json in parrot? | ||
| part of the build somewhere? | |||
| cotto | Coke: yup. nci | 02:50 | |
| (of all things) | |||
| tools/dev/nci_thunk_gen.pir | |||
| Coke | ok. is rakudo using nci? | 02:51 | |
| (is parrot?) | 02:52 | ||
| bacek | twimc: aloha pg dump www.dropbox.com/s/35hcetnrjzwyd5m/aloha.zip | ||
| PerlJam | so ... will this reduced parrot be called parrotlet? :-) en.wikipedia.org/wiki/Parrotlet | ||
| bacek | feel free to grab an us it. | ||
| All code should be on github | |||
| ad, btw | 02:53 | ||
| and | |||
| twitter.com/bacek/statuses/160200224655163392 | |||
| twitter.com/bacek/statuses/160238166928928768 | |||
| 1+ year ago | |||
| afk | |||
| sorear | bacek!!!!! yo | ||
| Coke | bacek;grabbed a copy. probably won't touch it myself, but can hand it off to nice feather people. THanks | 02:54 | |
| dalek | rrot/sixparrot: 1fab5cd | coke++ | / (7 files): remove covers, exsec, hav, vers, and fact opcodes |
02:57 | |
| Coke | rant: it is way too easy to accidentally test the last installed version of parrot instead of the build verison. | 03:09 | |
| *version | |||
| (since the parrot in directory is linked against the install dir.) | 03:10 | ||
| cotto | goodbye, fact op. | ||
| Coke | Note that was in the sixparrot branch on my fork. Just so people don't freak out. :) | 03:12 | |
| cotto | yes, but its days are numbered | ||
| and it's not a big number | |||
| benabik | Coke: My build script actually removes my installed copy of parrot (using stow -D) before building and testing. It's a pain. | 03:13 | |
| cotto | github.com/perl6/nqp/blob/master/e...s/json.nqp is a goog likely starting point, *if* keeping json around is the best way forward. | 03:17 | |
| *good | |||
| Coke | how do you rebuild ops? | 03:24 | |
| ah, bootstrap-ops | 03:25 | ||
| cotto | yes | 03:27 | |
| bacek | sorear, aloha | 03:28 | |
| cotto | PerlJam: I had a parrotlet. They're awesome. | 03:29 | |
| uvtc | Coke, great name "sixparrot". :) | ||
|
03:30
uvtc left
|
|||
| benabik | fourparrot, fiveparrot, sixparrot, Ah-haha. | 03:30 | |
|
03:45
MikeFair joined
03:50
Reini joined
|
|||
| dalek | rrot/sixparrot: 2aa386d | coke++ | / (9 files): remove pin, unpin opcodes |
04:02 | |
| benabik | ... Has Parrot ever had a copying/compacting GC? | 04:28 | |
| bacek | benabik, nope. It's virtually impossible with current GC design. | 04:35 | |
|
04:37
Reini joined
04:40
Reini1 joined
|
|||
| cotto | benabik: That's one of those eventual goals that we never had enough collective tuits to get to. | 04:47 | |
| and yes, it'd be a substantial and fundamental change | 04:48 | ||
| benabik | Just wondering because without one, I don't see a lot of point to pin/unpin | 05:08 | |
| bacek | btw, pinning of Strings should stay | 05:09 | |
| string part of GC is compacting | 05:10 | ||
| Coke | bacek - sure, it's still possible, I didn't remove the c functions. | ||
| just the unused-by-rakudo opcodes | |||
| (this is in my playtesting fork, not parrot proper.) | 05:11 | ||
| bacek | Coke, yeah. Is there such thing as "parrot proper"? | 05:13 | |
| Coke | "the thing I forked from." | ||
| cotto | bacek: so now you're a magical coding robot philosopher? | 05:15 | |
| ;) | |||
| Coke finds a PMC he can remove. | |||
| cotto | BigInt and BigNum? | 05:16 | |
| Coke | Those too, though they were a little more tangled. (working on Complex now) | 05:17 | |
| cotto | I'm quite interested to see how many ops are really necessary. | 05:19 | |
| not implying priorities though | 05:20 | ||
| Coke | I'm just hacking. Happy to give out a commit bit if you want to hack on other things. | ||
| (hack as in "hack and slash") | |||
| benabik | Machete! | 05:21 | |
| Where machete is spelled `rm -rf`, perhaps? | |||
| Coke runs a rakudo spec test to see if he's broken anything. | |||
| bacek | cotto, nope. I always was | ||
| Coke, start with "Class PMC" and related ops. It will be a huge cleanup of totally useless code. | 05:22 | ||
| And yeah. Kill MMD with fire | 05:23 | ||
| Just kill it | |||
| And remove all of PCC nonsense | |||
| Coke | bacek - that's a lot of code to hack out. I'm starting with smaller stuff. It's on my list, though. | ||
| bacek | in terms of :slurpy/:flat | ||
| cotto | Doesn't nqp still rely on pcc? | 05:26 | |
| bacek | cotto, probably not | 05:28 | |
| benabik | It doesn't look like NQP has implemented custom call ops, and its bootstrap still has .param directives. I'm pretty sure it's replaced MMD though. | 05:41 | |
| dalek | rrot/sixparrot: 0a85e4c | coke++ | / (12 files): Remove Complex PMC |
05:43 | |
| cotto | We'll find out soon enough. | 06:05 | |
| arnsholt | Rakudo certainly has its own multimethod dispatch. Think NQP has custom stuff as well | 06:28 | |
| Coke | hurm. tried to remove fdiv, and now getting failures in t/native_pbc | 06:37 | |
| zzz | 06:38 | ||
|
07:07
Mike-PerlRecruiter_ joined
07:25
Reini joined
09:05
cosimo joined
09:09
cosimo joined
09:28
bouncy joined
|
|||
| dalek | kudo/spacey: ebf80f9 | moritz++ | tools/lib/NQP/Configure.pm: Small preparation to allow paths with spaces |
11:01 | |
| p/spacey: 8282ac5 | moritz++ | tools/lib/NQP/Configure.pm: Small preparation to allow paths with spaces |
|||
|
11:10
pjcj joined
|
|||
| dalek | p/spacey: ae3b47d | moritz++ | tools/ (2 files): more fixes to allow spacey paths |
11:11 | |
|
11:21
kid51 joined
|
|||
| dalek | rrot: 6ab9fdc | moritz++ | config/inter/libparrot.pm: [configure] quote libdir path for inst_libparrot_linkflags otherwise pbc_to_exe does not work with spacey paths when installed |
12:08 | |
|
12:19
brrt joined
12:36
xcombelle joined
12:41
kid51_ joined
13:55
PacoAir joined
13:57
bluescreen joined
14:04
Reini joined
14:14
not_gerd joined
|
|||
| not_gerd | some random notes on Parrot lite: gist.github.com/gerdr/4754609 | 14:15 | |
|
14:18
Reini joined
14:26
Psyche^ joined
14:41
contingencyplan joined
|
|||
| pmichaud | not_gerd (and others): see some of my comments on gist.github.com/gerdr/4754609 . | 15:24 | |
|
15:37
woolfy joined
15:38
Liz_ joined
15:40
Liz- joined
15:41
woolfy joined
16:01
brrt joined
|
|||
| cotto | ~~ | 16:14 | |
| brrt | hi cotto | 16:19 | |
| cotto | hi brrt | ||
| brrt | hows the parrot today? | 16:20 | |
| cotto | big, but hopefully not for too much longer | 16:21 | |
| brrt | :-) | 16:23 | |
| the good thing about the whole fallout is that there is a lot of energy coming from everyone all of the sudden | |||
| pmichaud | good morning | 16:24 | |
| Coke | morning. | ||
| dalek | rrot/lean: e5dae26 | moritz++ | / (45 files): rip out tge, and mostly data_json too parrot still builds, but you cannot generate new NCI thunks. Tough luck. |
16:30 | |
| brrt | hi everybody | ||
| brrt is very happy about seeing parrot live again | |||
| moritz | I have no idea if that is a productive approach, and if not, I'm happy to discard that branch | ||
| but I do like the statistics: | 16:31 | ||
| Coke | gah, we've already split our efforts? | ||
| moritz | 45 files changed, 4 insertions(+), 3528 deletions(-) | ||
| pmichaud | merges are supposedly easy, yes? ;-) | ||
| moritz | Coke: sorry, I didn't see any branch for that topic | ||
|
16:32
bluescreen joined
|
|||
| moritz | (and not a lot effort went into it, just stupid grepping and deleting) | 16:32 | |
|
16:32
dmalcolm joined
|
|||
| brrt | Coke, a few branches is nothing compared to the amount of new projects people keep introducing :-) | 16:32 | |
| Coke | moritz: I had started a fork to work on similar issues, with the thought that it wasn't ready for parrot proper. | ||
| moritz | Coke: ok, should I remove the branch and work on your fork instead? | 16:33 | |
| Coke | github.com/coke/parrot/tree/sixparrot | ||
| brrt is off, hopes to continue this discussion tonight | |||
| also, sixparrot is an awesome name | |||
| moritz | Coke: ok, will do | 16:34 | |
| Coke | moritz: eh. branches are cheap. I just wanted to make sure we all didn't get too far isolated. | ||
| moritz | Coke: want to give me a commit bit there? or do you prefer pull requests? | ||
| Coke | Why don't we figure out where the best place is first? ;) | ||
| pmichaud | or just create a sixparrot branch into the parrot repo | ||
| or a sixparrot repo | |||
| could even use this as an opportunity to prune a lot of git commit history | 16:35 | ||
| moritz | ah, I see that Coke++'s approach is much more moderated and sensible than mine | ||
| Coke | moritz: which means it is much slower. ;) | ||
| moritz | Coke: yes, but it felt bad ripping out stuff that stopped the NCI thunk gen from working, because it kills bootstrap | 16:36 | |
| cotto | moritz: I only got far enough down that path to see that removing data_json broke nci thunk gen, but I suspect that there's a cheap way to make it work again without data_json. | 16:37 | |
| Coke | ok. so let's keep the 2 approaches separate for just now, and we'll figure it out later. I'm willing to move my branch back inside the repo, or I can hand out commit bits for people that want to rip things out piecemeal. | ||
| moritz | is addrregistry.pmc used anywhere? | 16:39 | |
| Coke | moritz: you have privs in that fork if you want to use a scalpel to remove some stuff. ;) | 16:40 | |
| moritz | Coke: thanks | ||
|
16:41
bluescreen_ joined
|
|||
| dalek | rrot/sixparrot: 258652d | moritz++ | / (3 files): remove addrregistry PMC |
16:41 | |
| moritz | eeks | 16:42 | |
| I should use 'git grep -i' instead of 'git grep' | |||
| cotto | Yeah. That one's needed. | ||
| especially if you like things not to get prematurely GCd | |||
| moritz | sorry 'about the noise | ||
| dalek | rrot/sixparrot: 5b96c3e | moritz++ | / (3 files): Revert "remove addrregistry PMC" AddrRegistry is used in TGE This reverts commit 258652d70b17a89a5609ea0f76b02238ba0c16c1. |
||
| Coke | moritz: gist.github.com/coke/4755622 | 16:44 | |
| Feel free to move that into the repo as a todo/changelog combo. | |||
| moritz wonders if the 'vivify' op can be removed | 16:47 | ||
| pmichaud | I don't see vivify being used in nqp/src or rakudo/src | 16:48 | |
| Coke | [rakudo] $ ack -wa vivify src nqp #nada | 16:49 | |
| moritz | PAST uses a method named vivify, but apparently not the op | ||
| pmichaud | yeah, the method is what eventually inspired the op | ||
| moritz swings the sledge scalpel | |||
| Coke | looks like it's not used internally to parrot, either. | 16:50 | |
| allison | I'll axe TGE, if it's not done yet :) | ||
| a certain satisfying circularity there | |||
| Coke | moritz: I've also been removing parrot tests, and docs if there was an easy fix (like, eliding from the opcode list) | ||
| moritz | Coke: sure | ||
| Coke | allison: nci needs data_json needs tge (at the moment) | 16:51 | |
| allison | Coke: then working on replacing data_json is where I'll dig | 16:52 | |
| Coke | moritz: had a commit a moment ago in parrot/parrot/lean that just tried this. | ||
| allison | neat | ||
| Coke | allison: ISTR we used to use p5 to generate ops and nci thunks. we could revert back to those scripts. | ||
| cotto | There's also an example json compiler in nqp-rx and nqp's repos | 16:53 | |
| allison | Coke: at the rate we're deleting ops, I'm not sure it's even necessary to generate them | ||
| Coke | added @allisonrandal to coke/parrot, though you may want to play on your own first, Iunno. | ||
| allison | Coke: cool, thanks | ||
| dalek | rrot/sixparrot: c3bed91 | moritz++ | t/op/vivify.t: remove vivify opcode |
||
| rrot/sixparrot: 6227946 | moritz++ | sixparrot-TODO.md: add TODO file for sixparrot, mostly by Coke++ |
|||
| pmichaud | nqp and rakudo still need to be able to create ops | ||
| Coke | allison: only deleted 8 so far. ;) | 16:54 | |
| allison | Coke: that's good progress :) | ||
| pmichaud: you need to be able to write ops, but does it matter what language you write them in? | |||
| Coke | moritz: did you miss a file on c3bed91 ? | ||
| (looks like that's just the deletion of the test file) | 16:55 | ||
| allison | pmichaud: like, generate them one last time, check in the C code, and refactor from there? | ||
| pmichaud | allison: the language used isn't very important, no -- just that we have the ability to create the custom ops we need | ||
| Coke | (also need to remove the code from .ops and rebootstrap the ops.) | ||
| allison | pmichaud: that you will certainly have | ||
| pmichaud | and, of course, we don't want it to be horribly more onerous than what we currently have | 16:56 | |
| cotto | The build will be faster if the ops don't have to be regenerated. | ||
| pmichaud | build speed isn't a blocker for us. | ||
| Coke | the ops aren't regenerated now. (only the dynops) | 16:57 | |
| PerlJam | greetings. | ||
| pmichaud | so doing things to improve the build speed doesn't really enhance things for us. | ||
| Coke | I'd say it's a nice to have, but don't optimize for it. | ||
| cotto | pmichaud: noted | ||
| pmichaud | if improving build speed decreases programmer speed, it's a negative. | ||
| moritz | Coke: we[3~ | 16:58 | |
| Coke: will take a look :-) | |||
| laptop just overheated :( | |||
| pmichaud | allison: the "generate them one last time" concerns me; what happens if we need to create a new op? | 16:59 | |
| allison | pmichaud: well, for NQP, is it a problem to require a full NQP runtime for generating new ops? | 17:01 | |
| pmichaud: as in, bootstrapping | |||
| pmichaud | in the parrot repo or the nqp repo? | ||
| allison | in the nqp repo | 17:02 | |
| i.e. ignore the Parrot ops for a moment | |||
| pmichaud | that makes it sound like we're moving ops generation from being a parrot maintenance activity to an nqp one | ||
| not sure that's a plus for us | |||
| allison | say it's in the Parrot repo | ||
| pmichaud | that makes it sound like parrot needs a bundled copy of nqp | 17:03 | |
| (I'm sorry I don't have any good answers, I'm mainly playing devil's advocate) | |||
| allison | pmichaud: no more than it would need to be bundled with a copy of Perl 5 if we used that for generating ops | ||
| cotto | rather than bundling nqp-rx | ||
| allison | pmichaud: I'd rather depend on Perl 6 bits than Perl 5 bits | ||
| pmichaud | well, I don't think of having to "bundle" Perl 5, because Perl 5 is available almost universally | 17:04 | |
| moritz | Coke: what script do I have to run after deleting an op? | ||
| pmichaud | it's not like a copy of Perl 5 has to be held in a repo, for example. | ||
| there's a difference between "bundle" and "build requirement" | |||
| nqp already requires Perl 5 to build, that's not likely to change anytime soon. | |||
| allison | we can cut it as a build requirement by checking in the compiled source | ||
|
17:04
not_gerd joined
|
|||
| not_gerd | ~~ | 17:04 | |
| allison: see gist.github.com/gerdr/4754609#comment-771221 | 17:05 | ||
| allison | on the whole, NQP will make a saner compilation tool anyway, that's its purpose | ||
| not_gerd | the Perl5 version of nci_thunk_gen.pir was called tools/build/nativecall.pl | ||
| pmichaud: gist.github.com/gerdr/4754609/#comment-771221 | |||
| pmichaud | not_gerd: reading. | ||
| PerlJam | Assuming we do get a smaller, lighter, faster (maybe?) parrot ... what then? | 17:06 | |
| pmichaud | PerlJam: yeah, that's the part of the story that's missing for me. | ||
| allison | the code that a developer has to have installed are not necessarily the same as the built tools | ||
| not_gerd | pmichaud: possibility of refactor without having to care about all the baggage | 17:07 | |
| allison | PerlJam, I want a production usable Perl 6 | ||
| pmichaud | anyway, I'll hold my further objections for now. Overall, I don't want this to be an exercise of "we're making Parrot smaller by increasing the maintenance load on NQP" | ||
| allison | PerlJam, without the JVM | ||
| PerlJam | allison: so ... "faster" can't be a maybe in this process then? One of the goals is to get a faster Parrot? | 17:08 | |
| allison | PerlJam: yes, performance profiling is the key | ||
| pmichaud | if the end result is that nqp needs a lot of tools/stuff in order to be able to use Parrot-lite, we'll just stick with fat Parrot. | ||
| allison | PerlJam: not random changes we hope might maybe make parrot faster | 17:09 | |
| (and NQP/Rakudo faster by extension) | |||
| cotto | PerlJam: there wouldn't be much point otherwise | ||
| not_gerd | pmichaud: the tools will still be shipped with parrot - you'll just need NQP to rebootstrap | ||
| allison | pmichaud: I agree with that requirement | ||
| pmichaud | not_gerd: I think you missed the point of my comment, then. | ||
| any tools created using NQP require NQP to *run*, not just to bootstrap. | 17:10 | ||
| Coke | moritz: "make bootstrap-ops" | ||
| allison | pmichaud: he means the "run" in this case is building op source code files | ||
| atrodo is slowly seeing if nci can be ripped out | |||
| allison | pmichaud: that happens far, far before Parrot runtime | ||
| pmichaud: even before Parrot build time | 17:11 | ||
| not_gerd | atrodo: it can't right now | ||
| PerlJam | allison, cotto: thanks. (I was just trying to make sure I understand what's going on :) | ||
| Coke | allison: instead of hardcoding the last list of ops, why not resurrect the p5 script we used to use that generated them instead of the nqp script | ||
| pmichaud | I'm willing to consider it, then. | ||
| Coke | ? | ||
| pmichaud | Coke: allison want to avoid p5. | ||
| allison | Coke: I'd rather depend on NQP than p5 | ||
| pmichaud | *wants | ||
| Coke | allison: I would not. | ||
| we already depend on p5. | |||
| pmichaud | Personally, I'd rather use p5. | ||
| atrodo | not_gerd: Because? | ||
| allison | ok, if pmichaud's happy with it, go | 17:12 | |
| not_gerd | atrodo: nci_thunk_gen.pir is needed to generate C code from ops files | ||
| pmichaud | eliminating P5 from the build process has always been a Parrot goal. It's never been (and won't be) a NQP/Rakudo good. | ||
| cotto | pragmatically, p5 is faster and universally available | ||
| pmichaud | s/good/goal/ | ||
| Coke | we can't really use "real" nqp, so we're stuck with the old parrot-nqp, which is just one more really big chunk of code to maintain. | ||
| not_gerd | atrode: and NQP does use dynops | ||
| Coke | s/just// | ||
| not_gerd | atrodo^ | ||
| allison | don't let old prejudices block progress :) | ||
| pmichaud | I'm not saying we'll always rely on p5, just that avoiding it is almost never a strong consideration. | 17:13 | |
| EDOUBLENEGATIVES | |||
| I'm just saying that we have no objections to using it. | |||
| atrodo | ENODOUBLENEGATIVESUNUSED | ||
| not_gerd: Got it. Going to look through it though | 17:14 | ||
| pmichaud | if nqp is the fastest/easiest way to migrate ops2c or these other tools, then by all means, use it. but I think p5 will have less dependencies and bootstrapping issues. | ||
| atrodo | we're already ripping things out and depend on p5, I think that's the way to go | 17:15 | |
| not_gerd | pmichaud: ops2c uses grammars, so NQP is probably less effort than P5 | ||
| Coke | not_gerd: ops2c was converted from a p5 script. | 17:16 | |
| allison | at least half the reason for avoiding P5 is gone with sixparrot | ||
| pmichaud | not_gerd: the original ops2c didn't use grammars, and worked well. | ||
| cotto | If we end up needing an ops compiler, I'm tempted to investigate reverting to the old p5 ops compiler. | ||
| allison | (since it's targeting only the Perl community) | ||
| Coke | allison: even if it is NOT targetting the perl5 community, relying on p5 is not a problem. | ||
| not_gerd | pmichaud: I see - then I'd say whoever does the work gets to decide ;) | 17:17 | |
| Coke | we shouldn't be going out of our way not to use it when we already rely on it to do anything. | ||
| pmichaud | not_gerd: I agree, except I reserve veto rights if I feel it's unduly burdening nqp or rakudo :-) | ||
| Coke | cotto++ # I feel like I've been saying that all morning, somehow. ;) | ||
| allison | Coke: yes, the other half is really "do what makes the most sense for the code" | ||
| cotto | pmichaud: yes | ||
| allison | bootstrapping gets into dependency knots, and one P5 script can rip out a lot of that complexity | 17:18 | |
| atrodo | cotto> as a side note, I suspect sixparrot will be a great contribution to future m0 efforts | ||
| moritz | ./parrot runtime/parrot/library/PGE/Perl6Grammar.pir --output=compilers/pge/PGE/builtins_gen.pir compilers/pge/PGE/builtins.pg | ||
| opcode index out of bounds on library `core_ops'. Found 1106, expected 0 to 1102. | |||
| that's during bootstrap-ops | |||
| moritz makes supper first | |||
| Coke | moritz: you might need to reconfigure before bootstrap-ops | 17:19 | |
| or clean | |||
| moritz | Coke: will try, thanks | ||
| cotto | moritz: I just ran bootstrap-ops fine after reconfig && make | 17:22 | |
| so there should be a way to make it work | |||
| moritz | I believe it mostly worked anyway | 17:23 | |
| pmichaud | that looks to me like you might've gotten an old parrot library or binary somewhere. | 17:24 | |
| moritz | pmichaud: quite possible | ||
| pmichaud | moritz: it's just a wild guess on my part | 17:25 | |
| moritz | ok, worked now | ||
|
17:27
Liz joined
17:30
Liz_ joined
17:31
woolfy_ joined
17:39
rurban joined
|
|||
| allison | trac.parrot.org/parrot/wiki/Perform...provements | 17:40 | |
| (from chromatic) | 17:41 | ||
| cotto | I'd forgotten about that page. | ||
| allison | Coke: what setup are you using for quick "build parrot, build rakudo, check that what you've ripped out hasn't damaged anything"? | 17:55 | |
| well, maybe not quick... | |||
| Coke | absolutely not quick. | ||
| allison | but, repeatable | ||
| as in, might as well do it the same way | 17:56 | ||
| Coke | checkout rakudo. in rakduo, checkout nqp, my branch of parrot. "rm install; perl Configure --gen-parrot=sixparrot --gen-nqp=master && make && make test" - that should do a basic make test on rakudo (and I need to add a basic make test on nqp also). when initially removing the parrot code, I also have to do make test there, also. I don't have it down to a single script yet. | 17:57 | |
| I also do a spectest on rakudo every few times to make sure I didn't screw anything esoteric up. | 17:58 | ||
| need to reinstall parrot before doing a "make test" since parrot is still linked against the install dirs. | 17:59 | ||
| (and it's easy to test the wrong linked libs that way) | |||
| dalek | rrot/sixparrot: 23f7d67 | moritz++ | / (2 files): more "vivify" removal |
18:01 | |
| rrot/sixparrot: 7282466 | moritz++ | / (4 files): update bootstrap |
|||
| arnsholt | If the final decision regarding ops2c is to reimplement in NQP or Rakudo, I'd be interested in helping out | 18:02 | |
| allison | arnsholt: seems to be p5 | ||
| arnsholt | I'm on the market for a relatively precise grammar of C for a different (but hopefully cool) project | ||
| allison | arnsholt: (an NQP/Rakudo version could be useful at some point, but other things are more important at the moment) | 18:03 | |
| arnsholt | Cool | 18:04 | |
| allison | Coke: ok, thanks | ||
| pmichaud | arnsholt: I certainly won't object to having an nqp version of ops2c also. | 18:05 | |
| certainly the grammar bit itself is very useful. | |||
| arnsholt | Yeah, it's something that's worthy of being a module, really | 18:07 | |
| moritz | it looks as though neither rakudo nor parrot use invokecc or invokemethodcc | 18:15 | |
| cosimo | .win 17 | 18:17 | |
| not_gerd | bye, #parrot | 18:24 | |
|
18:24
not_gerd left
|
|||
| pmichaud | moritz: surely they use invokecc/invokemethodcc, even if not directly? | 18:34 | |
| pmichaud checks. | |||
| yes, they do. nopaste coming. | 18:35 | ||
| Coke | moritz: be sure to also grep through compilers/imcc | ||
| (lots of specific ops referenced there.) | 18:36 | ||
| pmichaud | and let me add a "wtf?" to the output of my gist | ||
| gist.github.com/pmichaud/4756511 # note the "invokecc" and "returncc" opcode usage | 18:37 | ||
| my surprise is at all of the preamble and option checking code that is apparently being done in the interpreter now | 18:38 | ||
| never seen that before | |||
|
18:39
jsut left
|
|||
| cotto | pmichaud: that must be from whiteknight's frontend work. | 18:48 | |
| pmichaud | yeah, hadn't seen it yet. It doesn't bother me much, just was very surprised to see it there. | 18:49 | |
| I'm afk for a while | 18:51 | ||
| oh, before I go -- just took another glance at trac.parrot.org/parrot/wiki/Perform...provements as I was closing off windows; I think many of those suggestions no longer impact Rakudo | 18:53 | ||
|
19:07
Mike-PerlRecruiter_ joined
|
|||
| allison | pmichaud: yikes! (on invokecc and returncc) that can surely be trimmed down | 19:42 | |
| cotto | allison: my thoughts exactly | 19:43 | |
| allison | cotto: probably has a lot to do with handling many options for invocation, so figuring out which options Rakudo doesn't need can help | 19:44 | |
|
19:50
zby_home joined
20:23
benabik joined
20:24
brrt joined
|
|||
| atrodo | Awesome. All this chopping i've done, I've broken the build with a segfaulting miniparrot | 20:28 | |
|
20:46
brrt left,
Reini joined
21:03
kjs joined
21:16
Reini joined
|
|||
| allison | atrodo: miniparrot has always been a bit fragile. Might be worth considering chopping it :) | 21:19 | |
| atrodo | allison: That seems likely. Although, my problem I suspect isn't miniparrot specific | 21:20 | |
| allison is having a "no sacred cows" kind of week | 21:21 | ||
| PerlJam | allison++ :) | 21:22 | |
|
21:22
perlite joined
|
|||
| allison | atrodo: yes, makes sense | 21:23 | |
|
21:47
Reini joined
|
|||
| Tene | All this talk of dramatic changes to parrot might get me interested again; I've been watching pretty intently. | 21:50 | |
| cotto | I just made some delicious meatballs with a non-sacred cow, so I approve of allison's week. | 21:54 | |
| allison | cotto: yummy | 21:59 | |
| Tene: yay! | |||
| atrodo | Even more awesome, I have a successful make with a bunch of missing nci files | 22:01 | |
| cotto | The probably just don't get exercised by the build. I'm sure you'll get plenty of exploding tests. | 22:02 | |
| dalek | p/rx-portability: 029bf5c | jnthn++ | src/6model/reprs/NFA.c: NFA REPR serialize/deserialize. |
||
| p/rx-portability: c56d322 | jnthn++ | src/QRegex/Cursor.nqp: Start !cursor_start refactor. Currently it is the only thing in the NQP or Rakudo codebase that uses Parrot's multiple return values feature. This splits it up into two routines, one for things that really only want the cursor anyway (and so this will be an efficiency win for them) and one for generated code that wants all the things (which we can still do without allocating). |
|||
| p/rx-portability: c7f057b | jnthn++ | src/QRegex/Cursor.nqp: First batch of !cursor_start updates. |
|||
| atrodo | cotto: That's what I'm expecting | 22:03 | |
| only 12 failures | 22:05 | ||
| Coke | GSOC 2013 announced. | 22:13 | |
|
22:17
Reini joined
22:39
bluescreen joined
22:47
Reini joined
23:13
Reini joined
|
|||
| dalek | p/rx-portability: b555f7f | jnthn++ | src/HLL/Grammar.pm: Update HLL::Grammar calls to !cursor_start. |
23:13 | |
| p/rx-portability: ff1a336 | jnthn++ | src/QAST/Compiler.nqp: Update call to !cursor_start in code-gen. No measurable performane change. |
|||
| p/rx-portability: 67eb623 | jnthn++ | src/stage0/ (9 files): Update bootstrap. |
|||
| p/rx-portability: a7f47d9 | jnthn++ | src/QRegex/Cursor.nqp: Kill !cursor_start, which used multiple return. |
|||
| p/rx-portability: 44f22ef | jnthn++ | src/ops/nqp.ops: Kill dead code. |
|||
|
23:22
drift joined
23:25
benabik joined
|
|||
| dalek | Heuristic branch merge: pushed 16 commits to nqp by jnthn | 23:44 | |
| kudo/nom: 7e22a79 | jnthn++ | / (4 files): Chase !cursor_start changes. |
23:45 | ||
|
23:50
kid51 joined
|
|||