, though we are rather fond of them for obvious reasons.
Submitted by bubaflub on Sat, 06/04/2011 - 06:34
Step 1 for my project involved reading GMP.h and generating an NCI definition file from that. I've tweaked a few settings in the unimaginatively named "gmph2ncidef.pl" script that does that and refactored some common parts out in to YAML configuration files. This generates a PIR source file that gives us access to the GMP library functions.
Submitted by benabik on Tue, 05/31/2011 - 18:05
Today will be very brief. I'm a bit tired as my holiday weekend was very busy.
May 30 PAST NQP Framework: Convert PAST into NQP-based files via Q:PIR constructs. This will involve splitting Node.pir into separate files for each class, providing a NQP structure for each sub and updating the build framework.
As I noted a while back, I did this in the first couple of days of work. I'm now into the process of hunting down Q:PIR blocks and replacing them with NQP (using pir:: where needed).
Submitted by bubaflub on Tue, 05/31/2011 - 03:01
I've just finished step one of the project: minimally parsing the header gmp.h and generating an NCI definition file that is readable by the script ncidef2pir.pl. I'd definitely like to refactor this script into separate modules (with tests and docs) and make it usable for the larger community, but for now it suffices for the project.
Submitted by bubaflub on Sun, 05/29/2011 - 04:56
Good evening fellow parroters,
My blog posts will become increasingly technical as time goes on and if you're not into that kind of thing, then TL; DR - I'm working on it.
Still here? Good.
The main idea behind my project is to get usable bindings for GMP integer functions into Parrot. The GMP library is a good choice because it is free (as in beer and as in speech), stable, actively developed for 20 years, and generally fast: there are all kinds of optimizations for different architectures and compilers that there is absolutely no reason we should re-invent the wheel.
Submitted by soh_cah_toa on Sun, 05/29/2011 - 02:55
Since joining the Parrot development team, I've been forced to forget just about everything I thought I ever knew about stack machines, computer architecture, and especially control flow. In fact, I think a more appropriate slogan for Parrot would be "the antithesis of tradition." This is not necessarily a bad thing though. If it weren't for Parrot, I probably would never have heard of things like continuation passing style or mark and sweep garbage collection systems.
Submitted by lucian on Thu, 05/26/2011 - 19:09
Sadly, exams have proven to take up more time than expected. Today's exam was ok, easier than I expected. Also easier than previous exams from this lecturer. At least my last exam is on Wednesday, so after that I'm free.
I have however managed to do some investigative work.
Submitted by benabik on Tue, 05/24/2011 - 19:23
Wait, why are you running already?
May 24 GSoC Start Date
Technically, the Summer of Code starts today. But since school was finished last week, I started digging in early. My blog last Friday had a few mini-goals in it:
- Examine current state of nqp_pct: Bacek's work here is contained in the compilers/pct/src/POST directory. The format and design of these classes are in large part what I'm basing my new work on.
Submitted by benabik on Fri, 05/20/2011 - 15:16
But it's not out forever. Alice Cooper lied to me. However, with my final final behind me I can now begin to dig into Parrot code!
One of the requirements for Summer of Code is a weekly blog posting. For future weeks, I intend to post on Monday or Tuesday so that my post is ready prior to #parrotsketch. Although GSoC has yet to officially begin, I thought I'd create a "week 0" post to work out a format for them and discuss my plans in general. I thought I'd start each post with the stated deadline from my proposal:
Submitted by bubaflub on Fri, 05/20/2011 - 03:26
My name is Bob Kuo (irc, cpan, github: bubaflub) and I'm a Google Summer of Code student. My project aims to provide Parrot bindings to the GNU Multiple Precision Arithmetic Library (GMP - http://www.gmplib.org). GMP is an free and open source multi-precision math library and provides functions for integers, decimals, and rational numbers. The project aims to initially just bind the integer functions and provide full documentation and tests. Beyond these I'll have some higher-level objects written in Winxed for a more object oriented and more convenient approach.