16 Jun 2005 rotty   » (Journeyer)

Status of Scheme48 hacking

Over the last months, I've started several hacks on Scheme48. My interest in Scheme48 was initially sparked by Jivera, who started to bring a Pika-style C API to Scheme48.

The features/projects I've been working on:

  • The new buildsystem: it is now easily possible to build Scheme48 completely from scratch, bootstrapping it with another Scheme48 installation.
  • R5RS-compatible keywords (e.g. #:foo). There seems to be some controversy about the usefulness and "good taste" of keywords, but I need them for my GOOPS-compatible TinyCLOS version.
  • Relaxed string escaping, i.e. allow e.g. (display "Hello World!\n").
  • A scheme48 executable that allows command-line access to the exec language; you can do

    scheme48 -cl packages.scm -o mystructure
    

    which is equivalent to typing:

    ,config ,load packages.scm
    ,open mystructure
    

    at the Scheme48 prompt.

  • Some initial work on a PLTish FFI. See Foreign Interface for PLT Scheme for how this FFI looks like. The cool thing about it is that you don't have to delve into C for creating bindings anymore.
  • Porting Kali Scheme. This has just started; so far, I've been able to get the Kali VM to build on top of Scheme48 1.2, but it is probably far from working.

Most of the above is still not polished and not ready for release or even sending patches upstream. I have, however, submitted some very simple patches to the Scheme48 mailing list, and got no response from the maintainers. Should working with them not work out, I might have to create my own fork of Scheme48. In fact I have forked already, but if I can't get (parts) of my stuff into mainline Scheme48, I might start to actively push my fork as "extended Scheme48" or with a new name.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!