/osmon

An experimental language for uzbek developer community

Primary LanguageRustApache License 2.0Apache-2.0

Osmon's Logo

Osmon

Statically compilation component for Osmon.

GitHub top language Channel Tests CI

About

Compiler written on Rust using libgccjit as backend. Statically compiled programming language for advanced developers.

Example

extern func printf(fmt: *char,...) void;
extern func calloc(c: i32,size: i32) *u8;

pub struct Point {
	x: i32,
	y: i32
}

pub func point_print(p: *Point) void {
	printf("(%i;%i)\n",p.x,p.y);
	return;
}

pub func main() i32 {
    var p: *Point;
    p = calloc(1,8) as *Point;
    p.x = 3;
    p.y = 4;
	point_print(p);
	printf("0x%lx\n",17179869187L);
	return 0;
}

Installation

For *NIX based operating systems, you can install Osmon by running the following command:

cargo install osmon

However, it's not possible to install Osmon on Windows. You can use WSL to install Osmon on Windows. If you want to use osmon's libraries, then you may want to run:

cargo add osmon

License

This project is licensed under dual licence MIT and Apache-2.0 Licenses - see the MIT and Apache files for details.