Implicitly Typed C

December 11th, 2023
tech
I don't know any good reason to do this, but if you would rather be writing Python or JavaScript here's something you can do with a C compiler:

$ cat tmp.c
foo(x) {
  return x+5;
}
bar() {
  return 4;
}
main() {
  printf("%d\n", foo(bar()));
}

$ gcc -w -o tmp.out tmp.c && ./tmp.out
9

This code takes advantage of a historical quirk of C where types are assumed to be int unless otherwise specified: foo(x) {...} is equivalent to int foo(int x) {...}. Additionally the printf works because gcc includes stdio.h by default, and main is special-cased to assume a final return 0.

I've occasionally used this style when writing example code to remove visual noise, but it's probably not a good idea there either.

Comment via: facebook, lesswrong, mastodon

Recent posts on blogs I like:

The Weekly Anthropocene Interviews Me

I have been interviewed by The Weekly Anthropocene. It’s sort of a grab bag of all the topics we talk about on this blog—some effective altruism, some general life advice. I really enjoyed getting to talk to Sam Matey, who’s a very smart guy. Check it out!

via Thing of Things January 6, 2025

Dance Calling By The Numbers, 2024

This post contains javascript content and must be viewed on site.

via Harris Lapiroff January 6, 2025

Handling emotions better over time

Developing skills and mellowing with age The post Handling emotions better over time appeared first on Otherwise.

via Otherwise January 2, 2025

more     (via openring)