// The Lemni programming language

// The main goal of Lemni is to stay out of the programmers way while providing the tools they need to easily express programs.

// A few traits of the language:

[
	"Functional",
	"Statically-typed",
	"Dynamic"
]


// Examples

// The one and only

main() = IO.outln "Hello, World!"


// A little more involved

main() =
	IO.out "What's your name? "
	name = IO.in ()
	IO.outln ("Hello, " ++ name ++ "!")

// Factorial (1 * 2 * 3 * ... n)

fact(n: Nat) =
	if n < 3 then
		n
	else
		foldl (\(i, last) = i * last) [2..n] 1


// Getting Lemni

// To get Lemni, you will have to compile it from source. Binary packages for x86-64 Linux and Windows will be available soon.