Camelia, the Perl 6 bug

IRC log for #parrot, 2013-02-11

Parrot | source cross referenced

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

All times shown according to UTC.

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

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

Parrot | source cross referenced