Ya (ي) is an open source programming language where you can write python code in arabic language.
It takes the arabic text and convert it into python code and execute it. Which then can be used anywhere. You can code anything which you can code in python.
It is recommended to use IntelliJ IDEA as it support RTL text direction and and it also support .ي extension.
You can add IntelliJ plugin for Ya Language. For installing pluging search 'ي' keyword in plugin tab of intelliJ editor.
- Hello World Sample File اهلا.ي
اطبع("اهلا و سهلا يا عالم")؛
Output:
اهلا و سهلا يا عالم
- Condition Sample File لو.ي
ع = ٧
لو ع ٪ ٢ == ٠:؛
اطبع("ع الفردية")؛
ولو ٧ == ٠:؛
اطبع("هذا صفر")؛
اخر:؛
اطبع("ع الزوجية")؛
Output:
ع الزوجية
- Function Sample File وظيفة.ي
وظيفة جمع(اولا، ثاني):؛
كل = اولا + ثاني؛
ارجع كل؛
اطبع("جمع = "، جمع(٢، ٣))؛
Output:
جمع = ٥
NOTE: ؛
is optional at the end of line
For more sample code see (https://github.com/yalang/examples)
- Mac OS or Linux
- Python 3
PLEASE NOTE: You need root access for Linux operating system.
- Clone this repo:
git clone https://github.com/yalang/ya.git
cd ya
- Run install.sh:
./install.sh
- Or run Makefile:
make install
-
Create a new file with name
اهلا.ي
and open in any editor. -
Write this in the file
اطبع("اهلا و سهلا يا عالم")؛
-
Save it
-
Open a terminal and go to the folder where file is saved
-
Run this command
ي اهلا
- It will print
اهلا و سهلا يا عالم
You are most welcome to contribute for ya. For guidelines see CONTRIBUTING.md
To get started take a fork of this repository and clone it.
Packages: Python packages is required, with arabic names and functions with arabic names to call the original and existing package functions.
For instance if we need to import tensorflow we can write
استيراد tensorflow مثل تنسر
If we have a package with name تنسر and having function names in arabic which calls the tensorflow actual functions we can write directly as
استيراد تنسر مثل تنسر
Plugins: Plugins for editors to support Ya is required in order to write the code easily.