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:

American effective altruists should probably donate to political candidates

My recommendation for donors who are American citizens or permanent residents is that they donate directly to high-value political candidates.

via Thing of Things December 28, 2025

Opinionated takes on parenting

This post is a collection of parenting takes that sometimes go through my head, based on my experience raising our two boys (5 and 2 years old). All of this is based on my experience and might not apply to others (see the law of equal and opposite advice)…

via Victoria Krakovna December 16, 2025

How to Make a Christmas Wreath

Yesterday, I made a Christmas wreath. Here's how to make one. First, find an evergreen tree near your house. Clip off a few branches from the tree. Try to have as many leaves or needles on the branches as possible. Next, bring them home. What I usu…

via Anna Wise's Blog Posts December 6, 2025

more     (via openring)