NIKL / Nik-Lang / Nik Programming Language (pronounced "nickel") is a modern, lightweight programming language designed for concurrent, network-aware, and general-purpose programming. With native support for threads, asynchronous operations, and networking primitives, NIKL aims to simplify the development of scalable and responsive systems.
π File extension:
.nk
β‘ Goal: Simple concurrency, native networking, no boilerplate.
Note:
NIKL
is independently developed and not affiliated with or endorsed by the Rust Foundation
The name NIKL is a blend of personal and symbolic meaning:
- Nik comes from Neko Nik, derived from Nikhil β the creator's name
- Neko (η«) means cat in Japanese π± β light, agile, and independent
- L stands for Language, but also completes the phonetic sound of Nikhil
- Nickel, a lightweight and resilient metal, reflects the languageβs design goals: lightweight, robust, and efficient
- β Clean, minimal syntax
- β Lightweight, fast, and efficient
- β Built-in support for package management
- β
Concurrency with
spawn
andwait
- β
Async execution using a Rust-based async runtime (
tokio
) - β Built-in networking and automation primitives
- β Lightweight interpreter written in Rust
- β Minimal dependencies and fast startup
- β Ideal for scripting, orchestration, and lightweight services
- Docker: For running the interpreter in a container
- Rust: For building the interpreter from source (optional)
- VSCode: For editing and syntax highlighting (optional)
If you prefer to use Docker, you can run the NIKL interpreter without installing it on your local machine. This is a great way to quickly test and run Nikl scripts.
-
Pull the Docker image:
docker pull nekonik/nikl:latest
-
Run the interpreter:
docker run -it --rm nekonik/nikl:latest
-
Run a script:
You can run directly run this command to run the example script provided in the repository:
```bash
docker run --rm -v "$PWD":/examples nekonik/nikl:latest /examples/examples/neko.nk
```
If you prefer to build from source, follow these steps:
- Clone the repository:
git clone https://github.com/Neko-Nik-Org/NIKL-Core
cd NIKL-Core
- Build the project:
cargo build --release
- Run the interpreter:
cargo run -- path/to/script.nk
// Easy function (type hinting is optional)
fn add_numbers(a: Int, b: Int) -> Int {
return a + b
}
print(add_numbers(1, 2)) // Prints 3
Note: There's lot to explore in the language, including for loops, while loops, and infinite loops. The syntax is designed to be simple and intuitive
Syntax highlighter is available for NIKL in VSCode
Concept | Example |
---|---|
Variable | let x = 42 |
Function Call | fetch_data("url") |
Thread Spawn | let t = spawn do_task() |
Awaiting | let res = wait t |
Output | print("Hello World") |
Sleep | sleep(1000) (milliseconds) |
- π¦ Rust β used as the implementation language for performance and safety
- β‘ Tokio β async runtime for concurrency
- π§© Custom lexer, parser, and bytecode VM
- π§ͺ Tests and tracing support via
tracing
andcargo test
- Tokenizer / Lexer
- Parser
- Core Interpreter (Eval / Runtime)
- Module System
- Basic I/O
- OS, Regex internal module support
- Documentation & Language Reference
-
spawn
andwait
for concurrency - File & socket I/O
- Native async DNS, HTTP, etc.
- Package system (
nikl-pkg
) - Compiler (To be planned, not yet started)
- Package Manager website
- π¦ Prebuilt binaries: Easily download and run
nikl
without building from source. - π Documentation & Language Reference: Comprehensive guides and examples.
- π Official Website: nikl.nekonik.org (Work in Progress).
- π Package Manager:
nikl-pkg
for managing dependencies and modules. - π§ͺ Standard Library: Core utilities for common tasks.
We welcome contributions of all kindsβbug fixes, feature implementations, documentation improvements, and more! If you'd like to get involved:
- Fork the repo and create a branch for your feature or fix.
- Follow the Contributing Guidelines.
- Submit a Pull Request (PR) for review.
Before contributing, please make sure to read the Code of Conduct.
This project follows the Contributor Covenant Code of Conduct. Everyone interacting in the projectβs codebase, issue trackers, discussion forums, and other spaces is expected to follow these guidelines to foster a safe, inclusive, and respectful environment.
To maintain a clean and collaborative development experience, contributors are encouraged to follow the Contributing Guidelines, which include:
- Branching and commit conventions
- PR and issue templates
- Code review expectations
- Testing and formatting rules
Code owners are responsible for reviewing and approving changes before they are merged into the main branch. The list of maintainers and reviewers is defined in the CODEOWNERS
file.
Found a security issue or vulnerability? Please do not open a public issue. Instead, follow our Security Policy to report it responsibly. We'll work with you to investigate, triage, and address the problem.
Need help using NIKL or have a general question?
- Check out the SUPPORT.md for guidelines.
- Join discussions on the Neko Nik Forums.
- Contact via nekonik.com for inquiries. Or by email at nikhil@nekonik.com.
- For urgent issues, please open an issue on GitHub.
- For feature requests, please open a new issue on GitHub.
If you encounter a bug, please open an issue on the GitHub Issues page and include:
- A clear title and description
- Steps to reproduce
- Your environment (OS, version, etc.)
- Screenshots or logs if available
This helps us fix issues faster and keep the language stable for everyone.
Special thanks to the open-source community, especially the Rust ecosystem, for inspiration and guidance. Gratitude to everyone who has contributed code, ideas, feedback, and encouragement to the NIKL project. You make this work possible. β€οΈ
The following domains and subdomains are officially owned and maintained by the author (Neko Nik):
- nikl.nekonik.org - Official NIKL website
- VS Code Extension - NIKL Language Support for Visual Studio Code
- nikl-pkg.nekonik.org - NIKL Package Manager (Not yet live/implemented)
- api.nikl-pkg.nekonik.org - NIKL Package Manager API (Not yet live/implemented)
- Neko Nik Discord Server - Neko Nik Discord Community
- forums.nekonik.com - Neko Nik Forums
Below are the official links to the author's personal website and social media:
- nekonik.com - Author's Website
- status.nekonik.com - Author's Status Page
- github.com/Neko-Nik-Org - Author's GitHub
- orcid.org/0009-0008-3435-5674 - Author's ORCID (Open Researcher and Contributor ID)
- linkedin.com/in/neko-nik - Author's LinkedIn
Join the newsletter and get instant updates on releases, features, and community announcements:
ππ» https://mailer.nekonik.com/subscription/form
Made with β€οΈ by Neko Nik
Join the discussion on the Neko Nik Forums
NIKL-Core is licensed under the MIT License β use it freely, with attribution. No warranties, no liability.
β οΈ Disclaimer:
β’ All domains under *.nekonik.com and *.nekonik.org, including but not limited to nikl.nekonik.org, are owned and managed by the author, Nikhil ("Neko Nik"). These are the only official sources for NIKL-related materials, documentation, and announcements.
β’ You are responsible for any code written or executed using NIKL.
β’ Modifications to the interpreter are at your own risk.
β’ This is a personal project, not affiliated with or endorsed by the Rust Foundation or any other organization.
β’ This is a work in progress β features may change as development continues.
β’ Use at your own risk. No warranties or guarantees are provided. By using NIKL, you agree to these terms.
β’ For more details, see the License file.