Peter Ivanyi's Dialog Library

Peter’s library provides a way to design user interfaces in XML.

The user specifies the layout of the dialog window in XML. The interaction is also specified in a simple way, setting values or labels and setting actions which should occur when the user clicks on the specific widget. An example can be found in the package.

(via PLT Discuss)

erlang-scheme interop

Eric Sessoms announced his Erlang-Scheme interoperability library recently on the PLT discussion list.

What it is: Basically, it’s a port of Distel from emacs lisp over to
scheme. It talks to erlang using its own protocol and impersonates an
erlang node on the network. It aims to provide an abstraction such
that erlang processes look like scheme threads, and vice-versa.
Communication from scheme to erlang is done with (a wrapper around)
thread-send. Messages from erlang to scheme get routed to thread
mailboxes so that they can be picked up with thread-receive.

The 90 Minute Scheme to C compiler

90 minute video presentation from Marc Feeley, along with accompanying PowerPoint slides and source code, for a Scheme to C compiler. Good discussion of continuations and closures, as well as some dipping into the area of compiler construction.

I didn’t work through this but it looks like it might be a fun project to undertake (I’ll add it to the list).
(via LtU)

Advice on writing teachpacks

Here is some advice on writing teachpacks for PLT’s DrScheme.
About teachpacks:

Teaching languages are small subsets of a full programming language. While such restrictions simplify error diagnosis and the construction of tools, they also make it impossible (or at least difficult) to write some interesting programs. To circumvent this restriction, it is possible to import teachpacks into programs written in a teaching language.
In principle, a teachpack is just a library written in the full language, not the teaching subset. Like any other library, it may export values, functions, etc. In contrast to an ordinary library, however, a teachpack must enforce the contracts of the “lowest” teaching language into which it is imported and signal errors in a way with which students are familiar at that level.