A Forth to Scratch compiler
scratch.mit.edu
scratch.mit.edu
Other projects of note are an LLVM frontend for Scratch:
https://github.com/bobbybee/scratch86
And a corresponding backend:
When I first used it I loved the way you could redefine the language, at run-time in the REPL. These days I just love the purity and cleanliness of the language.
I don't have a single compelling use-case for it, but over the years I've written my own implementation in C, Java, and Perl.
Having recently started playing with hardware it is nice to see you can even run it on ESP8266 / Arduino hardware.
Or the GB/CGB, for that matter, but space is much more limited there.
Forth is an interactive assembler. This one has no REPL.
Control structures are easy to introduce in the Forth itself because IF, ELSE and THEN are separate "immediate" words that just manipulate the return stack and compile some branching code immediately when parser encounters them. This compiler has no return stack at all and just looks for IF..ELSE..THEN during parsing.
Forth is ugly outside but has beautiful implementation. This compiler is some ugly python code inside.