The project is freezed and won't be updated until I find a time for it.
Nutt features:
- Strong static typing with local type and effect inference - signatures are required in top-level, but can be omitted in nested declarations
- OOP without inheritance - just molds (class-like declarations), mold constructors are curried first-class functions
- FP - first-class functions, higher-rank polymorphism, forall declarations (including polymorphic lambdas), currying
- Simple val/var semantics that track ownership and don't require fiddling with references.
- Non-strict evaluation
- Polymorphic first-class patterns (could be used in match-to, passed to functions, saved as bindings, etc.)
- Mutual type recursion support via lazy import resolving
- ML-like syntax with a touch of Kotlin
- Polymorphic algebraic effects (higher-rank effects are not supported) with handlers
module main
import $native 'sys/io' : output # say
funct main () : () =
say 'Hello, world!'