Metadata-Version: 2.1
Name: zai-pl
Version: 0.8.0
Summary: A small programming language written for learning purposes.
Home-page: https://github.com/sehnsucht13/zai-pl
Author: Yavor Konstantinov
Author-email: ykonstantinov1@gmail.com
License: GPLv3
Keywords: zai,programming-language,zai-pl
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Other
Classifier: Topic :: Software Development :: Interpreters
Requires-Python: >=3.6
Description-Content-Type: text/markdown

[![GPLv3 license](https://img.shields.io/badge/License-GPLv3-blue.svg)](http://perso.crans.org/besson/LICENSE.html) [![zai](https://circleci.com/gh/sehnsucht13/zai-pl.svg?style=shield)](https://app.circleci.com/pipelines/github/sehnsucht13/zai-pl)

# Zai

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.
# Examples
Coming Soon...

# Missing Features and Future Improvements
Here is a list of the features which are currently missing but will be implemented in the future
- [ ] Basic class inheritance
- [ ] Floating Point Numbers
- [ ] Prefix/Postfix increment and decrement operators
- [ ] Better test suite
- [ ] Importing and calling native python functions(Maybe...)

# Internals and Documentation
- The language grammar can be found within the [docs/grammar file](https://github.com/sehnsucht13/zai-pl/blob/master/docs/grammar)
- Some more in-depth details about the implementation(how objects are represented internally, environment...) can be found within [docs/architecture.md file](https://github.com/sehnsucht13/zai-pl/blob/master/docs/architecture.md)

# Resources
Below are some of the resources which I found helpful while making this.
- [Crafting Interpreters](https://craftinginterpreters.com/ "Crafting Interpreters Homepage")
- [Modern Compiler Design](https://dickgrune.com/Books/MCD_2nd_Edition/ "Modern Compiler Design")
- [Max Bernstein's Blog](https://bernsteinbear.com/blog/ "bernsteinbear")


