Psi Programming Language (Ashet)
2023-03-10
A language tailored to be compiled in a low-memory environment.
Table of Contents
Psilang (Reloaded)
import io;
pub fn main() u8 {
io.print("Hello, World!\r\n");
return 0;
}
Ashet OS still requires a programming language, but the switch to 32 bit made my attempts with Makeshift rather unfitting. I had more memory and more CPU power available.
Thus, I took the name of an old project, retired it and started a new, very Zig inspired language project. The goals are basically Zig, but with less fancy features. No comptime
, no error unions.
I still adopted a similar error system, but functions returning an error must return potential results via out
paramters.
module global;
import os;
type int = i32;
type long = i64;
var number: int = 10 + 5;
// "pub" makes this function visible outside this module (symbol visibility)
pub fn main() u8 {
var item: u32 = math.square(10);
os.write(os.stdout, "Length") catch {
return 1;
};
return 0;
}
Project Status
Right now, a good bunch of semantic analysis is done, but no code gen is implemented. The project is currently suspended until Ashet OS is in a state where one can edit text on the OS itself.