Skip to main content.


This is the archive for June 2008

Tuesday, June 24, 2008

CIA-52 falcon: jonnymind condor-dev * r426 Core/ (4 files in 2 dirs):
CIA-52 falcon: Preparatory work for dynamic linking of symbols in live modules.
CIA-52 falcon: (Anyhow worth, the link function was *clumsy*)

It's incredible how things that seemed impossible when i first thought of them seems easy now. The link method in the Falcon virtual machine itself was a monolithic piece of code linking and executing init methods of objects in modules all in one step. It was nearly black magic even for me, when I wrote it.

Now, breaking it down in steps and cleaning it in the process was quite natural.

Sunday, June 22, 2008

I vaguely thought at this while coding it, but the new total reflective mechanism that I gave to the Falcon Items is actually an example of tabular programming.

CIA-52 falcon: jonnymind condor-dev * r410 Core/ (78 files in 3 dirs):
CIA-52 falcon: New reflection protocol complete.
CIA-52 falcon: Still need to reflect Core and RTL classes (except for error).

Friday, June 20, 2008

To better support the reflexive paradigm in Kross, and to implement a better reflection for the modules and bindings that are going to be written in the next days, I am reworking the Falcon "UserData" system.

Reflect C structures in C language is not a problem per se. It begins to get a serious matter when you want to be efficient in doing that, and you want to have script meta-informations about classes as they are seen by the scripts (i.e. for the "contracts", class reflections that we are working on).

Initially, we had a single "UserData" that may travel with a Falcon objects. Methods in that objects would have received the "self" object from the VM, extracted the user data and worked on that.

Thursday, June 19, 2008

I am officially back on working on the Kross integration for Falcon since last night. I started updating and reconfiguring KDE sources and begun working at a generic binding engine.

The Falcon support for Kross was nearly ready when I left it. It just lacked some reflection in Kross::Action, that wasn't very well documented at the time, and it was a bit hard to take informations out of the Kross guys. Now they have a much more complete documentation, with tutorials on both the C++ side and script side, so completing the expected behavior should take no more than a few hours.

However, Python and Ruby offer a (relatively) complete binding for QT and KDE, while Falcon provides none. Except for coolenss of Falcon, users wouldn't find any reason to use it. Binding a gigantic thing as QT, and putting a cap like KDE binding on top of that is nothing short of a nightmare... unless I realize the automatic binding tool I have in mind.

Thursday, June 12, 2008

I am taking a bit of a breath in the rest of the week and in the week-end. Starting from Monday, I will write the plan of actions for Falcon 0.8.12. I can anticipate that the topmost priority is completing the support for KDE 4.x, and immediately after completing the DBI module by adding ODBC and Interbase, and refining features as blob file-like writes. Hopefully in the meanwhile, we shall complete the site with a bugtracker and development feature tracker.

I will post an official news on the site about this.

Saturday, June 07, 2008

I used to keep a separate entries about the development of my "Falcon Programming Language" in a separate blog, but I have seen that the model is depriving me of a single location where to store my net-life. Also, Falcon is so intertwined with my life that I cannot properly separate it.

It's exactly because I was a bit unsure about where to draw the line that I refrained to blog in the last month... in both blogs...
As this must not happen, I am keeping only one life blog here.