Skip to content

Fancryer/Nutt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nutt

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!'

About

Reference Nutt interpreter

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors