STKlos information

STKlos is a free Scheme system. The main page is here. This page is a collection of notes about STKlos, and binaries for the platforms I've compiled it on.

STKlos 0.57 for Irix 6.5

This version was compiled with --disable-gnome, and the Irix freeware version of libgmp. It installs in /opt/stklos-0.57. Getting this to build required hacking the post ./configure makefile. I've asked the author to add a ./configure flag to allow someone building STKlos to provide their own gmp instead of automatically trying to use the bundled one.

Download here: http://jdboyd.net/stklos/stklos-0.57.irix.tar.gz

PDF Documentation

The STKLos build process only creates info documentation. I wanted the documentation to be in just about any format other than that. I built HTML documentation, but it looks pretty bad. I also built PDF documentation, and that came out OK (no PDF TOC, but crosreferences work), so I've placed it here.

http://jdboyd.net/stklos/stklos-0.57.pdf

Other information

The is partially a todo list of issues to explore further, and what I've found so far.

Graphics w/ GTK+

Alas, no documentation for this is provided. One will just have to look at the examples.

Also, I'm suspicious, but haven't really established yet, that maybe not all controlls are supported. Specifically, the tree control seems to be unaccounted for.

Object System

The documentation section for the object system is blank. However, as STKlos uses TinyCLOS, documentation should be fairly easy to find elsewhere (NOTE: I better check that I'm actually recalling correctly here).

Binary IO and serial ports

Unlike common lisp, Scheme has no standard for binary IO. Many schemes have a way to do it though, and this one is no exception. It is just performed using read-char and write-char.

Unfortunately, there is no hex literal, so specifying binary values has to either be done using decimal integers, or else done via strings of hex and a string->number calls, like (string->number "FF" 16).

However, if you want to talk to a serial port, there is not immediately obvious way for STKlos to control the serial port settings, other than execing a stty. This would probably be fine, except I've found that on some USB->RS232 dongles on linux that stty is unable to operate correctly, while some programs that mike ioctl calls directly can manipulate the serial port correctly. It would be nice if stklos would support ioctl and in general more of the posix standard.

Addendum, I've hacked in support for turning off canonical serial filtering, and for setting the serial speed. Further discussion with Erick Gallesio has revealed that I implemented it in a sub-optimal way, so it isn't currently present in

Extensibility

I have not figured out how to call foreign C functions yet, and I've suspicious that it would require modifying the STKlos C code to compile support for whatever function I want in.

The author (Erick Gallesio) pointed out to me that I should look in the etc/directory of the source tree. STKlos can load special .so files at runtime (special meaning I believe that they have to include STKlos headers, and perhaps other stuff, rather than just being any old .so that is lieing around), rather than having to recompile the whole system.