I've been working for a while on my own implementation of Forth. I first used Forth in the '80s on my VIC-20, using a HES cartridge that was based on figFORTH. Coming back to 8-bit micros a year or two ago I wanted to build a more modern version that was better integrated with the Commodore KERNAL.
I started with the 6502 reference implementation which worked fine but the higher level words were defined in .WOR assembler statements. I experimented with using gForth to build a cross-compiler but it was rather messy keeping track of the different dictionaries, data sizes etc.
The next approach was to write a cross-compiler in Python. This proved far more straight-forward, I created abstractions for dictionaries, stacks etc that make debugging easy.
I've now got a fairly complete Forth-83 implementation that fits into 8K. It has words for file I/O, I've omitted the traditional block words. They made sense at the time but using editor words on a 22 x 23 display isn't very productive, in my opinion.
If anyone is interested the code and build tools are here
http://eden.mose.org.uk/vforth.gitI can attach snapshots if anyone doesn't want to build it themselves. I'd love to hear about other people's ideas or any feedback on my attempt.