Neut Programming Language
Published on: 2025-07-14 14:12:18
Neut is a functional programming language with static memory management.
Its key features include:
Full λ-calculus support
Predictable automatic memory management
The absence of annotations to the type system when achieving both of the above
Neut doesn't use GCs or regions. Instead, it takes a type-directed approach to handle resources.
Like the following:
// the obligated hello world define hello(): unit { print("Hello, world!
") } // algebraic data types data my-list(a) { | Nil | Cons(a, my-list(a)) } // a recursive function with pattern matching define noisy-length(xs: my-list(a)): int { match xs { | Nil => 0 | Cons(_, ys) => let my-message = "hey
" in print(my-message); add-int(1, noisy-length(ys)) } }
Neut translates a type into a function that can discard/copy the values of the type. By using those functions, the compiler translates programs so that every variable is used exactly once.
For example, if a variable is used twice, a translation like the following will h
... Read full article.