3 unstable releases

0.4.3 Aug 8, 2023
0.4.2 Aug 8, 2023
0.2.0 Apr 26, 2023

#360 in Programming languages

28 downloads per month
Used in osmon

Apache-2.0 and GPL-3.0 licenses

350KB
9K SLoC

Osmon's Logo

Havo

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 havo

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

cargo add havo

License

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

Dependencies

~2–11MB
~129K SLoC