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, substack

Recent posts on blogs I like:

Microfictions 2

A few more microfictions, still no LLMs.

via Evan Fields August 7, 2026

Linkpost for August

Announcement: for the next while, I’ll be writing the Effective Altruism Newsletter!

via Thing of Things August 6, 2026

Using AI to analyze life patterns

If you’re anything like me, you may have a lot of notes from various introspective activities – annual / monthly reviews, worksheets, therapy notes, etc. Often these notes are just gathering dust in a paper folder or some forgotten corner of Google Drive.…

via Victoria Krakovna July 30, 2026

more     (via openring)