Goubermouche / sigma

A compiled, statically typed, C-like, data oriented language with a focus on performance and low-level optimization using GPU acceleration via kernels.
MIT License
19 stars 0 forks source link
c gpu-computing optimization programming-language

sigma logo

[![Linux](https://github.com/Goubermouche/sigma/actions/workflows/linux.yml/badge.svg)](https://github.com/Goubermouche/sigma/actions/workflows/linux.yml) [![Windows](https://github.com/Goubermouche/sigma/actions/workflows/windows.yml/badge.svg)](https://github.com/Goubermouche/sigma/actions/workflows/windows.yml)

Sigma is a compiled, statically typed, C-like, data oriented language with a focus on performance and low-level optimization using GPU acceleration via kernels. Sigma is currently under heavy development and isn't ready for stable use.

[!IMPORTANT]

I've taken a break from developing Sigma for the time being, but the project isn't dead and will be worked on eventually, in some shape or form. I'm currently trying to focus on the development of my minimalistic backend and x86/64 assembler, which will later be used as the main backend for this project.

Getting up and running

Get started by running:

# Download Sigma's source code
$ git clone https://github.com/Goubermouche/sigma.git --recursive
$ cd sigma

# Generate project files
$ premake5 vs2022

After downloading and building the project you can compile a .s file [WIP]:

# Compile main.s as a Sigma source file
$ sigma compile main.s

Project status

I've taken a break from developing Sigma for now, but the project isn't dead and will be worked on eventually. I'm currently trying to focus on the development of my minimalistic backend and x86/64 assembler, which will later be used as the main backend for this project.

Contributing

Contributions, either to the compiler implementation, or related to language design are greatly appreciated and welcome.

Tooling

Sigma strives to be a fully functional enviroment, for this purpose we're developing several tools which aim to ease entry cost and improve the developer experience. As more tools become available they will be added to the list bellow:

Dependencies