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.

ypsilon

ypsilon is the implementation of Scheme Programming Language, which conforms to the latest standard R6RS. It achieves a remarkably short GC pause time and the best performance in parallel execution as it implements “mostly concurrent garbage collection”, which is optimized for the multi-core CPU system.

If you are wondering “Why yet another Scheme implementation” you can find the answer here. To sum it up: they require real-time processing speed and can not use Boehm Garbage Collector because they run on arcade consoles or pinball machines, so, they had to start from scratch.

Addendum: 8/2/8

Ypsilon 0.9.6 is the bug fix release. It fixes all bugs reported and found in version 0.9.5. Ypsilon 0.9.6 has passed all 8886 tests in PLT R6RS test suite revision 11016.

(via C.L.S.)