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

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
fuzzyastrocat (1199)

@DynamicSquid I can't seem to find a way to do it but it may be possible in different environments. (The internet claims that adding the -masm=intel option to GCC works, but it didn't in my test.) So for all intents and purposes
Intel does require something like nasm, and also uses the file extension .asm.

For more about the differences, Wikipedia has a good comparison. There's also this which gives a shorter overview.