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