শব্দ (Shobdo) — SRS

Software Requirements Specification · v0.1 draft · 2026-11-09

1. Purpose and scope

Shobdo is a programming language whose keywords, syntax, error messages and tooling are in Bangla. This SRS covers the reference interpreter (v0.1) and lists later goals. Companion document: the PRD (bangla-lang-prd.html). The license is not yet decided.

2. Overall description

3. Functional requirements

IDRequirementv0.1 status
FR-1Lex Bangla identifiers, Bangla/Latin digits, strings with {} interpolation, commentsImplemented
FR-2Latin transliteration keyword aliasesImplemented
FR-3Variables ধরি, constants ধ্রুবImplemented
FR-4Conditionals, while, for-in, break, continueImplemented
FR-5Functions, closures, lambdas, default args, recursionImplemented
FR-6Classes, single inheritance, উর্ধ্ব, private methodsImplemented
FR-7try/catch/throwImplemented
FR-8Lists, maps, ranges, ভিতরে, ??, ?., ternaryImplemented
FR-9No implicit truthinessImplemented
FR-10Bangla error messages with line numbers and "did you mean"Implemented (line only, no column caret)
FR-11Stdlib: output, input, math, string/list/map methodsPartial
FR-12CLI run and replImplemented
FR-13Traits, structs, মেলাও pattern matchingNot implemented
FR-14Modules আনো, async/await, পুনঃলেখ checksNot implemented
FR-15Formatter, LSP, test runner, package managerNot implemented
FR-16Shobdo Web frameworkNot implemented

4. Non-functional requirements

5. Sample

ধরি বয়স = ২৫
যদি বয়স >= ১৮ { লেখো("প্রাপ্তবয়স্ক") } নাহলে { লেখো("অপ্রাপ্তবয়স্ক") }
কাজ যোগ(ক, খ) { ফেরত ক + খ }

6. Acceptance

v0.1 is accepted when npm test in shobdo/ passes and shobdo run examples/hello.shobdo prints the expected output.