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."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.I'm just being pedantic though, this is still a cool project.[1] "Scratch and its inner workings" https://docs.google.com/document/d/16SFYkk9dWpMhYaZNnLTE_kTm...