# زبان برنامهنویسی سلام
> سلام، اولین زبان برنامهنویسی فارسی و بومی ایران: زبانی سریع، ایستا و متنباز که میتوانید آن را کاملاً به فارسی یا انگلیسی بنویسید و به فایل اجرایی بومی ترجمه کنید.
سلام یک زبان با دو نگارش است: هر کلیدواژه، نوع، بستهی کتابخانهی استاندارد و پیام خطا یک نام فارسی و یک نام انگلیسی دارد و هر دو به یک برنامهی بومی کامپایل میشوند. دورهی آموزشی زیر زبان را از اولین برنامه به بعد آموزش میدهد و مرجع کتابخانهی استاندارد همهی بستهها را با مثالهای اجراشدنی فهرست میکند. این فایل از قرارداد llms.txt پیروی میکند و متن کامل همین محتوا در llms-full.txt است.
## صفحهها
- [ابزارهای زبان برنامهنویسی سلام](https://www.salamlang.ir/tools/): ویرایشگر آنلاین زبان برنامه نویسی فارسی سلام، افزونهی VS Code و یازده ویرایشگر دیگر، ترجمهگر کد فارسی و انگلیسی، فرمانهای salam و بیش از ۸۰ بستهی کتابخانهی استاندارد.
- [دستیار هوشمند سلام](https://www.salamlang.ir/ai/): دستیار هوشمند سلام به پرسشهای شما دربارهی زبان برنامه نویسی فارسی سلام پاسخ میدهد، کد سلام مینویسد و توضیح میدهد و با ایجنت سلام روی رایانهی خودتان کار میکند. رایگان، با یک حساب کاربری سلام.
- [ایجنت سلام](https://www.salamlang.ir/agent/): ایجنت سلام را دانلود کنید؛ برنامهی رومیزیای که دستیار هوشمند سلام را روی رایانهی شما به کار میاندازد: اجرای فرمان، داکر و WSL و ویرایش پرونده در پوشهای که خودتان انتخاب میکنید، در مرز سطح دسترسیای که برای هر گفتوگو تعیین میکنید.
- [آموزش زبان برنامهنویسی فارسی سلام](https://www.salamlang.ir/learn/): دورهی رایگان و کامل آموزش زبان برنامه نویسی فارسی سلام در ۴۵ درس: از نخستین برنامه تا ساختارها، جداشمارها، تابعهای عام، میانجیها، بستهها و رشتههای همزمان، و بعد ساختن صفحههای وب: همهی عنصرهای HTML، همهی ویژگیهای CSS و همهی رویدادهای مرورگر با کد سلام، با نمونهکدهای فارسی که اجرا میشوند و پیشنمایش زندهی هر صفحه.
- [کتابخانهی استاندارد زبان برنامهنویسی سلام](https://www.salamlang.ir/std/): مرجع فارسی کتابخانهی استاندارد زبان برنامه نویسی سلام: همهی بستهها، تابعها، ساختارها و پایاها با نام فارسی و انگلیسی، توضیح ساده و نمونهکدی که اجرا میشود.
- [جامعهی زبان برنامهنویسی ایرانی سلام](https://www.salamlang.ir/community/): به جامعهی سلام، اولین زبان برنامه نویسی ایرانی و فارسی، بپیوندید: کد منبع در گیتهاب، گفتوگو در گروه تلگرام و دیسکورد، گزارش مشکل و راههای مشارکت در یک زبان برنامهنویسی بومی.
- [نقشهی سایت](https://www.salamlang.ir/sitemap/): همهی صفحهها، درسها و بستههای کتابخانهی استاندارد وبسایت زبان برنامهنویسی سلام در یک فهرست، بههمراه ویرایشگر، دستیار هوش مصنوعی، ربات تلگرام و پیوندهای پروژه.
- [نصب زبان برنامهنویسی سلام روی ویندوز، لینوکس و مک](https://www.salamlang.ir/install/): دانلود و نصب رایگان زبان برنامه نویسی فارسی سلام با یک فرمان روی ویندوز، لینوکس و مک، یا اجرا در داکر؛ بدون نیاز به دسترسی مدیر.
- [سرعت زبان برنامهنویسی سلام](https://www.salamlang.ir/speed/): سلام، زبان برنامه نویسی فارسی و ایرانی، در سنجش ۴۲ برنامهی یکسان ۱۳٪ سریعتر از Rust، ۱۳٪ سریعتر از C، ۱۳ برابر سریعتر از PHP و ۷۰ برابر سریعتر از پایتون اجرا شد.
## دورهی آموزشی
- [نخستین برنامه](https://www.salamlang.ir/learn/start/): تابع ریشه، اجرای برنامه، چاپ خروجی، کد خروج، ورودی، توضیحها و ساختار یک برنامه
- [متغیرها و پایاها](https://www.salamlang.ir/learn/variables/): تعریف متغیر با := و ناپایا، محدودهی متغیر، متغیرهای سراسری، پایاها و نامگذاری
- [گونهها](https://www.salamlang.ir/learn/types/): عدد صحیح و اعشاری، سرریز، منطقی، نویسه، ترکیب گونهها و تبدیل
- [عملگرها](https://www.salamlang.ir/learn/operators/): حساب، تقسیم و باقیمانده، توان، مقایسه، منطق، سهتایی، عملگرهای ترکیبی، پرچمهای بیتی و ترتیب اجرا
- [رشتهها و متن](https://www.salamlang.ir/learn/strings/): شکلهای نوشتن رشته، چسباندن متن، بایت و نویسه، بستهی رشته، مقایسهی متن و خواندن عدد از متن
- [شرطها](https://www.salamlang.ir/learn/conditions/): اگر، وگرنه اگر و وگرنه، واژههای مقایسه، و و یا، برگشت زودهنگام، مقایسهی اعشاریها و قواعد شرط
- [حلقهها](https://www.salamlang.ir/learn/loops/): تکرار با تعداد و بازه و گام، حلقهی تا و دامهایش، حلقههایی که با بشکن تمام میشوند، هر در روی آرایه و وکتور و نگاشت و رشته، حلقههای تودرتو، بشکن چندلایه و گذر
- [همخوان و ترابرد](https://www.salamlang.ir/learn/match/): انتخاب میان حالتها با همخوان و ترابرد: مقدار، رشته، جداشمار، بیرون کشیدن داده و نگهبان، الگوی ساختار، ریزش به حالت بعد و ترابرد درون حلقه
- [تابعها](https://www.salamlang.ir/learn/functions/): تعریف و فراخوانی تابع، برگشت زودهنگام، مقدار پیشفرض، چند خروجی، تابع بازگشتی، همنامی، ورودی ارجاعی و کد خروج ریشه
- [تابعهای بینام](https://www.salamlang.ir/learn/lambdas/): تابع بهعنوان مقدار: تابع بینام، گونهی تابع، مرتبسازی با مقایسهگر، تابعی که تابع برمیگرداند و آنچه تابع بینام از بیرون برمیدارد
- [دیرکن و ویژگیهای تابع](https://www.salamlang.ir/learn/defer/): اجرای پاکسازی در پایان بلوک با دیرکن، ترتیب و زمان اجرای آن، و ویژگیهای ناب، درخط، نادرخط، نابرگشت و بیکاره
- [آرایهها و برشها](https://www.salamlang.ir/learn/arrays/): آرایه، اندیس، آرایه با اندازهی معین، جستجو و جمع زدن، آرایهی دوبعدی، کپی شدن آرایه و برشی که در خود آرایه مینویسد
- [وکتور و نگاشت](https://www.salamlang.ir/learn/collections/): فهرست پویا با وکتور، جفت کلید و مقدار با نگاشت، مرتبسازی، و مجموعه و پشته و صف
- [ساختارها](https://www.salamlang.ir/learn/structs/): دادههای بههمپیوسته، روشها و این، همگانی و خصوصی، چاپ، رونوشت، عضو ایستا و شامل
- [جداشمارها](https://www.salamlang.ir/learn/enums/): مجموعهی بستهای از حالتها، مقدار دلخواه، جداشمار در ساختار، جداشمار دادهدار و نتیجه با ?
- [گونههای تازه و عملگرها](https://www.salamlang.ir/learn/custom-types/): نام دیگر برای گونه، گونهی متمایز با روش و عملگر خودش، بازتعریف عملگرها در ساختار و گوناگون
- [تابعهای عام و میانجیها](https://www.salamlang.ir/learn/generics/): تابع و ظرف عام، میانجی، کاربست، محدودیت گونه و مجموعههای پویا
- [بستهها و پروندهها](https://www.salamlang.ir/learn/packages/): بسته، فراخوانی و واردسازی، همگانی و خصوصی، بستهی چندپروندهای و چیدمان پروژه
- [قواعد مترجم](https://www.salamlang.ir/learn/rules/): قواعد سختگیرانهی سلام، کد خطای هر کدام و راه درست کردنشان
- [مقدار، ارجاع و حافظه](https://www.salamlang.ir/learn/memory/): رونوشت و اشتراک، رونوشت عمیق، آزاد کردن حافظه، صاحب رشته، اشارهگر و بررسی حافظه
- [ترجمهی شرطی](https://www.salamlang.ir/learn/compile-time/): کد ویژهی هر سیستمعامل و پردازنده، پرچمهای ساخت با -D و بررسیهای مخصوص نسخهی اشکالزدایی، همه در زمان ترجمه
- [همکاری با C](https://www.salamlang.ir/learn/c-interop/): صدا زدن تابعهای C با درونداد، printf و تابعهای با ورودی متغیر، اشارهگر و بافر، پیوند کتابخانهها و سپردن تابعهای سلام به C
- [کار همزمان](https://www.salamlang.ir/learn/threads/): نخها با نخساز و نخپیوند، اشتراک امن داده، کانال و حلقهی موازی
- [زبان صفحه](https://www.salamlang.ir/learn/layout/): ساختن صفحهی وب با زبان صفحه: عنصرها، ویژگیها، سبکها، رویدادگیر کلیک، بخشها، صفحهی پارامتردار و فرستادن صفحه از یک برنامهی سلام
- [صفحه و متن](https://www.salamlang.ir/learn/page-text/): ساختار یک صفحه، سرتیترها، پاراگراف، رفتن به سطر بعد و همهی عنصرهای متن: تأکید، نقل قول، کد، ویرایش، تاریخ، کوتهنوشت و متن با جهتهای آمیخته
- [ساختار صفحه و فهرستها](https://www.salamlang.ir/learn/page-structure/): نشانههای صفحه مثل سرصفحه، ناوبری، اصلی و پاورقی، سپس فهرستها، فهرست تعریف، جزئیات، پنجره گفتگو، شکل و آدرس، و ساختن یک صفحهی کامل وبلاگ با آنها
- [پیوند، تصویر و رسانه](https://www.salamlang.ir/learn/page-media/): پیوند و لنگر، تصویر با متن جایگزین و منبعهای واکنشگرا، نقشهی تصویر، صدا و ویدیو با زیرنویس، قاب، جاسازی، بوم، اسویجی و ریاضی
- [جدولها](https://www.salamlang.ir/learn/page-tables/): جدول برای دادهها: عنوان، بخشهای سرصفحه و اصلی و پاورقی، خانههای سرستون با دامنه، خانههای ادغامشده، گروه ستون، و آراستن و پیمایش جدول
- [فرمها](https://www.salamlang.ir/learn/page-forms/): فرم و همهی کنترلهای آن: برچسب، همهی نوعهای ورودی، اعتبارسنجی، متن بلند، تیک و رادیویی، فهرستها، دکمهها، خروجی و پیشرفت و سنجه، پروندهها و رسیدگی به ارسال در برنامه
- [سر صفحه، اسکریپت و ویژگیهای همگانی](https://www.salamlang.ir/learn/page-head/): تنظیمهای خود صفحه، سر صفحه با متا و پیوند، سبک و اسکریپت، قالب و درخت سایه، ویژگیهایی که هر عنصر دارد، ARIA، ویژگیهای داده و تقسیم یک سایت به پروندهها
- [سبک و الگوی جعبه](https://www.salamlang.ir/learn/css-basics/): CSS از صفر: ویژگیهای سبک به شکل ویژگی عنصر، مقدارها، یکاها و رنگها، الگوی جعبه، اندازهها، فضاها، نمایش، سرریز، تابعهای CSS، قاعدههای سراسری و بخشهای قابل استفادهی دوباره
- [قلم و سبک متن](https://www.salamlang.ir/learn/css-text/): خانواده و اندازهی قلم، وزن، قلم وب، قلم متغیر، تراز، تزیین، فاصلهها، شکستن سطر، جهت متن، نوشتار عمودی، آوانما و حروفچینی فارسی، با همهی ویژگیهای قلم و متن
- [رنگ، پسزمینه و جلوهها](https://www.salamlang.ir/learn/css-backgrounds/): رنگ متن و پسزمینه، شفافیت، پسزمینهی چندلایه، رنگشیبها، جاگیری تصویر، پالایهها، حالتهای آمیختگی، ماسک، مسیر برش و متنی که دور یک شکل میپیچد
- [کادر، دورخط و سایه](https://www.salamlang.ir/learn/css-borders/): کوتاهنویسی کادر و هر سمت آن، سمتهای منطقی، گوشههای گرد، تصویر کادر، دورخط و حلقهی تمرکز، سایهی جعبه، جعبههای شکسته و شکل تازهی گوشهها
- [چیدمان: جریان، فلکس و شبکه](https://www.salamlang.ir/learn/css-layout/): جریان عادی، موقعیت و ترتیب لایه، شناوری، فلکس، شبکه، ترازبندی، متن چندستونی و صفحههای راستبهچپ، با همهی ویژگیهای چیدمان و یک نمونه برای هر کدام
- [صفحهی واکنشگرا و حالتها](https://www.salamlang.ir/learn/css-responsive/): صفحهای که در هر صفحهنمایشی جا میشود: اندازههای شناور، پرسوجوی رسانه و نگهدارنده، حالت تاریک، اشاره، تمرکز و محتوای تولیدی، و ویژگیهای اشارهگر، پیمایش و چاپ
- [گذار و پویانمایی](https://www.salamlang.ir/learn/css-motion/): حرکت روی صفحه: گذار، دگرگونی و سهبعدی، پویانمایی با قابهای کلیدی، حرکت روی مسیر، پویانمایی با پیمایش، گذار نما و احترام به کاهش حرکت
- [بقیهی CSS](https://www.salamlang.ir/learn/css-more/): فهرستها و شمارندهها، گیومه، تنظیم جدول، پیمایش چسبنده و فضای پیمایش، جایگذاری لنگری، پرکردن و خط دور در SVG، ریاضی، ترتیب خواندن و ویژگیهای دیگری که تا اینجا نیامده بودند
- [رویدادهای ماوس](https://www.salamlang.ir/learn/events-mouse/): واکنش صفحه به ماوس: نوشتن رویدادگیر، کلیک، دو کلیک، دکمههای دیگر، منوی زمینه، مکان اشارهگر، نقاشی، ورود و خروج، حباب شدن رویداد و چرخ ماوس
- [صفحهکلید و فرمها](https://www.salamlang.ir/learn/events-keys-forms/): کلیدها، فوکوس، نوشتن در کادر، انتخاب متن، ارسال، بازنشانی و وارسی فرم، حافظهی موقت، جزئیات، واشو و پنجرهی گفتگو: رویدادهای هر جای صفحه که مردم در آن تایپ میکنند
- [کشیدن، لمس، پیمایش و پنجره](https://www.salamlang.ir/learn/events-drag-touch/): کشیدن و رها کردن میان فهرستها، رویدادهای اشارهگر و لمس، رویدادهای پیمایش و پنجره، و رویدادهای بار شدن، خطا و لغو در تصویرها
- [رسانه، پویانمایی و رویدادهای دیگر](https://www.salamlang.ir/learn/events-media-more/): رویدادهای صدا و ویدیو، یک پخشکنندهی سفارشی، رویدادهای پویانمایی و گذار، تغییر شکاف، زیرنویس، از دست رفتن زمینهی بوم و نقض سیاست امنیتی
- [حالت، DOM و زمانسنجها](https://www.salamlang.ir/learn/events-dom/): اجزای یک صفحهی تعاملی چطور کنار هم مینشینند: حالت در متغیرها، خواندن و عوض کردن عنصرها، کلاس و سبک، ساختن و برداشتن عنصر، زمانسنجها، ذخیرهسازی، پنجرههای پرسش، بخشها با رویدادگیر و اشکالیابی
- [صفحههای کامل: شش پروژه](https://www.salamlang.ir/learn/web-projects/): شش صفحهی کامل که درسها را کنار هم میگذارند: صفحهی فرود، نوشتهی وبلاگ با ستون کناری، فرم عضویت با بررسی زنده، پیشخوان با نمودار میلهای CSS، فهرست کاری که به یاد میماند و آلبوم عکس با نمایش بزرگ، و اینکه برنامهی سلام چطور صفحه را میفرستد
- [واژهنامهی فارسی و انگلیسی](https://www.salamlang.ir/learn/keywords/): همهی واژههای کلیدی، گونهها، تابعها و روشهای درونساخت و ثابتهای زمان ترجمهی سلام به فارسی و انگلیسی
## کتابخانهی استاندارد
- [هسته (core)](https://www.salamlang.ir/std/core/): کوچکترین بستهی سلام؛ برای وقتی که برنامه دیگر نباید ادامه دهد.
- [ورودی خروجی (io)](https://www.salamlang.ir/std/io/): خواندن از صفحهکلید، خواندن و نوشتن پرونده و نوشتن در خروجی خطا.
- [قالب بندی (fmt)](https://www.salamlang.ir/std/fmt/): تبدیل عدد و مقدار منطقی به متن، همترازی متن و ساختن رشته از یک قالب.
- [تبدیل (conv)](https://www.salamlang.ir/std/conv/): تبدیل عدد و مقدار منطقی به متن و برعکس، با پشتیبانی از رقمهای فارسی.
- [متن (text)](https://www.salamlang.ir/std/text/): تبدیل رشته به UTF-16 و برعکس، برای کار با ویندوز و کتابخانههایی که این قالب را میخواهند.
- [نتیجه (result)](https://www.salamlang.ir/std/result/): برگرداندن «یا مقدار درست یا خطا» از یک تابع، بهجای استثنا.
- [اختیاری (option)](https://www.salamlang.ir/std/option/): مقداری که ممکن است باشد یا نباشد، بدون پوچ و بدون عددهای جادویی مثل منفی یک.
- [رشته (str)](https://www.salamlang.ir/std/str/): هر کاری که با متن دارید: جستجو، برش، جایگزینی، رقم فارسی، حروف بزرگ و کوچک و ساختن رشتههای بلند.
- [یونیکد (unicode)](https://www.salamlang.ir/std/unicode/): اطلاعات یونیکد دربارهی هر نویسه: دسته، خط، جهت نوشتن، حروف بزرگ و کوچک، تجزیه و ترکیب.
- [عربی (arabic)](https://www.salamlang.ir/std/arabic/): یکسانسازی متن فارسی و عربی: ی و ک عربی، اعراب، کشیده، نیمفاصله و رقمها؛ برای جستجو و مقایسه.
- [دوسویه (bidi)](https://www.salamlang.ir/std/bidi/): الگوریتم متن دوسویهی یونیکد: ترتیب درست نمایش وقتی فارسی و انگلیسی کنار هم میآیند.
- [عبارت باقاعده (regex)](https://www.salamlang.ir/std/regex/): جستجو و جایگزینی با الگو: پیدا کردن عدد، ایمیل یا تاریخ در متن و جدا کردن بخشهایش.
- [قالب (template)](https://www.salamlang.ir/std/template/): پر کردن قالبهای متنی و HTML با مقدارها، با گریز خودکار برای امنیت.
- [بینالمللیسازی (i18n)](https://www.salamlang.ir/std/i18n/): برنامهی چندزبانه: ترجمهی پیامها، جایگذاری مقدار در پیام و انتخاب شکل مفرد و جمع.
- [ریاضی (math)](https://www.salamlang.ir/std/math/): تابعهای ریاضی پایه: توان و ریشه، لگاریتم، مثلثات، گرد کردن، کمینه و بیشینه و ب.م.م.
- [تصادفی (rand)](https://www.salamlang.ir/std/rand/): عدد، متن و انتخاب تصادفی: تاس، رمز یکبارمصرف، شناسهی یکتا و بهم ریختن فهرست.
- [آمار (stats)](https://www.salamlang.ir/std/stats/): آمار توصیفی روی فهرستی از عددها: میانگین، میانه، واریانس، انحراف معیار و صدک.
- [نوعها (types)](https://www.salamlang.ir/std/types/): تشخیص نوع مقدار از روی متن: عدد صحیح است، اعشاری، منطقی یا متن معمولی؟
- [عدد بزرگ (bigint)](https://www.salamlang.ir/std/bigint/): عدد صحیح با اندازهی نامحدود: فاکتوریلهای بزرگ، رمزنگاری، و هر حسابی که در ۶۴ بیت جا نمیشود.
- [اعشاری (decimal)](https://www.salamlang.ir/std/decimal/): عدد اعشاری دقیق برای پول و حسابداری، بدون خطای گرد کردن ممیز شناور.
- [مرتب سازی (sort)](https://www.salamlang.ir/std/sort/): مرتب کردن وکتورها با مقایسهی پیشفرض یا دلخواه، جستجوی دودویی و دهها الگوریتم مرتبسازی برای یادگیری.
- [مجموعه ها (collections)](https://www.salamlang.ir/std/collections/): ساختمانهای داده: وکتور و نگاشت، پشته، صف، صف دوسر، مجموعه، لیست پیوندی، صف اولویتدار و شمارنده.
- [سیستم عامل (os)](https://www.salamlang.ir/std/os/): کار با پرونده، پوشه، فرمانهای سیستم، آرگومانهای برنامه و متغیرهای محیطی.
- [خطا (os/error)](https://www.salamlang.ir/std/os-error/): آخرین خطای عملیات پرونده و فرآیند: کد، پیام و مسیری که مشکل داشته.
- [سکو (os/platform)](https://www.salamlang.ir/std/os-platform/): شناختن سیستمی که برنامه روی آن اجرا میشود: سیستم عامل، معماری پردازنده، تعداد هسته و حافظه.
- [فرآیند (os/process)](https://www.salamlang.ir/std/os-process/): اجرای برنامههای دیگر، گرفتن خروجیشان، صبر برای پایانشان و متوقف کردنشان.
- [پوسته (os/shell)](https://www.salamlang.ir/std/os-shell/): اجرای فرمان و گرفتن کد خروج، خروجی و خطا با هم.
- [موقت (os/temp)](https://www.salamlang.ir/std/os-temp/): ساختن پرونده و پوشهی موقت با نام یکتا.
- [کاربر (os/user)](https://www.salamlang.ir/std/os-user/): اطلاعات کاربری که برنامه را اجرا کرده و پوشههای استاندارد او.
- [سیستم پرونده (fs)](https://www.salamlang.ir/std/fs/): زمان تغییر و دسترسی و مجوزهای پرونده؛ پایهی بستههای پرونده، پوشه و مسیر.
- [پوشه (fs/dir)](https://www.salamlang.ir/std/fs-dir/): ساختن، فهرست کردن، رونوشت، جابهجایی و حذف پوشهها.
- [پرونده (fs/file)](https://www.salamlang.ir/std/fs-file/): خواندن و نوشتن پرونده، اطلاعات پرونده، رونوشت و جابهجایی، و چکیدهی MD5 و SHA.
- [مسیر (fs/path)](https://www.salamlang.ir/std/fs-path/): کار با مسیر پروندهها: پیوند زدن، جدا کردن نام و پسوند، مسیر مطلق و نسبی و بررسی امنیت.
- [مسیر پرونده (filepath)](https://www.salamlang.ir/std/filepath/): تابعهای مسیر پرونده بدون نیاز به سیستم پرونده؛ همان کارهای بستهی مسیر.
- [محیط (env)](https://www.salamlang.ir/std/env/): متغیرهای محیطی: خواندن با گونهی درست، پروندهی .env، نمایهی اجرا و پوشاندن مقدارهای حساس.
- [پرچم (flag)](https://www.salamlang.ir/std/flag/): خواندن گزینههای خط فرمان مثل --port 8080 و -v با گونهی درست و راهنمای خودکار.
- [خط فرمان (cli)](https://www.salamlang.ir/std/cli/): برنامههای خط فرمان با چند دستور (مثل git commit)، و پرسیدن از کاربر.
- [پیکربندی (config)](https://www.salamlang.ir/std/config/): خواندن و نوشتن پروندههای تنظیمات INI، env و YAML با کلیدهای نقطهدار.
- [گزارش (log)](https://www.salamlang.ir/std/log/): ثبت رویدادهای برنامه با سطح اهمیت، پیشوند، فیلدهای ساختاریافته، قالب JSON و نوشتن در پرونده.
- [اشکال زدایی (debug)](https://www.salamlang.ir/std/debug/): ابزار پیدا کردن اشکال: ادعا، پشتهی فراخوانی دستی، ردیابی و زمانسنجی.
- [زمان اجرا (runtime)](https://www.salamlang.ir/std/runtime/): اطلاعات برنامه در حال اجرا: سیستم، حافظه، زمان فعالیت و گزینههای ساخت.
- [آزمایش (testing)](https://www.salamlang.ir/std/testing/): نوشتن آزمون برای کد: ادعاهای برابری، شمارش موفق و ناموفق و خلاصهی نهایی.
- [خطا (error)](https://www.salamlang.ir/std/error/): خطاهای ساختاریافته با نوع، پیام، زنجیرهی علت، فراداده و سیاست تلاش دوباره.
- [حافظه (mem)](https://www.salamlang.ir/std/mem/): کار مستقیم با حافظه: تخصیص و آزادسازی، رونوشت، قلمرو و استخر، و بررسی نشتی.
- [پایانه (term)](https://www.salamlang.ir/std/term/): رنگ و سبک متن، حرکت مکاننما، نوار پیشرفت، خواندن کلید و موشواره، و اندازهی پایانه.
- [زمان (time)](https://www.salamlang.ir/std/time/): ساعت فعلی، مدت، قالببندی و خواندن تاریخ، ساعت یکنواخت، زمانسنج و تیکزن.
- [تقویم (calendar)](https://www.salamlang.ir/std/calendar/): تقویم جلالی، هجری قمری و میلادی: تبدیل، حساب روزها، نام ماهها و منطقههای زمانی.
- [نخ (thread)](https://www.salamlang.ir/std/thread/): نگهداشتن و منتظر ماندن برای نخهایی که با spawn ساخته میشوند.
- [همگام سازی (sync)](https://www.salamlang.ir/std/sync/): قفل، متغیر شرط، گروه انتظار، قفل خواندن و نوشتن، نشانگر و «یک بار» برای هماهنگ کردن نخها.
- [اتمی (atomic)](https://www.salamlang.ir/std/atomic/): شمارنده و پرچمی که چند نخ بدون قفل گرفتن دستی میتوانند با خیال راحت تغییرشان دهند.
- [کانال (chan)](https://www.salamlang.ir/std/chan/): کانال برای فرستادن مقدار از یک نخ به نخ دیگر، با بافر، مهلت و بستن.
- [استخر (pool)](https://www.salamlang.ir/std/pool/): اجرای موازی یک حلقه روی چند هستهی پردازنده.
- [زمینه (ctx)](https://www.salamlang.ir/std/ctx/): زمینه برای لغو کار و مهلت، که از کار اصلی به کارهای فرعی میرسد.
- [کدگذاری (encoding)](https://www.salamlang.ir/std/encoding/): تبدیل متن و داده به پایه۶۴، شانزدهشانزدهی و کدگذاری نشانی وب.
- [جیسون (encoding/json)](https://www.salamlang.ir/std/encoding-json/): ساختن و خواندن جیسون: از رشتهی ساده تا تبدیل خودکار ساختارها و خواندن جریانی.
- [یامل (encoding/yaml)](https://www.salamlang.ir/std/encoding-yaml/): خواندن یامل با مسیر، ساختن و نوشتن آن، و تبدیل به جیسون.
- [سی اس وی (encoding/csv)](https://www.salamlang.ir/std/encoding-csv/): خواندن و نوشتن پروندههای CSV، با نقلقول درست و تبدیل به مقدار پویا.
- [تامل (encoding/toml)](https://www.salamlang.ir/std/encoding-toml/): خواندن و نوشتن پروندههای پیکربندی TOML.
- [نشانی وب (encoding/url)](https://www.salamlang.ir/std/encoding-url/): تجزیهی نشانی وب به بخشهایش، ساختن و ویرایش پارامترها و پیوستن نشانیهای نسبی.
- [پرسوجو (encoding/query)](https://www.salamlang.ir/std/encoding-query/): خواندن و ساختن رشتهی پرسوجوی نشانی وب، مثل q=سلام&page=2.
- [پرونده محیط (encoding/envfile)](https://www.salamlang.ir/std/encoding-envfile/): خواندن و نوشتن پروندههای .env با جایگذاری متغیرها.
- [مقدار (encoding/value)](https://www.salamlang.ir/std/encoding-value/): مقدار پویا برای دادهای که شکلش را از پیش نمیدانید؛ زبان مشترک همهی قالبهای این گروه.
- [تبدیل قالب (encoding/serde)](https://www.salamlang.ir/std/encoding-serde/): تشخیص قالب یک متن و تبدیل مستقیم جیسون، یامل، تامل، اکسامال و سی اس وی به یکدیگر.
- [خطای کدگذاری (encoding/encerr)](https://www.salamlang.ir/std/encoding-encerr/): خطای مشترک خواندن قالبها: نوع خطا، پیام و جای آن در متن.
- [مسجپک (encoding/msgpack)](https://www.salamlang.ir/std/encoding-msgpack/): قالب دودویی و فشردهی MessagePack برای مقدارهای پویا.
- [دودویی (encoding/binary)](https://www.salamlang.ir/std/encoding-binary/): نوشتن و خواندن عددها به شکل بایت، با ترتیب بزرگانتها یا کوچکانتها.
- [اکسامال (encoding/xml)](https://www.salamlang.ir/std/encoding-xml/): خواندن، ساختن و نوشتن اکسامال، با XPath، اعتبارسنجی DTD، فضای نام و یک رابط سادهی سبک.
- [پروتوباف (encoding/protobuf)](https://www.salamlang.ir/std/encoding-protobuf/): خواندن پروندههای .proto، کدگذاری سیمی Protocol Buffers و ساختن کد سلام از آنها.
- [فشرده سازی (compress)](https://www.salamlang.ir/std/compress/): بافر بایت، روشهای فشردهسازی از RLE تا DEFLATE، جیزیپ و چکجمعها.
- [بایگانی (archive)](https://www.salamlang.ir/std/archive/): ساختن و بازکردن بایگانیهای زیپ و تار، خواندن RAR و فشردهسازی پرونده با جیزیپ.
- [انپیوای (npy)](https://www.salamlang.ir/std/npy/): خواندن و نوشتن پروندههای .npy و .npz نامپای.
- [اکسل (excel)](https://www.salamlang.ir/std/excel/): خواندن و نوشتن صفحهگستردههای اکسل (xlsx)، اوپنداکیومنت (ods) و CSV: برگه، سلول، سبک، فرمول و تاریخ.
- [داده (data)](https://www.salamlang.ir/std/data/): خواندن داده برای یادگیری ماشین: جدول CSV، دستهبندی نمونهها، MNIST و تصویر، و دادهی مصنوعی.
- [تی سی پی (net/tcp)](https://www.salamlang.ir/std/net-tcp/): سرور و کارخواه TCP: گوش دادن، وصل شدن، خواندن و نوشتن، TLS و استخر اتصال.
- [یو دی پی (net/udp)](https://www.salamlang.ir/std/net-udp/): فرستادن و گرفتن بستههای UDP، با پخش همگانی و چندپخشی.
- [دیاناس (net/dns)](https://www.salamlang.ir/std/net-dns/): پیدا کردن نشانی نامها و پرسیدن هر نوع رکورد DNS.
- [مایم (net/mime)](https://www.salamlang.ir/std/net-mime/): نوع رسانهی پروندهها، سرآیند Content-Type و بدنهی چندبخشی فرم.
- [پراکسی (net/proxy)](https://www.salamlang.ir/std/net-proxy/): وصل شدن از راه پراکسی HTTP یا SOCKS5، تنها یا زنجیرهای.
- [مسیریاب (net/router)](https://www.salamlang.ir/std/net-router/): مسیریابی درخواستهای HTTP با پارامتر، گروه و پروندههای ایستا.
- [پست الکترونیک (net/email)](https://www.salamlang.ir/std/net-email/): فرستادن ایمیل با SMTP و خواندن آن با IMAP و POP3.
- [وبسوکت (net/websocket)](https://www.salamlang.ir/std/net-websocket/): اتصال دوطرفهی همیشهباز میان مرورگر و سرور، با اتاقها برای پخش پیام.
- [اچ تی تی پی (net/http)](https://www.salamlang.ir/std/net-http/): سرور و کارخواه HTTP: گردانندهها، پاسخ متنی و جیسون، کوکی و فرستادن درخواست.
- [میان افزار (net/http/middleware)](https://www.salamlang.ir/std/net-http-middleware/): سرآیندهای رایج امنیت، کش و CORS و ثبت درخواستها، در یک صدا زدن.
- [اعتبارسنجی (net/http/validate)](https://www.salamlang.ir/std/net-http-validate/): بررسی ورودی فرمها و پاسخ خطای ۴۰۰.
- [نشست (net/http/session)](https://www.salamlang.ir/std/net-http-session/): نشست کاربر با کوکی: نگه داشتن داده میان درخواستها و توکن CSRF.
- [سواگر (net/http/swagger)](https://www.salamlang.ir/std/net-http-swagger/): نوشتن مستندات OpenAPI برای API و نمایش صفحهی مستندات.
- [اچ تی تی پی۲ (net/http2)](https://www.salamlang.ir/std/net-http2/): پروتکل HTTP/2 از پایه: قابها، فشردهسازی سرآیند HPACK و جریانها.
- [سوکتآیاو (net/socketio)](https://www.salamlang.ir/std/net-socketio/): کارخواه Socket.IO: رویدادها، تایید، فضای نام و اتصال دوبارهی خودکار.
- [دام (dom)](https://www.salamlang.ir/std/dom/): کار با صفحهی وب در مرورگر: عنصرها، رویدادها، زمانسنجها و اشیای جاوااسکریپت.
- [بوم (web/canvas)](https://www.salamlang.ir/std/web-canvas/): رسم شکل، متن و تصویر روی عنصر canvas در مرورگر.
- [کلیدها (web/keys)](https://www.salamlang.ir/std/web-keys/): وضعیت صفحهکلید برای بازیهای مرورگری.
- [اعلان وب (webpush)](https://www.salamlang.ir/std/webpush/): فرستادن اعلان به مرورگرها از سرور، با کلیدهای VAPID و رمزنگاری استاندارد.
- [رمزنگاری (crypto)](https://www.salamlang.ir/std/crypto/): چکیدهی SHA و MD5، امضای HMAC، عدد تصادفی امن و درهم کردن گذرواژه.
- [جی دبلیو تی (jwt)](https://www.salamlang.ir/std/jwt/): ساختن و بررسی توکن JWT و محافظت از مسیرهای API.
- [تی ال اس (tls)](https://www.salamlang.ir/std/tls/): اتصال امن TLS 1.3 و 1.2 و ابزارهای رمزنگاری کلید عمومی، بینیاز از OpenSSL.
- [اس اس ال (ssl)](https://www.salamlang.ir/std/ssl/): رابط آشنای سبک OpenSSL برای اتصال امن، روی تی ال اس خود سلام.
- [اس اس اچ (ssh)](https://www.salamlang.ir/std/ssh/): اتصال SSH، اجرای فرمان روی سرور و کار با پروندهها با SFTP.
- [افتیپی (ftp)](https://www.salamlang.ir/std/ftp/): کارخواه FTP و FTPS: فهرست پوشه، بارگذاری و دریافت پرونده.
- [فراخوان دور (rpc)](https://www.salamlang.ir/std/rpc/): JSON-RPC 2.0 و MessagePack-RPC: سرور، کارخواه و ثبت متدها.
- [جی آر پی سی (grpc)](https://www.salamlang.ir/std/grpc/): سرور و کارخواه gRPC روی HTTP/2: فراخوان ساده و جریانی، فراداده و کدهای وضعیت.
- [اس کیو ال (db/sql)](https://www.salamlang.ir/std/db-sql/): خواندن، بررسی و گونهیابی SQL بدون پایگاه داده: تجزیهگر آگاه از گویش، فهرست جدولها و جانگهدارهای گونهدار.
- [دیتابیس (db)](https://www.salamlang.ir/std/db/): رابط مشترک پایگاههای داده، مهاجرت ساختار و استخر اتصال.
- [اس کیو لایت (db/sqlite)](https://www.salamlang.ir/std/db-sqlite/): پایگاه دادهی SQLite در یک پرونده یا در حافظه.
- [مای اس کیو ال (db/mysql)](https://www.salamlang.ir/std/db-mysql/): اتصال به MySQL و MariaDB.
- [پستگرس (db/postgres)](https://www.salamlang.ir/std/db-postgres/): کارخواه PostgreSQL نوشتهشده با خود سلام: رشتهی اتصال و نشانی، TLS، پرسمان، تراکنش، استخر اتصال و مهاجرت.
- [ردیس (db/redis)](https://www.salamlang.ir/std/db-redis/): کارخواه Redis: کلید و مقدار، هش، لیست، مجموعه و انتشار.
- [تایپسنس (db/typesense)](https://www.salamlang.ir/std/db-typesense/): کارخواه Typesense: مجموعه، سند، جستجوی مقاوم در برابر غلط تایپی، دستهبندیشده، گروهی، برداری و اجتماعی، مترادف، گزینش، کلیدهای API، تحلیل و خوشه.
- [الستیک سرچ (db/elasticsearch)](https://www.salamlang.ir/std/db-elasticsearch/): کارخواه الستیک سرچ و OpenSearch: سند، جستجو، تجمیع، بارگذاری دستهای، اس کیو ال و مدیریت نمایه.
- [میلیسرچ (db/meilisearch)](https://www.salamlang.ir/std/db-meilisearch/): کارخواه Meilisearch: نمایه، سند، جستجوی متنی، وجهی، ترکیبی و فدرال، تنظیمات، کارها و کلیدهای API.
- [اپن سرچ (db/opensearch)](https://www.salamlang.ir/std/db-opensearch/): کارخواه OpenSearch: سند، دستهای، زبان پرسمان، تجمیع، پیمایش و نقطهی زمانی، مدیریت نمایه، SQL و PPL، جستجوی برداری k-NN، سیاست ISM، امنیت و امضای AWS.
- [گرافکیوال (graphql)](https://www.salamlang.ir/std/graphql/): سرور GraphQL: طرحواره، حلکنندهها، اجرای پرسمان و رسیدگی به HTTP.
- [گوگل (google)](https://www.salamlang.ir/std/google/): احراز هویت حساب سرویس گوگل برای APIهای گوگل.
- [بات (telegram/bot)](https://www.salamlang.ir/std/telegram-bot/): ساختن بات با Bot API: پیام، دکمه، وبهوک و حلقهی دریافت.
- [نود (node)](https://www.salamlang.ir/std/node/): برنامهی سلام در Node.js: ماژولها، پروندهها، فرایندها و اشیای جاوااسکریپت.
- [ای دبلیو اس (aws)](https://www.salamlang.ir/std/aws/): Amazon S3، SQS و STS و هر سرویس سازگار با S3، با امضای نسخهی ۴.
- [ال ال وی ام (llvm)](https://www.salamlang.ir/std/llvm/): ساختن، بهینهسازی، اجرا و پیوند کد با LLVM.
- [سهگانه هدف (llvm/triple)](https://www.salamlang.ir/std/llvm-triple/): آرایش داده و ویژگیهای هدف از روی سهتایی، بی نیاز به LLVM.
- [بهینهسازی (optim)](https://www.salamlang.ir/std/optim/): بهینهسازهای شبکهی عصبی: SGD، آدام، RMSProp و زمانبندی نرخ یادگیری.
- [اونیکس (onnx)](https://www.salamlang.ir/std/onnx/): خواندن و اجرای مدلهای ONNX بی وابستگی بیرونی.
- [جیجییواف (gguf)](https://www.salamlang.ir/std/gguf/): خواندن پروندههای مدل GGUF، قالب llama.cpp.
- [نمایش وب (webview)](https://www.salamlang.ir/std/webview/): برنامهی دسکتاپ با رابط HTML در پنجرهی بومی.
- [تانسور (tensor)](https://www.salamlang.ir/std/tensor/): آرایههای چندبعدی و عملیات عددی برای یادگیری ماشین.
- [مشتقگیری خودکار (autograd)](https://www.salamlang.ir/std/autograd/): مشتقگیری خودکار معکوس برای آموزش مدلها.
- [شبکه عصبی (nn)](https://www.salamlang.ir/std/nn/): لایههای شبکهی عصبی: خطی، پیچشی، بازگشتی، ترنسفورمر و نقطهی بازرسی.
- [مدل زبانی بزرگ (llm)](https://www.salamlang.ir/std/llm/): اجرای مدلهای زبانی Llama و Qwen از پروندهی GGUF.
- [ماتریس (matrix)](https://www.salamlang.ir/std/matrix/): جبر خطی: ماتریس، دستگاه معادلات، تجزیهها، مقادیر ویژه و آمار.
- [تصویر (image)](https://www.salamlang.ir/std/image/): خواندن، ویرایش و ذخیرهی تصویر و نوشتن متن فارسی روی آن.
- [گراف (graph)](https://www.salamlang.ir/std/graph/): نظریهی گراف: پیمایش، کوتاهترین مسیر، درخت پوشا، شار، رنگآمیزی، جامعهها و مرکزیت.
- [یادگیری ماشین (ml)](https://www.salamlang.ir/std/ml/): یادگیری ماشین کلاسیک: پیشپردازش، رگرسیون، دستهبندی، درخت، خوشهبندی و ارزیابی.
- [اپنسیوی (opencv)](https://www.salamlang.ir/std/opencv/): بینایی ماشین با OpenCV: پردازش تصویر، ویژگیها، تشخیص چهره، شبکهی عصبی و ویدیو.
- [صدا (audio)](https://www.salamlang.ir/std/audio/): صدا به شکل قطعهای از نمونهها: بریدن، آمیختن، سنجیدن و برگرداندن آن.
- [صدا/ویو (audio/wav)](https://www.salamlang.ir/std/audio-wav/): خواندن و نوشتن پروندههای ویو: پیسیام، اعشاری، ایلا و میولا.
- [صدا/پردازش سیگنال (audio/dsp)](https://www.salamlang.ir/std/audio-dsp/): تبدیل فوریه، پنجرهها، صافیها و بازنمونهگیری برای صدا.
- [صدا/کدک (audio/codec)](https://www.salamlang.ir/std/audio-codec/): باز کردن و ذخیره پرونده صدا بی آنکه قالبش را نام ببرید.
- [صدا/ایف (audio/aiff)](https://www.salamlang.ir/std/audio-aiff/): خواندن و نوشتن پروندههای ایف و ایفسی.
- [صدا/اییو (audio/au)](https://www.salamlang.ir/std/audio-au/): خواندن و نوشتن قالب اییوی سان و نکست.
- [صدا/فلاک (audio/flac)](https://www.salamlang.ir/std/audio-flac/): فشردهسازی بیاتلاف: خواندن و نوشتن فلاک.
- [صدا/برچسب صدا (audio/tag)](https://www.salamlang.ir/std/audio-tag/): خواندن و نوشتن برچسبهای یک ترانه: عنوان، هنرمند، آلبوم و تصویر جلد.
- [صدا/موسیقی (audio/music)](https://www.salamlang.ir/std/audio-music/): نتها، گامها، آکوردها و کوکها، دستگاههای ایرانی در میانشان.
- [صدا/صداساز (audio/synth)](https://www.salamlang.ir/std/audio-synth/): ساختن صدا از هیچ: نوسازها، پوششها و صداها.
- [صدا/میدی (audio/midi)](https://www.salamlang.ir/std/audio-midi/): خواندن، نوشتن و نواختن پروندههای میدی استاندارد.
- [صدا/امپیتری (audio/mp3)](https://www.salamlang.ir/std/audio-mp3/): خواندن فریمها، سرآیندها و برچسبهای نرخ متغیر یک پرونده امپیتری.
## برای عاملهای هوش مصنوعی
- [همهی مستندات در یک فایل](https://www.salamlang.ir/llms-full.txt): همهی درسها و همهی صفحههای کتابخانهی استاندارد به صورت متن ساده، برای بارگذاری در کانتکست مدل.
- [اسکیل سلام برای عاملها (SKILL.md)](https://raw.githubusercontent.com/SalamLang/Salam/main/SKILL.md): مرجع بهروز نوشتن و تبدیل کد به سلام: نحو فعلی زبان به فارسی و انگلیسی، کتابخانهی استاندارد، قاعدههای سختگیرانهی کامپایلر و زبان صفحه. آن را به عنوان اسکیل در Claude Code یا هر عاملی که فایل SKILL.md میخواند نصب کنید.
- [افزونهی Claude Code](https://github.com/SalamLang/Salam/tree/main/tools/mcp/claude-plugin): افزونهای با اسکیل سلام و فرمانهایی برای بررسی، اجرا و جستوجوی API کد سلام.
- [سرور MCP](https://github.com/SalamLang/Salam/tree/main/tools/mcp): سروری برای پروتکل Model Context Protocol که به خود زبان سلام نوشته شده و کامپایلر (بررسی، ساخت، اجرا، قالببندی) و فهرست واقعی کتابخانهی استاندارد را در اختیار مدل میگذارد.
## Optional
- [کد منبع در گیتهاب](https://github.com/SalamLang/Salam)
- [نسخهها و دانلود](https://github.com/SalamLang/Salam/releases)
- [ویرایشگر آنلاین](https://editor.salamlang.ir)