Goose, in this post, is the programming language by Wouter van Oortmerssen. It is a memory-safe systems language with no heap allocator, no garbage collector, and no lifetime annotations. It compiles a whole program to one C file, so it runs wherever a C compiler does, and it calls C through extern fn . A bundled TinyCC backend can also compile and run a program inside the compiler process, with no separate build. The repo is aardappel/goose . The short site is aardappel.github.io/goose .
That is the language. The name is crowded. If goose --help talks about providers, you installed the AI agent. If goose up migrates a database, you installed pressly/goose. Neither of those is this compiler.
What you actually write
A program starts at fn main . print takes any number of arguments and writes one line. There is no format string.
fn main() { print("hello, goose"); }
Enter fullscreen mode
Exit fullscreen mode
goose hello.goose
Enter fullscreen mode
Exit fullscreen mode
That prints hello, goose .…