Re: I think they need to jusify their claims far better than they have done so far
> It doesn't matter what word or syntax you see in an example hello world program - the significant improvement comes in how it is processed by the compiler.
Bullshit.
In C's case, fn
in my example gets tossed out entirely by the preprocessor, because it doesn't do anything. It's pointless.
In Hare's case, either the language, or the compiler, or both, suck.
Hare needs fn
to be told that something is a function, because it can't figure it out on its own. Either because (a) there is a semantic ambiguity in the language that cannot possibly be resolved otherwise, or (b) the compiler frontend implementation is so sucky that it can't figure out when a function is a function without crutches, and ends up going into the weeds and emits the wrong AST.
Having the function return type to the right of the function's arguments might have something to do with that. But I don't have the time to spend pinpointing where exactly the problem is.
In the end, in both languages, the function written by the programmer is lowered to assembler. Claiming that fn
in Hare is necessary because it's a significant improvement [ ... ] in how it is processed by the compiler is pure bullshit.
I write compilers for a living, and I'm not the only one around here doing that. Metaphors about C developers and boot colors, or mystic references to compiler internals - woo-hoo! - don't work that well around here.
C is only one of my languages. As a C guy, I find Hare's syntax for function declarations and function calls very clumsy compared to C.