Welcome to Leema, a concurrent, error-tolerant, strongly-typed functional programming language. Leema’s primary use case is application servers, but is not so specialized that it couldn’t be used for other cases as well. Leema is implemented with Rust; you can find the code on Github.
func main -> print("hello world!\n") --
Notable Features
Error Handling
Have you read or watched Scott Wlaschin’s description of Railway Oriented Programming? Leema takes this sort of approach and builds it into the language. The result is something that is somewhere in between exceptions and return values. Read more
Concurrency
Leema provides linear representation of concurrent operations with language support of futures. Read more
Domain Types
Domain Types are a way of constraining an existing type to a particular set of values. Like a type alias, but with more constraints. Read more
Pattern Matching
Pattern matching makes code and conditional logic very readable and is a central part of leema’s design.
func factorial:Int :: i:Int |1 -> 1 |_ -> i * factorial(i-1) --