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 (490)

@AmazingMech2418 It seems to be non-deterministic, I'd estimate it occurs about 50% of the time, for now just keep compiling until it works.
I had theorized that it occurs due to early deallocation, but we don't have any hard proof, or we would've fixed it.
And yes, it's on all of the Repls, Bash Repls are just easier to work with.