Alt text:
Transcendence meme template
function main() {…}
int main() {…}
void main() {…}
U0 main() {…}
/* HolyC example */
U0 Main()
{
U8 *message = "hello world";
"%s\n",message;
}
Main;
main =This message was brought to you by the Haskell gang
let () =This message was brought to you by the OCaml gang
This message was brought to you by the Python gang (only betas check
__name__, assert your dominance and force every import to run your main routine /s)The Holy C integer naming scheme is so elegant, I wish c had adopted it
Wym? You mean you don’t like typing out
unsigned long longa hundred times?What really frustrates me about that, is that someone put in a lot of effort to be able to write these things out using proper words, but it still isn’t really more readable.
Like, sure,
unsignedis very obvious. Butshort,int,longandlong longdon’t really tell you anything except “this can fit more or less data”. That same concept can be expressed with a growing number, i.e.i16,i32andi64.And when someone actually needs to know how much data fits into each type, well, then the latter approach is just better, because it tells you right on the tin.
In c they do indeed just mean shorter and longer int as the size of the int is defined by the compiler and target and originally represented the hardware.
There are types like int32_t or int_least16_t.
I see this and just see the deranged bear inmy head with
public static void main(String[] args) {...}Oh man, a zero byte long unsigned integer? Lots of languages represent it as an empty tuple these days (the “unit” type), but from quickly scanning the documentation, it looks like HolyC doesn’t support tuples, so I guess you gotta get creative…



