Linux Kernel Module written in Scratch (a visual programming language for kids)
This supports a very tiny subset of Scratch - basic control flow, variable assignment, and arithmetic operators. It's also an "incorrect" implementation, because Scratch arithmetic operators are supposed act on double-precision floats.<p>"Real" Scratch is much harder to compile to a native language, firstly because Scratch has a very weird concurrency model (unofficially documented here [1]), and secondly because it has weird dynamic type conversion rules, much like JavaScript. E.g. the scratch expression (("0x1" join "4") + (2)) would evaluate to 22.<p>I'm just being pedantic though, this is still a cool project.<p>[1] "Scratch and its inner workings" <a href="https://docs.google.com/document/d/16SFYkk9dWpMhYaZNnLTE_kTmgJF91RjzxWYnEScQe6c/edit" rel="nofollow">https://docs.google.com/document/d/16SFYkk9dWpMhYaZNnLTE_kTm...</a>