SkillAgentSearch skills...

Occult

An enigmatic systems programming language.

Install / Use

/learn @occultlang/Occult

README

<div align="center" style="display: grid; place-items: center; gap: 10px;"> <a href="https://occultlang.org/" target="_blank"> <img src="mascot.svg" width="240" alt="Occult Logo"> </a> <h1 style="margin: 5px;">The Occult Programming Language</h1> <p align="center">An enigmatic systems programming language.</p> <br>

Website License <br> <br> Stars Forks

</div>

[!IMPORTANT]

There's a more in-depth guide on getting started at https://occultlang.org/getting-started <br/>

Language specification is at https://occultlang.org/language-specifications

What is Occult?

Occult is a systems programming language, meant to give the user the full control and power of a C-like language, but with a modern syntax with modern features, making it easy to write, read and learn.

What Occult is capable of?

fn write(i64, string, i64) shellcode i64 { 0x55 0x48 0x89 0xe5 0x48 0xc7 0xc0 0x01 0x00 0x00 0x00 0x0f 0x05 0x48 0x31 0xc0 0x48 0x89 0xec 0x5d 0xc3 }

fn strlen(string) shellcode i64 { 0x55 0x48 0x89 0xe5 0x48 0x31 0xc0 0x80 0x3c 0x07 0x00 0x74 0x05 0x48 0xff 0xc0 0xeb 0xf5 0x48 0x89 0xec 0x5d 0xc3 }

fn puts(string s) {
    write(1, s, strlen(s));
}

fn main() {
    puts("1\n");
    puts("2\n");
    puts("3\n");
    puts("4\n");
    puts("5\n");
}

This is an example of using raw x86_64 shellcode with the Linux write syscall to print out 1 to 5!


Building Occult

[!NOTE] The highest C++ standard that Occult should use is C++23 <br> Also, the only architecture Occult supports is amd64 as of now, obviously this will change!

Building for Linux / MacOS

git clone --recurse-submodules https://github.com/occultlang/occult.git && cd occult
chmod +x build.sh
./build.sh

Building for Visual Studio on Windows (You must install LLVM with clang inside Visual Studio Installer)

git clone --recurse-submodules https://github.com/occultlang/occult.git
cd occult
./build.bat

Change the C++ Language Standard to the latest version

image

Change the Platform Toolset to LLVM(clang-cl) (Or else Occult WILL NOT compile on Windows because of MSVC...)

<img width="500" height="99" alt="image" src="https://github.com/user-attachments/assets/0ed5e04b-0432-432f-9772-0a4ea29f8d15" />

Next, go into C/C++ -> Command Line, and then remove all the contents of the "Additional Options" field

image

Afterwards, you should be good to go


Roadmap

  • Basic STDLIB
  • Linker Completion
  • Bug Testing & Stability
  • Bootstrapped Compiler

Planned for later on

  • Foreach implementation
  • RAII
  • New Intermediate Representation (SSA) for optimization pass
  • RISCV Support
  • ARM64 Support

Resources Used

View on GitHub
GitHub Stars44
CategoryDevelopment
Updated12h ago
Forks2

Languages

C++

Security Score

95/100

Audited on Mar 31, 2026

No findings