New Programming Language: Kaeon FUSION

Please know that I'm just trying to provide constructive feedback, to help you make the best language you can.

This is extremely error/bug-prone, and in surprising ways. The design you're showing is also apparently just doing text translation, it doesn't actually translate Fusion code to C. It just lets you write C code with Fusion text substitutions. If you make a typo in "stdio.h", the error will come from the C compiler, which is a leaky abstraction. A user of a higher level language like Fusion shouldn't even know that there is a file named "stdio.h". They should just be using a standard Fusion logging function, which would map automatically to printf at compile time. It should be possible to define a type-checked FFI in Fusion that allows the programmer to use the printf function or other C functions directly, and get compiler errors from Kaeon (not from gcc), but the idea of a language compiling to C is that any generated code must be valid C. Nobody is going to want to write C like this. It's way too verbose, and there seem to be zero additional checks or safety measures.

Even less awesome than what I wrote above... it appears that the only Kaeon Fusion code that you can compile to C is Fusion code that is a text-substitution away from being C code to begin with. You can't write large Fusion libraries in pure Kaeon Fusion, and then expect to compile them to C or the web or other places. All code is tied to the interface you're going to use.

If you haven't seen it, Haxe is a language that has existed for a long time with the explicit goal of compiling to C++, Java, and other languages. So, it provides a concrete standard library that can be used, and Haxe code will compile to all of its targets just fine. It doesn't make you manually choose whether to use "cout" or "System.out.println" or whatever based on the interface you're using.

And who is this "we" and "our" you keep referring to? You appear to be the only contributor to the project.

/r/ProgrammingLanguages Thread Parent Link - github.com