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.

Parrot-GMP: Hiatus while I move across town

My coding has been put on hold this week as I move across town and deal with some shenanigans from the landlord. The good news is that my wife and I should be able to move into our new house on Tuesday or Wednesday - the bad news is that I am currently internet-less until then. I've been working on updating the tutorial which doesn't require any internet access, just time. By this time next week I hope to complete the tutorial, have some more examples, and begin trying to get some examples in NQP or even on Rakudo.

Parrot 3.6 Release Quotation Contest Is Over

The release quotation contest is over. We received four submissions, each of which was correct. In order of receipt, they were from:

  1. Ville Koskinen
  2. Lucas Buchala
  3. Daniel S.
  4. Javier M. Mora

Each of the four submissions appears to have met the do-not-use-the-Internet condition for researching the answer. In fact, each of the four appear to have gotten the answer the old-fashioned way:

They remembered it!

GSoC: LALR Parsing: Midterms over!

We're halfway through the summer, now. I have not made nearly as much progress as I had previously hoped. Partly this is due to the difficulty of the problem, and partl\
y it is because I have not spent enough time on it. I think I'm currently at a point where I'm only a few mostly simple transformations away from producing a Determinis\
tic Push-Down Automaton which will be capable of parsing a LR(0) grammar. Whether implementing those last few mostly simple transformations will show this belief to be \
correct or not, I won't know until I do so.

Here are my next few goals:

Delays ...

I've been doing a lot less work than I had planned to. It's mostly my own fault, but such is life.

Basically, I ran out of money. Uni ended late, GSoC started early and the GSoC midterm was late this year. I had to borrow some and get a temporary full-time job for a couple of weeks. Now I have a part-time job (2 days a week), and I have the rest of the time free for GSoC work.

But not all is lost! Here's some puffins to make us all feel better:

corellaScript : testing and objects

hmm..tired after a busy week with lots of paper work and formalities for coming job session.
Coming back to CorellaScript which is now able to run tests and ensure no feature breaks while implementing the new ones .
As the last month is approaching I have started working side by side on ducumentation as well to avoid any last minute hassle,
last few days were not much productive as lots of things kept me busy but now that I'm done with them I can began work again

Parrot 3.6.0 "Pájaros del Caribe" Released

We are proud to announce Parrot 3.6.0, also known as "Pájaros del Caribe". Parrot is a virtual machine aimed at running all dynamic languages.

Parrot 3.6.0 is available on Parrot's FTP site, or by following the download instructions. For those who want to hack on Parrot or languages that run on top of Parrot, we recommend our organization page on GitHub, or you can go directly to the official Parrot Git repo on Github.


Funny behavior in a squaak 'for' loop

This may seem like an unusual blog post: why not a post to parrot-dev? Well, I've struggled the past few weeks as a newbie, largely with language syntax. But this problem is different: this is an interesting problem, one that I think shows that language/compiler design is more than just mastering basic language syntax and getting something to run approximately.

For readers unfamiliar with squaak, I think it is a teaching tool, not a finished high-level language (HLL) that would likely be used to get some job done.

Parrot-GMP: NCI Thunk generation complete

Just a small re-cap from my last post - not every possible function signature that you might want to call through NCI comes built into Parrot. When you try to invoke a function that does not have a generated NCI thunk you will get a run-time error. GMP had a number of functions that were not covered by the built in NCI thunks so I installed libffi to get around this problem. Jay++ and dukeleteo++ have both started projects that will use NCI to some extent and are running into this problem as well. So I decided to tackle how to get around this problem without requiring libffi.

Good News, Everyone!

Today you'll be making a delivery to...

Okay seriously, besides Futurama being the greatest show ever, I actually do have good news. Last week was a very successful week. I was able to implement several commands within just a few days. They're still a bit "rough around the edges" but they work none the less.

vector design decision and baby steps...

Based on conversations yesterday with whiteknight, dukeleto, Notfound, bubaflub, sorear, cotto_work, soh_cah_toa, and others, I've decided that my initial design will use Resizable*Array for everything (even vectors of length 1). And for now, I'll support Integer, Float, and String. For reasons relating to the R language, I'll want my own logical (Boolean) using integers, but I'm not going there, yet.

Syndicate content