~yerinalexey/qlc

The Q programming language
Add example from README to examples/fib.q
Implement 'or' operator for null unwrapping
README: add contributing

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~yerinalexey/qlc
read/write
git@git.sr.ht:~yerinalexey/qlc

You can also use your local clone with git send-email.

#The Q programming language

General-purpose toy programming language for Unix-like systems.

Disclaimer: Highly work in progress, breaking changes may happen.

#Installation

Dependencies:

  • C11 compiler
  • QBE
  • Gas compatiable assembler and a linker C compiler is required to build programs right now.
$ make

#Example

fn printf(fmt: *u8, i: i32);

pub fn main(): u8 = {
	printf("%d\n", fib(10));
	return 0;
};

fn fib(n: i32): i32 =
	if (n <= 1) n else fib(n - 1) + fib(n - 2);

// -> 55

This example lives in examples/fib.q. Use ./qlcc -R examples/fib.q to compile and execute it.

$ ./qlcc -R examples/fib.q
55

#Contributing

While Q is still young and there are not much easy areas to work into, but still, any contributions are welcome!

Check the bug tracker for things to work on.

Send patches using git send-email to the mailing list [archives]

#Contact

IRC (nick: yyp):

  • #myrddin on irc.eigenstate.org
  • ##yyp on irc.libera.chat
  • ... or pretty much any off-topic channel where you can find me