Novah is a strongly-typed functional programming language for the JVM
Begin code:
module greetings
greet : String -> String
greet name = "Hello " ++ name
pub
main : Array String -> Unit
main args =
if len args == 0 then
println (greet "World")
else
println (greet (aget 0 args))
End code.
Features
- Row polymorphism and extensible records
- Type inference so you rarely need explicit types
- Java interoperability
- Persistent data structures with literal syntax
- Generic programming with instance arguments
- Pattern matching with function parameter and let destructuring support
- Computation expressions
- IDE support
- Project and dependency management built-in
- Language server protocol and REPL built-in