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

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

@DynamicSquid One last thing: In my opinion a compiler might not be the best way to learn assembly — first it might be best to learn some basics (using an external tutorial), then try making the compiler. The thing about assembly is that it's not super hard to learn the syntax (so learning the basics should be easy), but finding the right commands (and semantics) can be hard (the command set is fairly large and documentation can be hard to find for some commands).