For the past two weeks or so I’ve been working on getting Chicken scheme up and running on my brand new Nokia n900. The n900 is really lacking a lot of apps and it’s time to have an environment to quickly develop them. Python isn’t an option, try out gPodder and see your device slow to a crawl and your battery drain, so Scheme it is. Things are looking rather good and in the process I’ve expanded the qt egg, hopefully it can leave it’s tech-demo status now.
– support for QObject attributes
– QVariantList and qvariant are supported so interfacing with qt is a
lot more natural
– removed the simple receiver and replaced it with an object that
crafts the correct slot on request
– arbitrary number of arguments to slots and support for some common
argument types (although notably pointers aren’t yet handled)
– invoking arbitrary qt methods/signals/slots
– support for qt-maemo (stackable windows and various information boxes)
– it now builds in C++ so that making bindings is faster
– qt-dbus is now supported so that polling isn’t required, it too
works with an arbitrary number of arguments and provides all of the
basic capabilities: receiving/sending dbus signals, method
invocation, and exposing methods over dbus
– 0% cpu usage when idle so it’s battery-friendly
– it’s debianized along with its dependencies so that it can be
deployed to the n900
– ported the dbus egg to version 4
The updated qt & dbus eggs along with debianized versions of their dependencies are here. There’s also a tiny script for quickly debianizing eggs with correct dependencies, perhaps someone is interested in reviving the debianization effort.
I’m new to low-level hacking with chicken, so hopefully I haven’t abused the ffi/gc in some horrendous/unsafe way.
I’ll try to keep http://0xab.com/n900 current with new progress.
Hopefully I’ll figure out how one documents eggs these days, split off maemo stuff into its own egg and get around to contributing these back to the main egg repository.