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.

IMCC Wars: Episode IV - A New Hope

A long time ago in a galaxy far, far away...

It is a period of binary war. Rebel hackers, striking from a hidden base in New Jersey have won their first victory against the evil IMCC Empire.

We need a better way to get strings from NCI

The last refactor of the NCI subsystem got rid of the 't' type used to pass C strings. This gives us more flexibility but doesn't solve all problems.

Take for example Mysql: we can specify the character set used for the connection with the database, and sometimes we can't use the current locale. We may want to read a table that contains unicode characters out of the range compatible with latin-1 without loses, while using latin-1 locale.

HBDB Closed for Construction, Please Use Detour

This past week was admittedly dull. I've reached a bit a road block and this time it's blocking the way forwards, backwards, left, and right.

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

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.

Syndicate content