Tinh Linh is a modern programming language developed by the Sao Tin Developer Team, aiming for simplicity, modern syntax, and extensibility.
The Tinh Linh language ecosystem consists of three main components:
- Linh (this project): The interpreter implementation - provides fast development and testing capabilities
- Tinh: The AOT (Ahead-of-Time) compiler with runtime, similar to Go's compilation model - optimized for production deployment
- Lithium: The language standard specification - defines the core language features and semantics
This repository contains Linh, the interpreter component of the Tinh Linh language, implemented in C++.
- Interpreter-based execution: Fast iteration and development workflow
- Modern, readable syntax: Clean and intuitive language design
- Extended type system: Support for int, float, str, array, map, and more
- Strong static type checking: Catch errors before runtime
- Variable declarations: Supports
vas,const, andvarkeywords - Semantic analysis: Built-in semantic analyzer and bytecode compiler
- Lithium standard compliant: Follows the Tinh Linh language specification
Version 0.01 Released!
Today marks the release of version 0.01 of the Tinh Linh Programming Language. This release also celebrates the 6-month anniversary since the project began (from January 15, 2025 to July 15, 2025).
Thank you for your support and feedback!
- CMake >= 3.15
- C++17 compiler (MSVC, GCC, Clang)
- Git (for fetching dependencies via CPM.cmake)
You can build the project manually with CMake, or use the provided build scripts:
Open a terminal in the project root and run:
script\build\Release.batThis script will:
- Configure CMake in the
builddirectory - Build the project in Debug mode
- Run the resulting executable automatically if the build succeeds
Open a terminal in the project root and run:
bash script/build/Release.shThis script will:
- Configure CMake in the
builddirectory - Build the project in Debug mode
- Run the resulting executable automatically if the build succeeds
git clone https://github.com/LinhProgrammingLanguage/Linh.git
cd Linh.cpp
mkdir build
cd build
cmake ..
cmake --build .- Place your Linh source code in
test.li(or modify Main.cpp to use another file). - Run the executable:
./LinhAppLinhC/Parsing/- Parser, AST, and semantic analysis components.LinhC/Bytecode/- Bytecode emitter.test.li- Sample Linh language test file.
Contributions, bug reports, and ideas are welcome! Please open an issue or pull request on GitHub.
- Website: https://linh.kesug.com
- Email: linhprogramminglanguage@gmail.com
- Facebook: Tinh Linh Lang
- GitHub: https://github.com/LinhProgrammingLanguage/Linh
NOTICE:
This project was originally licensed under the custom "Tinh Linh - MIT" license.
As of July 14, 2025, the license has been officially changed to the Apache License, Version 2.0.
All new contributions and distributions from this date forward are governed by the Apache License 2.0.
Third-party libraries used:
Notice: This project uses simdjson under the MIT License. The MIT license text for simdjson is available here: https://github.com/simdjson/simdjson/blob/master/LICENSE-MIT
© 2025 Sao Tin Developer Team. See LICENSE for license details.