2
0
Fork 0
mirror of https://github.com/Astrahelm/Neoluma.git synced 2026-06-15 09:21:50 +00:00
Neoluma is a multi-level general purpose programming language designed to be a language for everything. https://neoluma.dev
  • C++ 94.6%
  • Shell 1.7%
  • Python 1.7%
  • CMake 1.5%
  • Batchfile 0.5%
Find a file
2026-06-04 18:21:38 +03:00
.idea Project parsing is now changed into a program-based structure 2026-05-14 13:51:15 +03:00
resources Project parsing is now changed into a program-based structure 2026-05-14 13:51:15 +03:00
src Parser fixes 2026-06-04 18:21:38 +03:00
TestProject 66 mb-mb-- [unintelligible] --Information search facility 'KAFS.' We have a world-beating architecture. The mainframe systems... have power to perform many more tasks concurrently. Unlimited flexibility... 2026-05-07 11:17:50 +03:00
tests Project parsing is now changed into a program-based structure 2026-05-14 13:51:15 +03:00
.gitignore Updated localization + runtime generation 2026-03-08 22:52:20 +03:00
build.bat Project parsing is now changed into a program-based structure 2026-05-14 13:51:15 +03:00
build.sh Updated localization + runtime generation 2026-03-08 22:52:20 +03:00
CMakeLists.txt finally it runs thank god 2026-06-02 22:41:23 +03:00
CMakePresets.json Updated localization + runtime generation 2026-03-08 22:52:20 +03:00
CONTRIBUTORS.md Update Arabic contributor in CONTRIBUTORS.md 2026-03-25 07:35:08 +03:00
crowdin.yml Update Crowdin configuration file 2026-03-26 21:02:13 +03:00
example.nm updated specification 2025-10-24 22:35:55 +03:00
FirstAlphaSpecification.md Project parsing is now changed into a program-based structure 2026-05-14 13:51:15 +03:00
LICENSE Merge from main to semantic analysis branch so i didn't have to deal with outdated translations mid-coding (#17) 2026-01-02 22:21:48 +03:00
neoluma.png Website! 2025-10-09 19:20:46 +03:00
neoluma.svg new logo + errormanager 2025-10-07 13:26:56 +03:00
neoluma_full.png Neoluma's full title and wordmark images are added. Minor changes to code. 2026-03-14 21:06:34 +03:00
neoluma_full.svg Neoluma's full title and wordmark images are added. Minor changes to code. 2026-03-14 21:06:34 +03:00
neoluma_wordmark.png Neoluma's full title and wordmark images are added. Minor changes to code. 2026-03-14 21:06:34 +03:00
neoluma_wordmark.svg Neoluma's full title and wordmark images are added. Minor changes to code. 2026-03-14 21:06:34 +03:00
README.md Update README.md 2026-04-25 21:47:04 +03:00
run.bat namespace parsing check 2026-05-07 10:38:27 +03:00
Specification.md parser: integrate ASTBuilder and nodes; helper & projectmanager tweaks 2025-11-13 22:47:23 +03:00
TRADEMARK.md Merge from main to semantic analysis branch so i didn't have to deal with outdated translations mid-coding (#17) 2026-01-02 22:21:48 +03:00

Neoluma Neoluma

Neoluma (from et.: gr. neo- & lat. -lumen, aka "New Light") is a multi-level, general-purpose programming language designed to be a language for everything. Whether you're crafting a quick script on your knee or developing a large operating system, Neoluma is made with developer experience in mind. Featuring a clean, Python-JS-like syntax with the structure and power of C++ & C# - it's expressive, efficient, and built for modern development.

| Website | License | Discord |

Features

  • Clean, modern syntax inspired by Python, JavaScript, and C#
  • Static typing with type inference for simplicity and safety
  • Rich type system, including a custom fixed-point number type, plus int, float, bool, string, set, dict, array, result, and more
  • Powerful decorators like @entry, @comptime, @unsafe, and others
  • Flexible preprocessor directives for low-level and modular control:
    • #import — import local or external modules (e.g., C++ bindings)
    • #unsafe — enable pointer operations
    • #macro — define macros for compile-time logic
  • Built-in async/await for concurrency
  • Compile-time evaluation and an evolving macro system (WIP)
  • Configurable memory managementautomatic or manual, your choice
  • Cross-platform compilation with LLVM backend for native performance
  • IDE support (planned) — syntax highlighting, debugging, and project tools

📃 File Formats

  • .nmNeoluma Module: source code
  • .nlpNeoluma Project: project structure/configuration
project_name/
├── main.nm
├── utils.nm
└── project.nlp

🧩 Example

@entry
fn main() {
    name = "Neoluma";
    print("Hello, ${name}!")
}

If the function doesn't have a return type, it is void by default — no return required.

⌨️ Usage (planned CLI)

neoluma build project.nlp #compiled way
neoluma run main.nm #interpreted way

🗺️ Roadmap

  • Lexer
  • Parser
  • Semantic Analyzer
  • LLVM IR Compiler [In progress]
  • CLI Toolchain
  • Cross-platform support (Linux / Windows / macOS / Android / iOS / etc.)
  • Plugin system and editor integration
  • Transpilation support (C++, JS, etc.)

🕶️ Vision

Neoluma aims to be a unified language that bridges low-level control and high-level productivity. It is designed for:

  • Systems programming (including OS kernels)
  • Cross-platform apps and utilities
  • Educational tools and experimentation
  • Scripting with performance
  • Future self-hosting development

🚦 Status

Neoluma is in early development. Contributions and feedback are welcome!

🔧 Building from source

Neoluma can be built from cloned source via building scripts.

It doesn't require much input aside from just running the script. Usage:

./build.<ext> [release|debug] [neoluma|payload|installer|all] [--no-install (available only on Unix)]

It generates the full installation output at ./.build/.runtime/[Debug|Release]/

📖 Credits

Created by TsukimotoX under Astrahelm Project and Apache License.

Neoluma™ is a trademark of the Neoluma project; the name and branding are not granted under the Apache-2.0 license.

More documentation and compiler features coming soon! Join our Discord server!

Help us translate Neoluma to other languages via our Crowdin!

This project uses LLVM under the Apache License v2.0 with LLVM Exceptions.