Poniedate 21

sky on 2003-12-11T11:48:02

Since nothing goes on in the ponie mailing list, there are no summarises, I have decided (after gnat and acme forced me ;) to start writing a little ponie blog.

Over the last 4 months or so that I have been working on ponie (august, september, october, november) not much seems to have happen, quickly a first snapshot was released with an integrated perl/parrot build system, and a couple of emails to the parrot internal mailing list. However, several things have actually happened.

Ponie has pushed parrots embedding and extending API to a point where you can actually do things with parrot without including all of the parrot header files. It has also gotten build system that seems to be reliable to changes in parrot, there hasn't been a need to change it in quite a while.

The current plan is to implement perls LVALUEs using a PMC, since perls LVALUEs don't actually store any date, just pass on to whatever is behind the lvalue, (using magic today) this should be a somewhat limited thing to do that only touches specific ares of the core. So still being able to compile miniperl and run minitest without LVALUES is very very handy.

The current cvs version will in fact create a Perl5_LV PMC when you create a lvalue in perl (little treasure hunt, can anyone list all the ways to get a LVALUE reference type in perl), it will then die a horrible death because it attempts to use a SvPVX and fails with a FIXME error message. The use of macros as lvalues in C, (SvPVX(foo) = bar), was a bit difficult to find a way to emulate using functions. However, thanks to Nicholas Clark and Abhijit who told me that I can do #define SvPVX *(&Perl_svpvx((sv))) to make a lvalue function call. This will make it possible to emulate things properly in XSUBs. (All of the core will get their usage of lvalue macros rewritten however).

sky


Demo

jonasbn on 2003-12-11T14:22:16

Will we see a presentation and a demo at the forthcoming Nordic Perl Workshop? ;)