Back to Projects
Sindlish
In-progressPython

Sindlish

A high-level programming language designed for the Sindhi-speaking communities.

Timeline

Ongoing

Role

Creator & Lead Developer

Team

Solo

Status
In-progress

Technology Stack

Python

Key Challenges

  • Designing a Native-language Syntax Parser
  • Implementing a Bytecode Virtual Machine
  • Building Hybrid Typing and Memory Systems

Key Learnings

  • Compiler Design and Lexical Analysis
  • Virtual Machine Architecture
  • Language Theory and Parsing Techniques

Sindlish Programming Language

Overview

For decades, the programming world has been heavily dominated by the English language. This creates an unnecessary barrier to entry for millions of talented individuals who think and speak in Sindhi. Sindlish breaks that barrier, allowing developers to write professional software using the words they already know natively.

Key Features

  • Native Keywords: Utilize words like kaam (function), agar (if), lafz (string), adad (integer), and faislo (boolean).
  • Hybrid Typing System: Supports both dynamic typing and static type annotations for robust software development.
  • Modern Collections: Built-in support for lists (fehrist), dictionaries (lughat), and sets (majmuo).
  • Crash-Proof Error Handling: Employs a Result system instead of traditional try/catch mechanisms, allowing safe unwrapping of values using soft fallbacks and explicit panics.
  • Bytecode Virtual Machine: Fast and efficient execution environment backend.

Why I Built This

I wanted to empower the local community to learn computational logic without the prerequisite of mastering English terminology. Sindlish is designed to offer a familiar native-language experience while maintaining a robust, modern syntax and high-performance execution.

Design Choice: Why Roman Sindhi?

Why Not Literal Sindhi Script?

While Sindhi has a rich literary tradition with its own script (Sindhi script), I chose Roman Sindhi for several practical reasons:

  • Accessibility: Not all developers have Sindhi script input methods readily available on their machines, especially in programming environments.
  • Keyboard Compatibility: Roman Sindhi can be typed using standard QWERTY keyboards without specialized input methods.
  • Cross-Platform Support: Ensures the language works seamlessly across different operating systems and development tools without encoding issues.
  • Lower Barrier to Entry: Makes it easier for Sindhi speakers learning to program, as they can start coding immediately without technical setup overhead.

Why Roman Sindhi Over English?

The core mission of Sindlish is to make programming accessible in the native language Sindhi speakers think in. Roman Sindhi serves this purpose while maintaining practicality:

  • Linguistic Familiarity: Keywords like kaam, agar, lafz, and adad are recognizable to Sindhi speakers in their phonetic form.
  • Cultural Preservation: Enables native-language programming without requiring users to maintain separate script systems.
  • Future Extensibility: If the community demands, Sindhi script support can be added as a syntax layer without changing the core language design.

This approach balances linguistic authenticity with modern development practicality.

Tooling & Documentation

Sindlish provides interactive REPL capabilities, file execution via script.sd, and a built-in docs command in its CLI for rapid terminal-based reference. Comprehensive online documentation is also available for full language specifications.

Developed by Amanat Ali
© 2026. All rights reserved.