Neut: A Functional Programming Language with Static Memory Management
Neut is a functional programming language featuring static memory management, cleverly combining full λ-calculus support, predictable automatic memory management, and the absence of type system annotations. Unlike traditional garbage collection, Neut uses a type-directed approach to resource handling. The compiler ensures each variable is used exactly once by translating types into functions that can discard or copy values. Even when copying is necessary, Neut avoids unnecessary overhead using the T-necessity operator in modal logic, similar to Rust's borrowing. Neut compiles to LLVM IR and binaries, and boasts built-in LSP server, code formatter, and a rapid prototyping experience akin to scripting languages. Its unique module system distinguishes modules using tarball digests and defines module identities with version information.