About the service
I am an engineer who works daily with Gforth — the GNU Forth implementation — and with stack-based concatenative programming in general. For more than ten years I have built and debugged systems in Forth living close to the metal, where every byte and every processor cycle matters. If you need someone who actually thinks in data stacks, return stacks, and immediate words, rather than treating Forth as a curiosity — that is me.
What I do. I write neat, well-factored Forth words that read like a small language for your task. I port existing code between Gforth and target systems like amforth, mecrisp, and pforth. I bring up bootloaders and minimal monitors on bare metal, expose UART, SPI, I2C, and GPIO through compact word sets, work directly with registers and memory-mapped peripherals. When a project needs a domain-specific language, I build tiny interpreters and threaded code engines that fit in a few kilobytes of flash memory.
My approach is pragmatic. I ruthlessly break code into words, test each word individually right at the interactive prompt, and keep the dictionary readable so your team can extend it. For each definition I specify the stack effect, provide a test set, and explain the logic so the code stays maintainable. Common tasks — rescue an abandoned Forth codebase, add a scripting layer to firmware, or build a tool in Gforth for automated hardware testing. Send me a schematic, datasheet, or source code — and I will honestly say what can realistically be done. You get commented source code, build scripts, and a short guide to the words created.
What I do. I write neat, well-factored Forth words that read like a small language for your task. I port existing code between Gforth and target systems like amforth, mecrisp, and pforth. I bring up bootloaders and minimal monitors on bare metal, expose UART, SPI, I2C, and GPIO through compact word sets, work directly with registers and memory-mapped peripherals. When a project needs a domain-specific language, I build tiny interpreters and threaded code engines that fit in a few kilobytes of flash memory.
My approach is pragmatic. I ruthlessly break code into words, test each word individually right at the interactive prompt, and keep the dictionary readable so your team can extend it. For each definition I specify the stack effect, provide a test set, and explain the logic so the code stays maintainable. Common tasks — rescue an abandoned Forth codebase, add a scripting layer to firmware, or build a tool in Gforth for automated hardware testing. Send me a schematic, datasheet, or source code — and I will honestly say what can realistically be done. You get commented source code, build scripts, and a short guide to the words created.