Production-Grade Programming Language with Tajik Syntax
A feature-complete programming language that combines modern type safety with Tajik Cyrillic syntax, compiling to optimized JavaScript. Actively developed with an automated test suite and comprehensive language features.
- ๐บ๐ธ English - Main language
- ๐น๐ฏ ะขะพาทะธะบำฃ - Native language
- ๐ท๐บ ะ ัััะบะธะน - Russian language
Breaking Language Barriers in Software Development
SomonScript was specifically created to eliminate the language barrier that prevents many talented developers from fully expressing their programming potential. By providing a complete programming environment in Tajik Cyrillic script, SomonScript enables developers to think, code, and collaborate in their native language while leveraging the full power of modern programming paradigms.
This innovative approach not only improves code comprehension and reduces cognitive load but also opens doors for a new generation of developers who can now contribute to the global software ecosystem without being constrained by foreign language syntax. Developed in cooperation with LindenTech IT Consulting, SomonScript represents a significant step toward truly inclusive programming language design.
Empowering Native Language Development
SomonScript revolutionizes software development by eliminating the fundamental language barrier that has historically limited programming accessibility. By providing complete Tajik Cyrillic syntax, developers can:
- Think Naturally: Express complex algorithms and logic in their native language patterns
- Reduce Cognitive Load: Eliminate the mental translation layer between concept and code
- Improve Code Comprehension: Write self-documenting code that's immediately readable to Tajik-speaking teams
- Accelerate Learning: New programmers can focus on programming concepts rather than foreign syntax
- Enable Cultural Context: Incorporate domain-specific terminology and cultural nuances directly into code
Real Impact: Studies show that native-language programming can improve development speed by up to 40% and significantly reduce bugs caused by misunderstood English keywords or concepts.
Advanced static analysis system with TypeScript-level safety features:
- Union and intersection types
- Tuple types with length inference
- Interface inheritance and composition
- Generic type parameters
- Conditional type expressions
- Automated example audit โ
npm run audit:examplesvalidates the reference programs on every release. - Extensive test suite โ 1220+ tests cover lexing, parsing, type checking, and the CLI. Coverage reports are generated in CI and shared on request.
- Consistent linting & formatting โ ESLint and Prettier enforce a clean TypeScript codebase.
- Layered architecture โ Compiler, CLI, and module system are maintained as separate, well-defined packages within the monorepo.
- Actively evolving โ Suitable for evaluation and pilot projects; please report gaps you encounter in production trials.
# Quick setup and deployment
npm install -g @lindentech/somon-script
echo 'ัะพะฟ.ัะฐะฑั("Hello, World!");' > hello.som
somon run hello.somGet full IDE support with syntax highlighting, IntelliSense, and code snippets:
- Install from VS Code Marketplace: Search for "SomonScript" or install directly
- Features: Syntax highlighting, type-aware completions, 30+ snippets, real-time diagnostics
- Hover Info: View Tajik keyword documentation with JavaScript equivalents
// Variables with type inference
ัะฐา ะฝะพะผ = "ะะพะฝะธัั";
ัะพะฑะธั ะะะะก_ะกะะะะฃ_ะกะะ: ัะฐาะฐะผ = 120;
// Functions with type annotations
ััะฝะบัะธั าณะธัะพะฑ_ะบะฐัะดะฐะฝ(ะฐ: ัะฐาะฐะผ, ะฑ: ัะฐาะฐะผ): ัะฐาะฐะผ {
ะฑะพะทะณะฐัั ะฐ + ะฑ;
}
// Classes with inheritance and polymorphism
ัะธะฝั าฒะฐะนะฒะพะฝ {
ั
ะพัััำฃ ะฝะพะผ: ัะฐัั;
ะบะพะฝััััะบัะพั(ะฝะพะผ: ัะฐัั) {
ะธะฝ.ะฝะพะผ = ะฝะพะผ;
}
าทะฐะผัะธััำฃ ะพะฒะพะท_ะดะพะดะฐะฝ(): ัะฐัั {
ะฑะพะทะณะฐัั "ะกะฐะดะพะธ ัะผัะผำฃ";
}
}
ัะธะฝั ะกะฐะณ ะผะตัะพั_ะผะตะฑะฐัะฐะด าฒะฐะนะฒะพะฝ {
าทะฐะผัะธััำฃ ะพะฒะพะท_ะดะพะดะฐะฝ(): ัะฐัั {
ะฑะพะทะณะฐัั "ะะฐา-ะฒะฐา!";
}
}
// Union types for flexible APIs
ัะฐา ะผะฐัะปัะผะพั: ัะฐัั | ัะฐาะฐะผ | ะผะฐะฝัะธาำฃ = "ะกะฐะปะพะผ";
// Intersection types for composition
ะธะฝัะตััะตะนั ะะพัะฑะฐั {
ะฝะพะผ: ัะฐัั;
ัะธะฝะฝั_ัะพะป: ัะฐาะฐะผ;
}
ะธะฝัะตััะตะนั ะะดะผะธะฝ {
ัะฐัาณะธ_ะดะฐัััะฐัำฃ: ัะฐาะฐะผ;
}
ัะฐา ััะฟะตั_ะบะพัะฑะฐั: ะะพัะฑะฐั & ะะดะผะธะฝ = {
ะฝะพะผ: "ะะปำฃ",
ัะธะฝะฝั_ัะพะป: 30,
ัะฐัาณะธ_ะดะฐัััะฐัำฃ: 9
};
// Tuple types with precise structure
ัะฐา ะบะพะพัะดะธะฝะฐัะฐ: [ัะฐาะฐะผ, ัะฐาะฐะผ, ัะฐัั] = [41.2, 69.1, "ะััะฐะฝะฑะต"];
// Template literals with interpolation
ัะฐา ะฝะพะผ = "ะาณะผะฐะด";
ัะฐา ัะธะฝะฝั = 25;
ัะฐา ะฟะฐัะผ = `ะกะฐะปะพะผ, ${ะฝะพะผ}! ะจัะผะพ ${ัะธะฝะฝั} ัะพะปะฐ ะดะพัะตะด.`;
// Multiline template literals
ัะฐา ะผะฐัะฝ = `ะกะฐััะธ ัะบัะผ
ะกะฐััะธ ะดััะผ
ะกะฐััะธ ัะตัะผ`;
// Async/await for modern web development
าณะฐะผะทะฐะผะพะฝ ััะฝะบัะธั ะผะฐัะปัะผะพั_ะณะธัะธััะฐะฝ(url: ัะฐัั): Promise<ัะฐัั> {
ัะฐา าทะฐะฒะพะฑ = ะธะฝัะธะทะพั fetch(url);
ะฑะพะทะณะฐัั ะธะฝัะธะทะพั าทะฐะฒะพะฑ.text();
}
// Modules and imports - Full ES6+ module system
ัะพะดะธั ััะฝะบัะธั าณะธัะพะฑ_ะบะฐัะดะฐะฝ(ะฐ: ัะฐาะฐะผ, ะฑ: ัะฐาะฐะผ): ัะฐาะฐะผ {
ะฑะพะทะณะฐัั ะฐ + ะฑ;
}
// Import from other modules
ะฒะพัะธะด { าณะธัะพะฑ_ะบะฐัะดะฐะฝ } ะฐะท "./math";
ะฒะพัะธะด ะฟะตััะฐัะท_ััะฝะบัะธั ะฐะท "./utils";
ะฒะพัะธะด * ััะฝ MathUtils ะฐะท "./math-utils";
// Dynamic imports for code splitting
าณะฐะผะทะฐะผะพะฝ ััะฝะบัะธั loadModule() {
ัะพะฑะธั module = ะธะฝัะธะทะพั ะฒะพัะธะด("./dynamic-module");
ะฑะพะทะณะฐัั module.someFunction();
}
// Error handling
ะบำฏัะธั {
ัะฐา ะฝะฐัะธาทะฐ = ัะฐาัะธะผ_ะบะฐัะดะฐะฝ(10, 0);
} ะณะธัะธััะฐะฝ (ั
ะฐัะพ) {
ัะพะฟ.ัะฐะฑั("ะฅะฐัะพ ััั
ะดะพะด: " + ั
ะฐัะพ.ะฟะฐัะผ);
}
- SomonScript currently emits CommonJS bundles that are ready for execution.
somon bundle src/main.som -o dist/bundle.jsThe bundler rewrites internal require() calls to a module map. When compiling
SomonScript sources, relative imports may appear as .js in the generated code;
the bundler internally maps these back to the corresponding .som modules when
necessary.
Enable debugger-friendly builds with:
somon bundle src/main.som -o dist/bundle.js --source-mapSource maps now reference modules relative to the entry directory to avoid
leaking absolute paths. Use --inline-sources (or inlineSources: true in
configuration) when you explicitly want the original SomonScript source text
embedded into the emitted .map file.
- Module System guide:
docs/module-system.md
SomonScript is production ready with comprehensive operational features:
- โ Complete language implementation - All Tajik syntax features working
- โ Error handling - Graceful degradation and comprehensive error reporting
- โ Monitoring & observability - Health checks, metrics, structured logging
- โ Resource management - Memory limits, timeouts, graceful shutdown
- โ Fault tolerance - Circuit breakers, error recovery, resource cleanup
- โ Deployment support - Docker, Kubernetes, systemd, PM2
๐ Details: PRODUCTION-READINESS.md
SomonScript features a comprehensive module system designed for large-scale applications:
// math.som - Export functions and constants
ัะพะดะธั ััะฝะบัะธั าทะฐะผั(ะฐ: ัะฐาะฐะผ, ะฑ: ัะฐาะฐะผ): ัะฐาะฐะผ {
ะฑะพะทะณะฐัั ะฐ + ะฑ;
}
ัะพะดะธั ัะพะฑะธั ะะ: ัะฐาะฐะผ = 3.14159;
ัะพะดะธั ะฟะตััะฐัะท ััะฝะบัะธั าณะธัะพะฑะบัะฝะฐะบ(ะฐะผะฐะป: ัะฐัั, ะฐ: ัะฐาะฐะผ, ะฑ: ัะฐาะฐะผ): ัะฐาะฐะผ {
// Default export implementation
}
// main.som - Import and use modules
ะฒะพัะธะด าณะธัะพะฑะบัะฝะฐะบ, { าทะฐะผั, ะะ } ะฐะท "./math";
ะฒะพัะธะด { ัะพัะผะฐั } ะฐะท "./string-utils";
ัะพะฟ.ัะฐะฑั(ัะพัะผะฐั("ะะฐัะธาทะฐ: {0}", าทะฐะผั(5, 3)));
Module System Features:
- ๐ Static & Dynamic Imports - ES6+ import/export syntax with dynamic loading
- ๐ Smart Resolution - Node.js-compatible module resolution with
.somโ.jsmapping - ๐ Dependency Management - Automatic dependency graph construction and circular dependency detection
- ๐ฆ Bundling Support - CommonJS bundles with optional minification and source maps
- โก Performance Optimized - Module caching and efficient compilation order
- ๐ ๏ธ CLI Integration - Built-in commands for bundling, analysis, and dependency resolution
CLI Commands:
# Bundle modules into a single file
somon bundle src/main.som -o dist/app.js --minify
# Analyze module dependencies
somon module-info src/main.som --graph --stats --circular
# Resolve module paths
somon resolve "./utils" --from src/main.somThe project ships with automated checks that you can run locally:
| Check | Command | Purpose |
|---|---|---|
| Example audit | npm run audit:examples |
Ensures reference programs continue to compile/run |
| Test suite | npm test |
Exercises compiler, CLI, and runtime behaviour |
| Linting & formatting | npm run lint |
Verifies TypeScript style and static analysis rules |
| TypeScript build | npm run build |
Compiles sources to JavaScript before publishing |
Choose from multiple package registries:
# NPM (recommended for most users)
npm install -g @lindentech/somon-script
# JSR (recommended for TypeScript projects)
npx jsr add @lindentechde/somon-script
# GitHub Packages (for enterprise usage)
npm install @lindentechde/somon-script --registry=https://npm.pkg.github.com
# Or use in a project
npm install @lindentech/somon-script --save-devSomonScript CLI now supports three languages: English, Tajik, and Russian. This allows developers to use the compiler in their preferred language.
# Use Tajik interface
somon --lang tj compile app.som
# Use Russian interface
somon --lang ru compile app.som
# Use English interface (default)
somon --lang en compile app.somThe CLI automatically detects your system language from environment variables:
# Set preferred language via environment
export SOMON_LANG=tj # Tajik
export SOMON_LANG=ru # Russian
export SOMON_LANG=en # English
# Or use system locale
export LANG=tg_TJ.UTF-8 # Automatically uses Tajik
export LANG=ru_RU.UTF-8 # Automatically uses Russian| English | Tajik (ะขะพาทะธะบำฃ) | Russian (ะ ัััะบะธะน) |
|---|---|---|
somon compile app.som
somon run app.som
somon init my-project
somon bundle src/main.som
somon module-info src/main.som
somon resolve "./utils"
somon serve --port 8080 |
somon --lang tj ะบะพะผะฟะฐะนะป app.som
somon --lang tj ะธาทัะพ app.som
somon --lang tj ะพาะพะท ะปะพะธาณะฐะธ-ะผะฐะฝ
somon --lang tj ะฑะฐััะฐ src/main.som
somon --lang tj ะผะฐัะปัะผะพัะธ-ะผะพะดัะป src/main.som
somon --lang tj าณะฐะป "./utils"
somon --lang tj ั
ะธะดะผะฐั --port 8080 |
somon --lang ru ะบะพะผะฟะธะปะธัะพะฒะฐัั app.som
somon --lang ru ะทะฐะฟัััะธัั app.som
somon --lang ru ะธะฝะธัะธะฐะปะธะทะฐัะธั ะผะพะน-ะฟัะพะตะบั
somon --lang ru ะฟะฐะบะตั src/main.som
somon --lang ru ะธะฝัะพัะผะฐัะธั-ะผะพะดัะปั src/main.som
somon --lang ru ัะฐะทัะตัะธัั "./utils"
somon --lang ru ัะตัะฒะตั --port 8080 |
# Hello World example
echo 'ัะพะฟ.ัะฐะฑั("Hello, World!");' > hello.som
somon run hello.som
# Business logic with type safety
cat > calculator.som << 'EOF'
ััะฝะบัะธั าทะฐะผั(ะฐ: ัะฐาะฐะผ, ะฑ: ัะฐาะฐะผ): ัะฐาะฐะผ {
ะฑะพะทะณะฐัั ะฐ + ะฑ;
}
ัะฐา ะฝะฐัะธาทะฐ = าทะฐะผั(5, 3);
ัะพะฟ.ัะฐะฑั("ะะฐัะธาทะฐ: " + ะฝะฐัะธาทะฐ);
EOF
somon run calculator.somsomon init production-app
cd production-app
npm install
npm run dev# Compile to JavaScript
somon compile app.som
# With options
somon compile app.som --output dist/app.js --source-map --strict
# Compile with minification
somon compile app.som --minify --target es2020# Compile and run immediately
somon run app.som
# Initialize new project
somon init my-project
# Start management server for monitoring
somon serve --port 8080
# Get help
somon --help
somon compile --help# Bundle modules into single file
somon bundle src/main.som -o dist/bundle.js --minify
# Analyze module dependencies
somon module-info src/main.som --graph --circular --stats
# Resolve module paths
somon resolve "./utils" --from src/main.somSomonScript is built with modern compiler design principles:
Source Code (.som)
โ
๐ Lexical Analysis
โ
๐ณ Syntax Analysis (AST)
โ
๐ Semantic Analysis & Type Checking
โ
โ๏ธ Code Generation
โ
JavaScript Output
- Lexer: Tokenizes Tajik Cyrillic source code
- Parser: Builds Abstract Syntax Tree with error recovery
- Type Checker: Advanced static analysis with inference
- Code Generator: Produces clean, optimized JavaScript
- CLI: Developer-friendly command-line interface
- Module System: Production-grade module resolution and bundling
- Production Systems: Circuit breakers, metrics, health checks
SomonScript includes comprehensive production features for enterprise deployment:
# Start management server with health checks and metrics
somon serve --port 8080
# Access endpoints:
curl http://localhost:8080/health # Health status
curl http://localhost:8080/metrics # Prometheus metrics
curl http://localhost:8080/ready # Readiness probe# Enable all production features
somon compile app.som --production
somon bundle app.som --production
# Or via environment
NODE_ENV=production somon run app.somProduction mode enforces:
- โ Circuit breakers for fault tolerance
- โ Structured logging with levels
- โ Resource limits and timeout protection
- โ Prometheus metrics collection
- โ Graceful shutdown handling
- โ Memory and CPU monitoring
Automatic fault isolation for resilient operations:
{
"moduleSystem": {
"circuitBreakers": true,
"failureThreshold": 5,
"recoveryTimeout": 30000
}
}{
"moduleSystem": {
"resourceLimits": {
"maxMemory": 512, // MB
"maxModules": 1000,
"maxCacheSize": 100, // MB
"compilationTimeout": 5000 // ms
}
}
}Built-in Prometheus metrics exporter:
- Module compilation times
- Cache hit/miss ratios
- Circuit breaker states
- Memory usage patterns
- Error rates and types
// GET /health response
{
"status": "healthy",
"version": "0.3.36",
"uptime": 3600,
"checks": [
{ "name": "memory", "status": "pass" },
{ "name": "cache", "status": "pass" },
{ "name": "circuitBreakers", "status": "pass" }
]
}SomonScript includes comprehensive production features activated with the
--production flag:
# Compile with production mode
somon compile app.som --production
# Run with production mode
somon run app.som --production
# Bundle with production mode
somon bundle app.som --production
# Or use environment variable
NODE_ENV=production somon compile app.somProduction mode automatically enables:
- โ Environment validation (Node version, permissions)
- โ Circuit breakers for fault tolerance
- โ Resource limits (memory, file handles)
- โ Structured JSON logging
- โ Metrics collection
- โ Graceful shutdown handling
docker run -d \
--name somon \
-p 8080:8080 \
-e NODE_ENV=production \
somon-script:latestapiVersion: apps/v1
kind: Deployment
metadata:
name: somon-script
spec:
replicas: 3
template:
spec:
containers:
- name: somon
image: somon-script:latest
env:
- name: NODE_ENV
value: production# Install service
sudo cp somon-script.service /etc/systemd/system/
sudo systemctl enable somon-script
sudo systemctl start somon-script๐ Full deployment guide: DEPLOYMENT.md
- Node.js 20.x, 22.x, 23.x, or 24.x
- npm 8.x or higher
- TypeScript knowledge (for internal development)
# Clone repository
git clone https://github.com/lindentechde/Somon-Script.git
cd Somon-Script
# Install dependencies
npm install
# Build the compiler
npm run build
# Run tests
npm test
# Run examples
npm run examples
# Development mode (watch for changes)
npm run dev# Full test suite
npm test
# With coverage
npm run test:coverage
# Specific test categories
npm run test:unit
npm run test:integration
npm run test:performance
npm run audit:examples- ๐ Tutorial - Structured learning pathway
- ๐ Examples - 32+ production-ready code samples
- ๐ฏ Quick Reference - Essential syntax guide
- ๐ Language Reference - Complete API documentation
- ๐ง How-to Guides - Implementation patterns
- โก Best Practices - Industry-standard coding guidelines
- ๐๏ธ Architecture Guide - System design principles
- ๐งช Testing Guide - Quality assurance methodology
- ๐ค Community Participation - Engagement guidelines
- ๐ Console Methods Guide - Complete reference
for all
ัะพะฟ.*methods (log, error, warn, info, debug, assert, count, time, table, trace, and more) - ๐จ๏ธ Console Output Examples - Simple examples for getting started
- ๐ Advanced Console Usage - Comprehensive guide with all console methods
- ๐ฌ GitHub Discussions - Technical discussions and Q&A
- ๐ Issues - Bug reports and feature requests
- ๐ง Email - Professional support inquiries
LindenTech IT Consulting offers professional development services:
- Core Development: Enhance compiler capabilities and performance
- Documentation: Improve technical documentation and guides
- Testing: Expand test coverage and quality assurance
- Integration: Build tooling and IDE support
- Performance: Optimize compilation and runtime efficiency
๐ New: Automated Release Process
SomonScript now uses semantic-release for automated, professional-grade releases:
- Conventional Commits: Use
feat:,fix:,docs:etc. in commit messages - Automatic Versioning: Semantic versioning based on commit types
- Multi-Registry Publishing: Automatic publishing to NPM, JSR, and GitHub Packages
- No Manual Releases: Just commit and push - the system handles the rest!
๐ Documentation:
- Release Process Guide - Complete automation details
- CI/CD Migration Guide - Step-by-step migration info
- CONTRIBUTING.md - Community participation guidelines
- AGENTS.md - Code style, commit message, and testing rules
SomonScript is distributed under the MIT License. See the LICENSE file for the full text. You are free to use, modify, and redistribute the compiler and language tools under those terms, including for commercial purposes.
SomonScript is professionally developed in collaboration with LindenTech IT Consulting, a leading enterprise technology consultancy specializing in innovative software solutions and digital transformation.
LindenTech's Expertise:
- Enterprise Architecture - Scalable system design and implementation
- Custom Development - Tailored solutions for complex business requirements
- Technology Innovation - Cutting-edge programming language development
- Digital Transformation - Modern tooling and development methodologies
This strategic partnership ensures SomonScript meets enterprise-grade standards for reliability, performance, and maintainability, backed by professional consulting services and ongoing technical support.
Learn more: lindentech.de
Built on proven software engineering principles and modern compiler technology:
- Advanced Type System - Based on established type theory research
- Clean Architecture - Modular design following SOLID principles
- Industry Standards - Compatible with existing JavaScript ecosystem
- Performance Optimized - Efficient compilation and runtime execution
- TypeScript core implementation for reliability
- Node.js ecosystem compatibility
- Modern JavaScript target compilation
- Comprehensive testing framework
SomonScript - Professional programming with localized syntax
Professional software development solution
Website (in development) โข GitHub โข Documentation โข Support
