Parrot is a virtual machine designed to efficiently compile and execute bytecode for dynamic languages. Parrot currently hosts a variety of language implementations in various stages of completion, including Tcl, Javascript, Ruby, Lua, Scheme, PHP, Python, Perl 6, APL, and a .NET bytecode translator. Parrot is not about parrots, though we are rather fond of them for obvious reasons.
Submitted by boyun on Wed, 07/24/2013 - 12:54
At this week I'm working with different deploy systems.
Such dotCloud, gnu Compile Farm. I'm changing my project for that deploy systems.
As a result of this work is http://gcc20.fsffrance.org:3000/
So I can continue my work for providing a different build and test system on my project.
I'm going to continue my work on support a winxed build and test system on my hll template file.
Submitted by pmurias on Tue, 07/23/2013 - 18:24
While trying to get QASTNode.nqp to compile I noticed a strange error claiming that some code refs where missing from the serialization context.
By binarysecting the file (deleting line till the error goes away) it turned out that roles in modules where causing problems. Serializing roles requires serializing a closure, and modules are special that they require to be compiled twice, both to JavaScript and PIR (that is untill we are fully boostraped).
The thing that turned out to be causing trouble is that the JavaScript backend is using a slightly different bootstraping procedure.
Submitted by sa1 on Fri, 07/19/2013 - 19:41
One of the objectives before the midterms was to unify the buildsystem. Earlier the build process consisted of a separate Makefile and a setup.winxed file, and yet manually required people to go and build Rosella themselves.
Submitted by boyun on Thu, 07/18/2013 - 04:44
At this week I start to deploy my project on real server.
My project is going to deploy on parrot.org and dotCloud servers.
The stable version will deploy on parrot.org. The development version will deploy on dotCloud machine.
For this I've updated dependencies of my project.
These changes are shown on https://github.com/letolabs/app-parrot-create/commit/4b9e2f70558033b43c4... that commit.
At this week I'm going to continue my work on support a winxed build and test system on my hll template file.
Submitted by sa1 on Wed, 07/10/2013 - 22:47
Another slow week, with much work being blocked by a simple bug that I am debugging with the help of the several people now (Details below). The uncompleted objectives of this week would mean that I would need to reschedule some of my future efforts. I tried to schedule my project as best as I can with previous knowledge, but its hard to predict the problems that will come up. I am reminded of this blog post, where optimism in scheduling a project is cautioned against.
Submitted by pmurias on Tue, 07/09/2013 - 16:17
I have finally implemented the closure deserialization correctly.
It required changing the way static lexicals are handle. (Static lexicals are the one declared by a QAST::Var node with a decl equal to 'static', which means they are bound to a serialized object and we are free to assume they don't get bound to at runtime). Previously for every code ref which was a part of a serialized object (but not a closure) I have emited code to recreat all the static lexicals for all of it's outer context. Needless to say the resulting code was long and ugly.
Submitted by pmurias on Wed, 07/03/2013 - 17:19
I tried to mimick the way subroutines are wrapped on rakudo and make test passed on parrot I commited the code.
And it broke nqp on the jvm. And I realised that rakudo on the jvm uses the HEAD revision on nqp and not a version specified in tools/build/NQP_REVISION. And after my commit make test broke on nqp.
I reverted the commit, and Jonathan Worthington figured out that I misunderstood what p6capture_lex did.
Submitted by sa1 on Wed, 07/03/2013 - 14:37
This was a rather slow week in terms of work done. The work done this week started out with merging the nciupdate branch with master. Having PMC's as default fallbacks for unparseable arguments made the nci defs much more accurate. Of course tests are still needed, and some flaws would come forward as other work builds upon that work.
Then the next part involved cleaning out some more cruft from the old project. This included redundant entries in .gitmodules, duplicated directories and some other makefile work.
|
|
|
|