Facilis - A Low Level Functional Language
h
CSharpIsGud (643)

Facilis is a strongly typed functional language that aims to be low level. Facilis uses a hand-written recursive descent parser made with love.

Factorial Example

impure foreign putchar(c of u8) -> void
impure foreign tostr(num of void*) -> string

impure write(str of string, start of i32) -> void {
	putchar(str[start])

	if start != str.length() {
		write(str, start + 1)
	}
}

pure fact(i of i32) -> i32 {
	if i == 1 {
		return i
	}

	return i * fact(i - 1)
}

impure main() -> i32 {
    write(tostr(fact(6)), 0)
}

Demo: https://repl.it/@Facilislang/FacilisDemo#README.md
^ Has a user/password login program loaded by default. Read the README!

Source: https://repl.it/@Facilislang/Facilis
^ 2072 lines of C++!

@CSharpIsGud @Subarashi @xxpertHacker

You are viewing a single comment. View All
xxpertHacker (481)

@DynamicSquid Often times directly to binary. Either way, it just has to compiled from every high-level, abstract language, into instructions that show how the machine works, oftentimes those instructions should be executable.
Ideally, Facilis is without external dependencies, unlike what we have done here, compilation should be one single step from the user's point of view, but I guess we can just document that somewhere.