I started writing SEDForth as a tool to go along with RetroForth. I had a lot of Forth code that could be embedded into the RetroForth kernel using the user.f and user.asm files, but the size was a concern.

Since RetroForth lacks a means of saving a memory image to disk, I wanted to be able to turn my Forth code into assembly, using the macros I developed for RetroForth. This was not a hard process, but was quite time consuming. Having recently discovered SED, I decided to try writing a Forth to assembly convertor in SED.

SEDForth is the outgrowth of that experiment. It uses a simplified version of RetroForth as its core, but generates very tight executable files. Avoiding all of the bloat present in RetroForth, but still supporting a large subset of the words used in RetroForth, it gives me an ideal tool for my collection.

In the future, SEDForth will likely start drifting away from its RetroForth roots. I do plan to keep compatibility internally, but I can prototype new primitives and applications faster using SEDForth than with RetroForth. Why? The compile/run cycle is cleaner. I can see the assembly code generated, search for patterns, and optomize them freely.

Though SEDForth is unsupported, you can download the source code.