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.

GSoC weekly report

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.

app-parrot-create weekly report

At this week I've continued work to be engaged in the creation of hll template file.
I'm working on support a winxed build and test system.
This commit is showing that

I will plan to finish that work in the next couple of weeks.
I'm going to use a winxed build system file from already done project such as:

Weekly GSoC progress report

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.

GSoC weekly raport - my rakudo breaking adventure

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.

parrot-libgit2 weekly report: Indexes and Repositories

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.

app-parrot-create weekly report

At this week I've done an API for work with high level language template file. I used the Perl template toolkit to create that file.
These changes is showing on this commits
I've done tests for the respective modules.

The next step is supporting different build and test system on hll template file.
The project is supporting a PIR build system and Perl 5 test system.

GSoC weekly raport.

The thing I'm currently working is proper deserialization of closures.

If we create closures at compile time (example in Perl 6 syntax), like:

my $count = 0;
sub foo {
my $id = $count++;
-> {
my $sub = BEGIN foo();

we need to be able to save them between compilations.

First inchstone.

I have started hacking on my GSoC project to create a JavaScript backend for NQP (a Perl 6 dialect), which will be grown into a full one for Rakudo in the future.
Today I have unbitrotted the existing code at by handling QAST::Var's with decl set to "static" (variables that don't change at runtime) the same as ones with "var" (normal ones). As such I have completed the first of 15 inchstones ;)

GSoC weekly report: NCI updates for parrot-libgit2

Hello everyone,

This was my first week of GSoC working on parrot-libgit2. parrot-libgit2 is aimed at providing a low-level PIR binding to libgit2 as well as high-level winxed bindings. The schedule is available here. Duke Leto wrote the initial code a couple of years ago, but since then the code had bitrotted.

app-parrot-create weekly report

I'm working according to the schedule

At this week, I've done a web-part of my project. It's consist of
to create a one-pages site using a bootstrap/jquery and to integrate it with Mojolicious framework.

I've done the issue that was a part of this task.

I start to create a project templates. It will base on perl template toolkit
In next week I will plan
- api for work with this type of template file

Syndicate content