/neut

A functional programming language with static memory management

Primary LanguageHaskellMIT LicenseMIT

Tests on Linux Book

Neut

Neut is a functional programming language with static memory management.

Key Features

  • 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. It even uses the T-necessity operator to formulate borrowing.

Basic Characteristics

  • Call by value
  • Impure
  • Compiles to LLVM IR and binary
  • The type system ≒ CoC + ADT + T-necessity + fix - universe hierarchy
    • That is, the usual one in functional programming, but a bit generalized
  • Built-in LSP support
  • Built-in rapid prototyping experience like scripting languages
  • Built-in formatter like Go

Documentation

Please see: https://vekatze.github.io/neut/