A whole app in one file
جدول مهمة {
عنوان: نص
منجزة = خطأ
}
خادم دالة أضف(عنوان: نص) = مهمة.أنشئ(عنوان: عنوان)
مكون قائمة_المهام() {
حالة جديدة = ""
عمود {
حقل(جديدة، تلميح: "مهمة جديدة…")
زر("أضف") { أضف(جديدة) }
}
}
- جدول
- A database table. Ḍād creates the SQLite schema and a typed API for it.
- خادم دالة
- A function that runs on the server. The interface calls it like any local function.
- مكون
- A reactive interface component, right-to-left by default.
Principles, one keyword each
- ثابت
- Immutable by default. Values never change unless you declare them with
متغير.
- ؟
- No surprise nulls. A value that may be missing says so in its type, as in
نص؟.
- طابق
- Every case handled. The compiler rejects a match that forgets a case.
- خادم
- No fetch, no async. Server calls look local; the compiler adds the waiting.
- ٠١٢
- Arabic first. Arabic digits and punctuation work everywhere, and diacritics never break a name.
- ٣٩
- A small core. 39 keywords in total. Interface elements are ordinary functions.
Where it stands
- SpecificationKeywords, grammar and the Arabic-aware lexer
- Core languageParser and
dad run done; type checker next
- InterfaceComponents and reactive state
- Server and dataServer functions and SQLite tables
- ToolingVS Code extension and web playground done; language server next
- InstallersmacOS, Windows and Linux
Read the full roadmap Read the specification