{"id":20332794,"url":"https://github.com/bp7968h/neplat","last_synced_at":"2026-01-26T00:38:37.547Z","repository":{"id":257956482,"uuid":"870358421","full_name":"bp7968h/neplat","owner":"bp7968h","description":"Interpreted programming language that allows users to write code using a mix of English and Nepali-transliterated keywords","archived":false,"fork":false,"pushed_at":"2024-10-15T23:35:38.000Z","size":91,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-23T02:44:06.375Z","etag":null,"topics":["interpreter","nepali-english","programming-language","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bp7968h.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-09T22:33:00.000Z","updated_at":"2024-10-28T09:33:56.000Z","dependencies_parsed_at":"2024-10-17T04:48:55.277Z","dependency_job_id":null,"html_url":"https://github.com/bp7968h/neplat","commit_stats":null,"previous_names":["bp7968h/neplat"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bp7968h/neplat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bp7968h%2Fneplat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bp7968h%2Fneplat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bp7968h%2Fneplat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bp7968h%2Fneplat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bp7968h","download_url":"https://codeload.github.com/bp7968h/neplat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bp7968h%2Fneplat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28762901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T00:37:26.264Z","status":"ssl_error","status_checked_at":"2026-01-26T00:37:25.959Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["interpreter","nepali-english","programming-language","rust"],"created_at":"2024-11-14T20:28:21.296Z","updated_at":"2026-01-26T00:38:37.532Z","avatar_url":"https://github.com/bp7968h.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# neplat \"Nepali-English Interpreted Programming Language\"\n\nThis project is an interpreted programming language that allows users to write code using a mix of English and Nepali-transliterated keywords. This hybrid approach enables native Nepali speakers to code in a more intuitive and accessible manner, using familiar language constructs alongside traditional English keywords.\n\nThe language supports essential programming features such as variable declarations, assignments, conditionals, loops, and function definitions, all with the flexibility to switch between English and Nepali-transliterated keywords seamlessly.\n\n## **Features**\n\n- **Bilingual Syntax**: Write code using either English or Nepali-transliterated keywords, or a combination of both.\n- **Easy Transition**: Developers familiar with English-based programming languages can easily switch to or incorporate Nepali terms without altering core logic.\n- **Flexible Coding**: You can choose the most comfortable language for your coding experience, improving accessibility for native Nepali speakers.\n\n## **Language Features**\n\n- **Variables**: Supports variable declarations using `let` (English) or `manum` (Nepali-transliterated).\n- **Data Types**: Dynamic data type; handles strings, numbers, booleans, and null values.\n- **Conditionals**: Use `if`, `else`, and `yadi`, `athwa` to write conditional logic.\n- **Loops**: Supports `for`, `while`, `ko_lagi`, `jaba_samma` for iterative loops.\n- **Functions**: Define reusable code blocks using `func` or `karya`, with support for arguments.\n- **Logical Operations**: Perform logical comparisons using `and`, `or`, `==`, `!=`, and their Nepali counterparts (`ra`, `wa`, `barabar`, `barabar_chaina`).\n- **Arithmetic Operations**: Supports basic arithmetic operations such as addition(`+` or `joda`), subtraction(`-` or `ghatau`), multiplication(`*`), and division(`/`).\n- **Comments**: Write single-line `//` and multi-line comments `/* */` to document code.\n- **Error Handling**: Gracefully handle errors during interpretation, including syntax errors, runtime errors, and more.\n- **Custom Functions**: Define and invoke user-defined functions, supporting custom arguments and return values.\n- **Operator Overloading**: Supports overloading of certain operators to handle different data types seamlessly.\n\n## **Example Code**\n\nHere’s an example of how you might use Neplat with both English and Nepali keywords:\n\n```plaintext\nmanum x bhaneko 10;     // Declares a variable in Nepali\nlet y = 5;              // Declares a variable in English\nif (x \u003e y) {            // Uses English for conditionals\n    dekhau(\"Satya\");    // Prints a message in Nepali\n} athwa {               // Uses Nepali for else condition\n    print(\"false\");     // Another print in English\n}\n```\n\n```plaintext\n// nepali transliterated\nmanum a bhaneko 0;\nmanum temp;\n\nko_lagi (manum b bhaneko 1; a bhanda_sano 10000; b bhaneko temp joda b) {\n  dekhau a;\n  temp bhaneko a;\n  a bhaneko b;\n}\n\n/*\nCan use either of the above or below\n*/\n\n// english\nlet a = 0;\nlet temp;\n\nfor (let b = 1; a \u003c 10000; b = temp + b) {\n  print a;\n  temp = a;\n  a = b;\n}\n```\n\n```plaintext\n// Variables and Data Types\nmanum name bhaneko \"NepLat\";  // Variable declared in Nepali\nlet version = 1;            // Variable declared in English\nmanum is_active bhaneko satya; // Boolean variable using Nepali-transliterated true\nlet isBeta = false;           // Boolean variable using English\n\n// Conditionals\nyadi (version \u003e= 1 ra is_active) {   // If statement in Nepali-transliterated with logical `ra` (and)\n    dekhau(\"Version is up-to-date and active!\");  // Print in Nepali\n} athwa {                              // Else statement in Nepali-transliterated\n    print(\"Update needed or inactive.\");  // Print in English\n}\n\n// Loops\n// For loop using English keywords\nfor (let i = 0; i \u003c 5; i = i + 1) {\n    print(\"Count (English): \" + i);\n}\n\n// While loop using Nepali-transliterated keywords\nmanum counter bhaneko 0;\njaba_samma (counter bhanda_sano 5) {   // Nepali while loop\n    dekhau(\"Ginti (Nepali): \" + counter);\n    counter bhaneko counter joda 1;    // Addition operation in Nepali-transliterated\n}\n\n// Functions\nkarya greet(first_name, last_name) {   // Function declaration in Nepali-transliterated\n    dekhau(\"Namaste \" + first_name + \" \" + last_name + \"!\"); // Concatenation with Nepali-transliterated print\n}\n\nfunc calculateSum(a, b) {              // Function declaration in English\n    print a + b;                      // Using print statement in English\n}\n\n// Function Calls\ngreet(\"Dai\", \"Bhai\");                 // Call function using Nepali-transliterated\ncalculateSum(10, 20);\n\n// Logical Operations\nlet isUpdated = version == 1 wa is_active;  // Logical `or` in Nepali-transliterated\nyadi (isUpdated) {\n    dekhau(\"System is updated or active.\");\n}\n\n// Comments\n// Single-line comment example\n/* \n   Multi-line comment example\n   Demonstrating how comments can be used \n   to document code.\n*/\n\n// Error Handling (Demonstrated implicitly through invalid operations, e.g., divide by zero)\nmanum result;\nyadi (is_active ra version barabar 1) {\n    result bhaneko 100 joda 25;\n    dekhau(\"Calculation result: \" + result);\n}\n\n// Operator Overloading\nlet concatenated = \"Hello\" + \" \" + \"World!\";  // String concatenation using overloaded `+`\nprint(concatenated);\n```\n```bash\n#output\nVersion is up-to-date and active!\nCount (English): 0\nCount (English): 1\nCount (English): 2\nCount (English): 3\nCount (English): 4\nGinti (Nepali): 0\nGinti (Nepali): 1\nGinti (Nepali): 2\nGinti (Nepali): 3\nGinti (Nepali): 4\nNamaste Dai Bhai!\n30\nSystem is updated or active.\nCalculation result: 125\nHello World!\n```\n\n## Keyword Mapping\n\nThe table below lists the English (Latin) keywords and their corresponding Nepalese transliterations. You can use either version in your code:\n\n| **Latin**     | **Nepalese**     |\n|---------------|------------------|\n| true          | satya            |\n| false         | galat            |\n| and           | ra               |\n| or            | wa               |\n| if            | yadi             |\n| else          | athwa            |\n| func          | karya            |\n| return        | dinus            |\n| for           | ko_lagi          |\n| null          | khali            |\n| print         | dekhau           |\n| var           | manum            |\n| while         | jaba_samma       |\n| class         | samuha           |\n| this          | yei              |\n| super         | affnai           |\n\n## Operator Mapping\n\nThe table below lists the Normal operators and their corresponding Nepalese transliterations. You can use either version in your code:\n\n| **Normal**     | **Nepalese**     |\n|---------------|------------------|\n| -             | ghatau           |\n| +             | joda             |\n| !             | ulto             |\n| !=            | barabar_chaina   |\n| =             | bhaneko          |\n| ==            | barabar          |\n| \u003e             | bhanda_thulo     |\n| \u003e=            | thulo_wa_barabar |\n| \u003c             | bhanda_sano      |\n| \u003c=            | sano_wa_barabar  |\n\n## How to Get Started\n\n### Prerequisites\n\nEnsure you have Rust installed. If not, you can install it by following the instructions on the [official Rust website](https://www.rust-lang.org/learn/get-started).\n\n### Installation\n\nClone the repository to begin exploring the hash functions:\n\n```bash\ngit clone https://github.com/bp7968h/neplat.git\ncd neplat\ncargo build --release\n```\n\n### Usage\n\nStart coding using either English or Nepali keywords as shown in the example above.\n\n```bash\ncat your_code.neplat\nfunc sayHi(first, last) {\n  print \"Hi, \" + first + \" \" + last + \"!\";\n}\n\nsayHi(\"Dear\", \"Reader\");\n\n./neplat your_code.neplat\nHi, Dear Reader!\n```\n\n## Contributing\n\nWe welcome contributions to enhance the language, add more keywords, or improve functionality. Feel free to submit pull requests or open issues for discussion.\n\n\u003e [!NOTE]  \n\u003e This is work in progress, some features are not implemented, like function return, classes and others\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbp7968h%2Fneplat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbp7968h%2Fneplat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbp7968h%2Fneplat/lists"}