1
0
Fork 0
mirror of https://github.com/Astrahelm/Neoluma.git synced 2026-04-30 18:22:30 +00:00
Neoluma is a multi-level general purpose programming language designed to be a language for everything. https://neoluma.dev
  • C++ 95.4%
  • CMake 1.5%
  • Shell 1.5%
  • PowerShell 1%
  • Batchfile 0.6%
Find a file
2026-04-25 21:47:04 +03:00
.idea Massive update adding payload creation and the Installer 2026-02-28 15:25:36 +03:00
resources Merge remote-tracking branch 'origin/semantic-analysis-and-errormanager' into semantic-analysis-and-errormanager 2026-02-28 23:27:41 +03:00
src First Alpha Implementation document + moving extensions and installers to other repos 2026-04-25 20:24:12 +03:00
TestProject Minimal Semantic Analysis complete 2026-03-22 21:19:15 +03:00
tests First Alpha Implementation document + moving extensions and installers to other repos 2026-04-25 20:24:12 +03:00
.gitignore Updated localization + runtime generation 2026-03-08 22:52:20 +03:00
build.bat Updated localization + runtime generation 2026-03-08 22:52:20 +03:00
build.sh Updated localization + runtime generation 2026-03-08 22:52:20 +03:00
CMakeLists.txt Tests implemented alongside fixes 2026-04-16 11:46:57 +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 First Alpha Implementation document + moving extensions and installers to other repos 2026-04-25 20:24:12 +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
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.