Zai is a small programming language which I wrote for fun. The language:
- Is Dynamically typed
- Is Entirely written in Python
- Supports classes
- Supports first-class functions
- Supports writing and importing modules
NOTE: This is a project made for both learning and fun. It is not meant to be used in serious projects.
git clone https://github.com/sehnsucht13/zai-pl.git
cd zai-pl
# Start a REPL
python3 -m zai
# Run a file called FILENAME.zai
python3 -m zai FILENAME.zai
# Install from pip
pip install --user zai-pl
# Start a REPL
zai-pl
# Run a file called FILENAME.zai
zai-pl FILENAME.zai
A small tour of the language showing some of the features available along with language syntax can be found within the docs/language-tour.md file.
Here is a list of the features which are currently missing but will be implemented in the future
- Basic class inheritance
-
for
loops - Multiline comments
- Prefix/Postfix increment and decrement operators
- Printing more than one variable at a time.
- Floating Point Numbers
- Add support for source code comments
- Improve test coverage
- Automatic Deploy of new versions with CircleCI
- The language grammar can be found within the docs/grammar file.
- Some more in-depth details about the implementation(how objects are represented internally, environment...) can be found within docs/architecture.md file.
Below are some of the resources which I found helpful while making this.